Sha256: 090697ac5ba3fa0449e9a896a0b90696fc90cf42a3a601ae923f4df368c0e274

Contents?: true

Size: 830 Bytes

Versions: 4

Compression:

Stored size: 830 Bytes

Contents

# encoding: utf-8

module QueryBuilder::CQL

  module Modifiers

    # Provides column for CALLED ON NULL statement
    #
    # @api public
    #
    module CalledOnNull

      # Adds CALLED ON NULL to the index
      #
      # @return [QueryBuilder::Core::Statement] updated statement
      #
      def called_on_null
        self << Clause.new
      end

      private

      def maybe_called
        called = clauses(:called).last
        [(called ? called : "RETURNS NULL"), "ON NULL INPUT"].join(" ")
      end

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

        type :called

        # @private
        def to_s
          "CALLED"
        end

      end # class Clause

    end # module CalledOnNull

  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/called_on_null.rb
query_builder-0.0.3 lib/query_builder/cql/modifiers/called_on_null.rb
query_builder-0.0.2 lib/query_builder/cql/modifiers/called_on_null.rb
query_builder-0.0.1 lib/query_builder/cql/modifiers/called_on_null.rb