Sha256: cf14a2fd4b6af06ff618f986c7fe5874dd18f0df3b49eeeb4189ff0f746fcea4

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

# encoding: utf-8

module QueryBuilder::CQL

  module Contexts

    # Describes the field of Cassandra user-defined type
    #
    class Field < Base

      attribute :type, required: true
      attribute :name, required: true

      # Builds the 'ALTER TYPE ... ADD' CQL statement
      #
      # @param [#to_s] type
      #
      # @return [QueryBuilder::Statements::CreateField]
      #
      def create(type)
        Statements::CreateField.new(context: self, type: type)
      end

      # Builds the 'ALTER TYPE ... ALTER' CQL statement
      #
      # @param [#to_s] type
      #
      # @return [QueryBuilder::Statements::AlterField]
      #
      def alter(type)
        Statements::AlterField.new(context: self, type: type)
      end

      # Builds the 'ALTER TYPE ... RENAME' CQL statement
      #
      # @param [#to_s] name
      #
      # @return [QueryBuilder::Statements::RenameField]
      #
      def rename(name)
        Statements::RenameField.new(context: self, name: name)
      end

    end # class Field

  end # module Contexts

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