1
0
Fork 0
mirror of https://github.com/activerecord-hackery/ransack.git synced 2022-11-09 13:47:45 -05:00
activerecord-hackery--ransack/lib/ransack/adapters.rb

65 lines
1.5 KiB
Ruby
Raw Normal View History

2015-05-22 11:00:03 -04:00
module Ransack
module Adapters
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
def self.instantiate_object_mapper
if defined?(::ActiveRecord::Base)
ActiveRecordAdapter.new
elsif defined?(::Mongoid)
MongoidAdapter.new
else
raise "Unsupported adapter"
end
end
class ActiveRecordAdapter
def require_constants
require 'ransack/adapters/active_record/ransack/constants'
end
2015-05-22 11:00:03 -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
def require_context
require 'ransack/adapters/active_record/ransack/visitor'
2015-05-22 11:00:03 -04:00
end
def require_nodes
require 'ransack/adapters/active_record/ransack/nodes/condition'
end
def require_search
require 'ransack/adapters/active_record/ransack/context'
end
2015-05-22 11:00:03 -04:00
end
class MongoidAdapter
def require_constants
require 'ransack/adapters/mongoid/ransack/constants'
end
def require_adapter
require 'ransack/adapters/mongoid/ransack/translate'
require 'ransack/adapters/mongoid'
end
2015-05-22 11:00:03 -04:00
def require_context
require 'ransack/adapters/mongoid/ransack/visitor'
end
def require_nodes
require 'ransack/adapters/mongoid/ransack/nodes/condition'
end
def require_search
require 'ransack/adapters/mongoid/ransack/context'
end
2015-05-22 11:00:03 -04:00
end
end
end