12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- module Kaminari
- def self.frameworks
- frameworks = []
- case
- when rails? then frameworks << 'rails'
- when sinatra? then frameworks << 'sinatra/base'
- end
- frameworks
- end
- def self.load_framework!
- show_warning if frameworks.empty?
- frameworks.each do |framework|
- begin
- require framework
- rescue NameError => e
- raise "Failed to load framework #{framework.inspect}. Have you added it to Gemfile?"
- end
- end
- end
- def self.show_warning
- $stderr.puts <<-EOC
- warning: no framework detected.
- would you check out if your Gemfile appropriately configured?
- ---- e.g. ----
- when Rails:
- gem 'rails'
- gem 'kaminari'
- when Sinatra/Padrino:
- gem 'kaminari', :require => 'kaminari/sinatra'
- EOC
- end
- def self.load_kaminari!
- require 'kaminari/config'
- require 'kaminari/helpers/action_view_extension'
- require 'kaminari/helpers/paginator'
- require 'kaminari/models/page_scope_methods'
- require 'kaminari/models/configuration_methods'
- end
- def self.hook!
- load_framework!
- load_kaminari!
- require 'kaminari/hooks'
- if rails?
- require 'kaminari/railtie'
- require 'kaminari/engine'
- elsif sinatra?
- require 'kaminari/sinatra'
- else
- Kaminari::Hooks.init!
- end
- end
- def self.load!
- hook!
- end
- private
- def self.rails?
- defined?(::Rails)
- end
- def self.sinatra?
- defined?(::Sinatra)
- end
- end
- Kaminari.load!
|