2015-05-22 15:00:03 +00:00
|
|
|
module Ransack
|
|
|
|
module Adapters
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def self.object_mapper
|
|
|
|
@object_mapper ||= instantiate_object_mapper
|
2015-05-22 15:00:03 +00:00
|
|
|
end
|
2016-04-04 09:29:49 +00:00
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def self.instantiate_object_mapper
|
|
|
|
if defined?(::ActiveRecord::Base)
|
|
|
|
ActiveRecordAdapter.new
|
|
|
|
elsif defined?(::Mongoid)
|
|
|
|
MongoidAdapter.new
|
2017-01-27 08:14:01 +00:00
|
|
|
else
|
|
|
|
raise "Unsupported adapter"
|
2016-04-04 16:01:12 +00:00
|
|
|
end
|
2016-04-05 09:09:21 +00:00
|
|
|
end
|
2016-04-04 16:01:12 +00:00
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
class ActiveRecordAdapter
|
|
|
|
def require_constants
|
2016-04-04 16:01:12 +00:00
|
|
|
require 'ransack/adapters/active_record/ransack/constants'
|
|
|
|
end
|
2015-05-22 15:00:03 +00:00
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_adapter
|
2015-05-22 15:00:03 +00:00
|
|
|
require 'ransack/adapters/active_record/ransack/translate'
|
|
|
|
require 'ransack/adapters/active_record'
|
|
|
|
end
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_context
|
|
|
|
require 'ransack/adapters/active_record/ransack/visitor'
|
2015-05-22 15:00:03 +00:00
|
|
|
end
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_nodes
|
|
|
|
require 'ransack/adapters/active_record/ransack/nodes/condition'
|
2016-04-04 16:01:12 +00:00
|
|
|
end
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_search
|
|
|
|
require 'ransack/adapters/active_record/ransack/context'
|
2016-04-04 16:01:12 +00:00
|
|
|
end
|
2015-05-22 15:00:03 +00:00
|
|
|
end
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
class MongoidAdapter
|
|
|
|
def require_constants
|
|
|
|
require 'ransack/adapters/mongoid/ransack/constants'
|
2016-04-04 16:01:12 +00:00
|
|
|
end
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_adapter
|
|
|
|
require 'ransack/adapters/mongoid/ransack/translate'
|
|
|
|
require 'ransack/adapters/mongoid'
|
2016-04-04 16:01:12 +00:00
|
|
|
end
|
2015-05-22 15:00:03 +00:00
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_context
|
|
|
|
require 'ransack/adapters/mongoid/ransack/visitor'
|
|
|
|
end
|
|
|
|
|
|
|
|
def require_nodes
|
|
|
|
require 'ransack/adapters/mongoid/ransack/nodes/condition'
|
2016-04-04 16:01:12 +00:00
|
|
|
end
|
|
|
|
|
2016-04-05 09:09:21 +00:00
|
|
|
def require_search
|
2016-04-04 16:01:12 +00:00
|
|
|
require 'ransack/adapters/mongoid/ransack/context'
|
|
|
|
end
|
2015-05-22 15:00:03 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|