Sha256: e9e90973e39a0cd1190f7166240d7781fe2a7bd0e2e294f37997d2dd95417202

Contents?: true

Size: 661 Bytes

Versions: 6

Compression:

Stored size: 661 Bytes

Contents

module DynamoidAdvancedWhere
  module Nodes
    class IncludesNode < OperationNode
      def to_expression
        "contains(
          #{lh_operation.to_expression},
          #{rh_operation.to_expression}
        )"
      end
    end

    module Concerns
      module SupportsIncludes
        def includes?(other_value)
          val = if respond_to?(:parse_right_hand_side)
                  parse_right_hand_side(other_value)
                else
                  other_value
                end

          IncludesNode.new(
            lh_operation: self,
            rh_operation: LiteralNode.new(val)
          )
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
dynamoid_advanced_where-1.3.0 lib/dynamoid_advanced_where/nodes/includes.rb
dynamoid_advanced_where-1.2.0 lib/dynamoid_advanced_where/nodes/includes.rb
dynamoid_advanced_where-1.1.0 lib/dynamoid_advanced_where/nodes/includes.rb
dynamoid_advanced_where-1.0.1 lib/dynamoid_advanced_where/nodes/includes.rb
dynamoid_advanced_where-1.0.0 lib/dynamoid_advanced_where/nodes/includes.rb
dynamoid-advanced-where-1.0.0 lib/dynamoid_advanced_where/nodes/includes.rb