How does the lib folder work in Rails 3?
In Rails 2.x you would add require statements in application.rb, fx:
/lib blip.rb
# blip.rb puts "BLIP"
# application.rb ... require 'blip'
How does the lib folder work in Rails 3?
In Rails 2.x you would add require statements in application.rb, fx:
/lib blip.rb
# blip.rb puts "BLIP"
# application.rb ... require 'blip'
OK, it seems it works using autoload, being lazy loaded when accessed. But what if I want to force it to be loaded when rails starts? Appending a require 'blip' in application.rb I am told no such file exists!? Would I have to insert it in an initializer?
# lib/blip.rb
puts "Blip loaded!" class Blip def self.blip puts "Blip Blip!" end end
$ rails console Creating Devise.mapping methods for user Loading development environment (Rails 3.0.0.beta3) ruby-1.9.2-head > Blip.blip Blip loaded! Blip Blip! => nil ruby-1.9.2-head >
Yes, it worked by inserting the require statements in the initializers.