Sha256: 1d17483487eb6efe34d13d8edd2f58bd7d8866bc249e41b35207521b731636ba

Contents?: true

Size: 1.04 KB

Versions: 10

Compression:

Stored size: 1.04 KB

Contents

module MarkLogic
  module DatabaseSettings
    class RangeFieldIndex

      attr_accessor :scalar_type, :field_name, :collation, :facet

      def initialize(field_name, options = {})
        @scalar_type = options[:type] || MarkLogic::STRING
        @field_name = field_name
        @collation = options[:collation] || DEFAULT_COLLATION
        @range_value_positions = options[:range_value_positions] || false
        @invalid_values = options[:invalid_values] || MarkLogic::REJECT
        @facet = options[:facet] || false
      end

      def key
        %Q{#{self.class.to_s}-#{@localname}}
      end

      def append_to_db(database)
        database.add_index("range-field-index", self)
      end

      def to_json(options = nil)
        {
          "range-field-index" => {
            "scalar-type" => @scalar_type,
            "field-name" => @field_name,
            "collation" => @collation,
            "range-value-positions" => @range_value_positions,
            "invalid-values" => @invalid_values
          }
        }
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
marklogic-0.0.11 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.10 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.9 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.8 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.7 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.6 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.5 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.4 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.3 lib/marklogic/database_settings/range_field_index.rb
marklogic-0.0.1 lib/marklogic/database_settings/range_field_index.rb