If you try to use will_paginate in a Rails project that does not use ActiveRecord, for example:
Rails::Initializer.run do |config|
#
-
Project is not currently using a database, so...
config.frameworks -= [ :active_record ]
end
your the server will die on startup with this error:
/Users/lori/Documents/workspaces/codegear/qconrails/vendor/rails/activesupport/lib/active_support/dependencies.rb:413:in `to_constant_name': Anonymous modules have no name to be referenced by (ArgumentError)
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/rails/activesupport/lib/active_support/dependencies.rb:225:in `qualified_name_for'
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/rails/activesupport/lib/active_support/dependencies.rb:490:in `const_missing'
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/plugins/will_paginate/lib/will_paginate.rb:32:in `enable_activerecord'
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/plugins/will_paginate/lib/will_paginate.rb:15:in `enable'
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/plugins/will_paginate/init.rb:2:in `evaluate_init_rb'
from /Users/lori/Documents/workspaces/codegear/qconrails/script/../config/../vendor/rails/railties/lib/rails/plugin.rb:95:in `evaluate_init_rb'
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
from /Users/lori/Documents/workspaces/codegear/qconrails/script/../config/../vendor/rails/railties/lib/rails/plugin.rb:91:in `evaluate_init_rb'
... 35 levels...
from /Users/lori/Documents/workspaces/codegear/qconrails/vendor/rails/railties/lib/commands/server.rb:39
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /Users/lori/Documents/workspaces/codegear/qconrails/script/server:3
I don't really have a patch, because I couldn't figure out how to write a test for it. I worked around the problem by commenting out "enable_activerecord"
module WillPaginate
class << self
-
shortcut for enable_actionpack; enable_activerecord
def enable
enable_actionpack
-
enable_activerecord
end