Sha256: 78fb67f9fa1dc3ce70de6ccb4c4db40a140c500bb9ec621ba1d218d29888cf22

Contents?: true

Size: 583 Bytes

Versions: 20

Compression:

Stored size: 583 Bytes

Contents

module Ransack
  module Nodes
    class Condition

      def arel_predicate
        predicates = attributes.map do |attr|
          attr.attr.send(
            arel_predicate_for_attribute(attr),
            formatted_values_for_attribute(attr)
          )
        end

        if predicates.size > 1
          case combinator
          when 'and'
            Arel::Nodes::Grouping.new(Arel::Nodes::And.new(predicates))
          when 'or'
            predicates.inject(&:or)
          end
        else
          predicates.first
        end
      end

    end # Condition
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
ransack-1.8.8 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.7 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.6 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.4 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.3 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.2 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.1 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.8.0 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.7.0 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
solidus_backend-1.0.0.pre3 vendor/bundle/gems/ransack-1.6.6/lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/ransack-1.6.6/lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/ransack-1.6.6/lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
shoppe-paypal-1.1.0 vendor/bundle/ruby/2.1.0/gems/ransack-1.6.2/lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.6 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.5 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.4 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.3 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.2 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.1 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb
ransack-1.6.0 lib/ransack/adapters/mongoid/ransack/nodes/condition.rb