lib/ransack/adapters/mongoid/base.rb in ransack-1.7.0 vs lib/ransack/adapters/mongoid/base.rb in ransack-1.8.0
- old
+ new
@@ -31,10 +31,18 @@
name
end
end
module ClassMethods
+ def _ransack_aliases
+ @_ransack_aliases ||= {}
+ end
+
+ def _ransack_aliases=(value)
+ @_ransack_aliases = value
+ end
+
def _ransackers
@_ransackers ||= {}
end
def _ransackers=(value)
@@ -47,17 +55,22 @@
|k, v| v.blank? && v != false } : params, options)
end
alias_method :search, :ransack
+ def ransack_alias(new_name, old_name)
+ self._ransack_aliases.store(new_name.to_s, old_name.to_s)
+ end
+
def ransacker(name, opts = {}, &block)
self._ransackers = _ransackers.merge name.to_s => Ransacker
.new(self, name, opts, &block)
end
def all_ransackable_attributes
- ['id'] + column_names.select { |c| c != '_id' } + _ransackers.keys
+ ['id'] + column_names.select { |c| c != '_id' } + _ransackers.keys +
+ _ransack_aliases.keys
end
def ransackable_attributes(auth_object = nil)
all_ransackable_attributes
end
@@ -71,11 +84,13 @@
def ransackable_associations(auth_object = nil)
reflect_on_all_associations_all.map { |a| a.name.to_s }
end
def reflect_on_all_associations_all
- reflect_on_all_associations(:belongs_to, :has_one, :has_many, :embeds_many, :embedded_in)
+ reflect_on_all_associations(
+ :belongs_to, :has_one, :has_many, :embeds_many, :embedded_in
+ )
end
# For overriding with a whitelist of symbols
def ransackable_scopes(auth_object = nil)
[]
@@ -114,13 +129,13 @@
def columns_hash
columns.index_by(&:name)
end
def table
- name = ::Ransack::Adapters::Mongoid::Attributes::Attribute.new(self.criteria, :name)
- {
- :name => name
- }
+ name = ::Ransack::Adapters::Mongoid::Attributes::Attribute.new(
+ self.criteria, :name
+ )
+ { :name => name }
end
end
end # Base