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