Sha256: 6fd2e87b2bb719982a873ba73818bfb76902aaa0dfb5636b5a6f0d34c196a3d5

Contents?: true

Size: 1.07 KB

Versions: 10

Compression:

Stored size: 1.07 KB

Contents

module MarkLogic
  module DatabaseSettings
    class RangePathIndex

      attr_accessor :scalar_type, :collation, :path_expression, :facet

      def initialize(path_expression, options = {})
        @scalar_type = options[:type] || MarkLogic::STRING
        @collation = options[:collation] || DEFAULT_COLLATION
        @path_expression = path_expression
        @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-path-index", self)
      end

      def to_json(options = nil)
        {
          "range-path-index" => {
            "scalar-type" => @scalar_type,
            "collation" => @collation,
            "path-expression" => @path_expression,
            "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_path_index.rb
marklogic-0.0.10 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.9 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.8 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.7 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.6 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.5 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.4 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.3 lib/marklogic/database_settings/range_path_index.rb
marklogic-0.0.1 lib/marklogic/database_settings/range_path_index.rb