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