Hi, I''ve been trying to learn about plugins by reading plugin source files where I can find them. I feel like the fog is clearing a little. Is it true that a plugin can be used to modify any part of the Rails core? If so, how can I do it? For example, say I want to create a plugin in vendor/plugin/new_error parts of ActiveRecord''s Errors class. Trimmed down from ActiveRecord it has this: module ActiveRecord class Errors @@default_error_messages = { :inclusion => "is not included in the list", :exclusion => "is reserved", :invalid => "is invalid" } def add_to_base(msg) add(:base, msg) end end end and say I want to change it to this (I know, silly example): module ActiveRecord class Errors @@default_error_messages = { :inclusion => "is not included in the list, idiot", :exclusion => "is reserved, ignoramus" } def add_to_base(msg) foo = msg add(:base, foo) end end end Would I need to have a vendor/plugin/new_error/init.rb file? What would it say? Would vendor/plugin/new_error/lib/new_error.rb simply be what I want above? Thanks, Peter _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails
hey everyone, i read this article: http://www.bitslapped.nl/articles/2005/06/05/rails-on-windows-2003 but am still unable to get RoR working on win2k3/iis6. i can confirm that my app is working with WEBrick, but whenever i try to access it with IIS, i get a 404 error. i am pretty sure i have everything configured correctly. anyone have any tips to get this running? thanks a lot! steve
In your init.rb file, you should require your new_error.rb file, and that should be all you need. I.e. vendor/plugins/new_error/init.rb: require ''new_error'' # note no ''lib/'' here vendor/plugins/new_error/lib/new_error.rb module ActiveRecord class Errors @@default_error_messages = { :inclusion => "is not included in the list, idiot", :exclusion => "is reserved, ignoramus" } def add_to_base(msg) foo = msg add(:base, foo) end end end ... and that should do the trick. Plugin code is (almost) the last thing to load, so you can quite easily use it to hack about with Rails internals (as I do to a small degree with the Engines plugin). Hope this helps - James On 11/22/05, Peter Michaux <petermichaux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi, > > I''ve been trying to learn about plugins by reading plugin source files > where I can find them. I feel like the fog is clearing a little. Is it true > that a plugin can be used to modify any part of the Rails core? If so, how > can I do it? For example, say I want to create a plugin in > vendor/plugin/new_error parts of ActiveRecord''s Errors class. > > Trimmed down from ActiveRecord it has this: > > module ActiveRecord > class Errors > @@default_error_messages = { > :inclusion => "is not included in the list", > :exclusion => "is reserved", > :invalid => "is invalid" > } > > def add_to_base(msg) > add(:base, msg) > end > end > end > > and say I want to change it to this (I know, silly example): > > module ActiveRecord > class Errors > @@default_error_messages = { > :inclusion => "is not included in the list, idiot", > :exclusion => "is reserved, ignoramus" > } > > def add_to_base(msg) > foo = msg > add(:base, foo) > end > end > end > > Would I need to have a vendor/plugin/new_error/init.rb file? What would it > say? > > Would vendor/plugin/new_error/lib/new_error.rb simply be > what I want above? > > Thanks, > Peter > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >
Quick tip, delete all the log files in your app and restart IIS (not just the site your app is using, the whole thing). Do you get log files generated again? If so you''re headed in the right direction. You should have the environmnet log, and a couple fast-cgi logs generated. Let us know if you get these or not and we can go from there. :) -Nick On 11/21/05, Stephen Karsch <steve-YHcZVUo8PusupyLQ5gChsQ@public.gmane.org> wrote:> hey everyone, > i read this article: > http://www.bitslapped.nl/articles/2005/06/05/rails-on-windows-2003 > but am still unable to get RoR working on win2k3/iis6. i can confirm > that my app is working with WEBrick, but whenever i try to access it > with IIS, i get a 404 error. i am pretty sure i have everything > configured correctly. > anyone have any tips to get this running? > thanks a lot! > steve > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
ok, did that. now i''m getting "Server Error, unable to connect to fastcgi server." and no logs have been created in the log dir. thanks for the tip...i guess i messed something up along the way while configuring fastCGI? Nick Stuart wrote:> Quick tip, delete all the log files in your app and restart IIS (not > just the site your app is using, the whole thing). Do you get log > files generated again? If so you''re headed in the right direction. You > should have the environmnet log, and a couple fast-cgi logs generated. > > Let us know if you get these or not and we can go from there. :) > > -Nick > > On 11/21/05, Stephen Karsch <steve-YHcZVUo8PusupyLQ5gChsQ@public.gmane.org> wrote: >> hey everyone, >> i read this article: >> http://www.bitslapped.nl/articles/2005/06/05/rails-on-windows-2003 >> but am still unable to get RoR working on win2k3/iis6. i can confirm >> that my app is working with WEBrick, but whenever i try to access it >> with IIS, i get a 404 error. i am pretty sure i have everything >> configured correctly. >> anyone have any tips to get this running? >> thanks a lot! >> steve >> >> _______________________________________________ >> Rails mailing list >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails
I''m having troubles getting this to work. I have the following files and reboot WEBrick but I do not see my redefined error messages. Any ideas? Thanks, Peter = vendor/plugins/new_error/init.rb: require ''new_error'' # note no ''lib/'' or ''.rb'' here = vendor/plugins/new_error/lib/new_error.rb module ActiveRecord class Errors @@default_error_messages = { :inclusion => "pm is not included in the list", :exclusion => "pm is reserved", :invalid => "pm is invalid", :confirmation => "pm doesn''t match confirmation", :accepted => "pm must be accepted", :empty => "pm can''t be empty", :blank => "pm can''t be blank", :too_long => "pm is too long (max is %d characters)", :too_short => "pm is too short (min is %d characters)", :wrong_length => "pm is the wrong length (should be %d characters)", :taken => "pm has already been taken", :not_a_number => "pm is not a number" } end end _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails
Do I have to make a reference to the plugin somewhere in my app to make sure that the plugin loads? I thought plugins were supposed to be auto loading. (If I put the vendor/plugins/new_error/lib/new_error.rb code in application_controller.rb then I do see the new error messages. So the plugin is not loading.) Thanks, Peter _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails
It works just fine. Even though I am using Rails 14.3 the project was generated with a Rails version less than 0.14 so the plugins didn''t work. I didn''t know the Rails version generating the app mattered. I genrated a new app and tried again and everything worked as expected. -Peter _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails
You can also updgrade existing apps. From your current apps directory just run `rails .` and it will go through and update stuff. Becareful with this though, as it will override most of your config files. On 11/22/05, Peter Michaux <petermichaux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > It works just fine. Even though I am using Rails 14.3 the project was > generated with a Rails version less than 0.14 so the plugins didn''t work. > I didn''t know the Rails version generating the app mattered. I genrated a > new app and tried again and everything worked as expected. > > -Peter > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >_______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails