Sha256: 4586d1bad42853459b70aed4e8bc35376aa9ab0d4534a9faa5258fd543656fc9

Contents?: true

Size: 797 Bytes

Versions: 4

Compression:

Stored size: 797 Bytes

Contents

# encoding: utf-8

module QueryBuilder::CQL

  module Statements

    # Describes the 'CREATE INDEX' CQL3 statement
    #
    class CreateIndex < Base

      include Modifiers::AddColumn
      include Modifiers::IfNotExists
      include Modifiers::WithOptions
      include Modifiers::Using

      # Builds the statement
      #
      # @return [String]
      #
      def to_s
        cql[
          "CREATE", maybe_custom, "INDEX", maybe_if, maybe_name,
          "ON", context.table.to_s, maybe_columns, maybe_using, maybe_with
        ]
      end

      private

      def maybe_name
        context.name.to_s if context.name
      end

      def maybe_custom
        "CUSTOM" unless maybe_name
      end

    end # class CreateIndex

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