Sha256: 1cf436c73ee3255d23e4a82607b8eafc95718c48e91fd1a03661a951ae06d56e

Contents?: true

Size: 932 Bytes

Versions: 4

Compression:

Stored size: 932 Bytes

Contents

# encoding: utf-8

module QueryBuilder::CQL

  module Modifiers

    # Provides INITCOND clauses for statements
    #
    module Initcond

      # Adds INITCOND clause to the statement
      #
      # @param [#to_s] left
      # @param [#to_s] right
      #
      # @return [QueryBuilder::Core::Statement] updated statement
      #
      def initcond(left, right)
        self << Clause.new(left: left, right: right)
      end

      private

      def maybe_functions
        clauses(:function).join(" ")
      end

      # The clause for adding to a statement
      #
      # @api private
      #
      class Clause < Base

        type :function
        attribute :left,  required: true
        attribute :right, required: true

        # @private
        def to_s
          "INITCOND (#{left}, #{right})"
        end

      end # class Clause

    end # module Initcond

  end # module Modifiers

end # module QueryBuilder::CQL

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
query_builder-0.0.4 lib/query_builder/cql/modifiers/initcond.rb
query_builder-0.0.3 lib/query_builder/cql/modifiers/initcond.rb
query_builder-0.0.2 lib/query_builder/cql/modifiers/initcond.rb
query_builder-0.0.1 lib/query_builder/cql/modifiers/initcond.rb