Sha256: 7177b527fe8037307ba59141b1acdb02a4455490c58cbc93e2cb5f9867a5a57f

Contents?: true

Size: 1.12 KB

Versions: 12

Compression:

Stored size: 1.12 KB

Contents

module AgnosticBackend
  module Queryable
    module Criteria
      class Ternary < Criterion
        attr_reader :attribute, :left_value, :right_value

        def initialize(attribute:, left_value:, right_value:, context: nil)
          @attribute, @left_value, @right_value = attribute, left_value, right_value
          super([attribute, left_value, right_value], context)
        end
      end

      class Between < Ternary
        def initialize(attribute:, left_value:, right_value:, context: nil)
          attribute = attribute_component(attribute: attribute, context: context)
          left_value = value_component(value: left_value, context: context, type: attribute.type)
          right_value = value_component(value: right_value, context: context, type: attribute.type)
          super(attribute: attribute, left_value: left_value, right_value: right_value, context: context)
        end
      end

      class GreaterAndLess < Between;
      end

      class GreaterEqualAndLess < Between;
      end

      class GreaterAndLessEqual < Between;
      end

      class GreaterEqualAndLessEqual < Between;
      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
agnostic_backend-1.0.4 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-1.0.3 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-1.0.2 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-1.0.1 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-1.0.0 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.9 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.8 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.4 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.3 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.2 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.1 lib/agnostic_backend/queryable/criteria/ternary.rb
agnostic_backend-0.9.0 lib/agnostic_backend/queryable/criteria/ternary.rb