Sha256: eba529eef712728155fec089783f2f1f2236542100fe1568472b5413fe94648c

Contents?: true

Size: 852 Bytes

Versions: 4

Compression:

Stored size: 852 Bytes

Contents

# encoding: utf-8

module QueryBuilder::CQL

  module Statements

    # Describes the 'CREATE FUNCTION' CQL3 statement
    #
    class CreateFunction < Base

      include Modifiers::AddField
      include Modifiers::OrReplace
      include Modifiers::IfNotExists
      include Modifiers::Returns
      include Modifiers::CalledOnNull

      attribute :language, required: true
      attribute :body, required: true

      alias_method :argument, :add

      # Builds the statement
      #
      # @return [String]
      #
      def to_s
        cql[
          "CREATE", maybe_replace, "FUNCTION", maybe_if,
          context.to_s, maybe_fields, maybe_called, maybe_returns,
          "LANGUAGE", cql_literal[language], "AS", cql_literal[body]
        ]
      end

    end # class CreateField

  end # module Statements

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