class Scalastic::Config
Attributes
partition_prefix[R]
partition_selector[R]
partition_selector_type[R]
Public Class Methods
default()
click to toggle source
# File lib/scalastic/config.rb, line 7 def self.default @default ||= new end
new()
click to toggle source
# File lib/scalastic/config.rb, line 11 def initialize @partition_prefix = 'scalastic' @partition_selector = 'scalastic_partition_id' @partition_selector_type = 'long' end
Public Instance Methods
get_partition_id(alias_name)
click to toggle source
# File lib/scalastic/config.rb, line 25 def get_partition_id(alias_name) m = partition_regex.match(alias_name) m && m[1] end
index_endpoint(partition_id)
click to toggle source
# File lib/scalastic/config.rb, line 17 def index_endpoint(partition_id) "#{partition_prefix}_#{partition_id}_index" end
partition_prefix=(value)
click to toggle source
# File lib/scalastic/config.rb, line 30 def partition_prefix=(value) raise(ArgumentError, 'Empty partition prefix') if value.nil? || value.empty? @partition_prefix = value end
partition_selector=(value)
click to toggle source
# File lib/scalastic/config.rb, line 35 def partition_selector=(value) raise(ArgumentError, 'Empty partition selector') if value.nil? || value.empty? @partition_selector = value end
partition_selector_mapping()
click to toggle source
# File lib/scalastic/config.rb, line 46 def partition_selector_mapping parts = partition_selector.to_s.split('.').reverse field = parts.shift parts.reduce(field => {type: partition_selector_type}){|acc, p| {p => {type: 'object', properties: acc}}} end
partition_selector_type=(value)
click to toggle source
# File lib/scalastic/config.rb, line 40 def partition_selector_type=(value) value = value.to_s raise(ArgumentError, "Unsupported selector type: #{value}. Supported types are: (string, long)") unless %w(string long integer).include?(value) @partition_selector_type = value end
search_endpoint(partition_id)
click to toggle source
# File lib/scalastic/config.rb, line 21 def search_endpoint(partition_id) "#{partition_prefix}_#{partition_id}_search" end
Private Instance Methods
partition_regex()
click to toggle source
# File lib/scalastic/config.rb, line 54 def partition_regex @partition_regex ||= begin escaped_prefix = Regexp.escape(partition_prefix) Regexp.new("^#{escaped_prefix}_(\\w+)_(index|search)$") end end