class Zelastic::Config
Attributes
clients[R]
data_source[R]
mapping[R]
overrides[R]
Public Class Methods
new( client:, data_source:, mapping:, **overrides, &index_data )
click to toggle source
# File lib/zelastic/config.rb, line 7 def initialize( client:, data_source:, mapping:, **overrides, &index_data ) @clients = Array(client) @data_source = data_source @mapping = mapping @index_data = index_data @_type = overrides.fetch(:type, true) @overrides = overrides end
Public Instance Methods
index_data(model)
click to toggle source
# File lib/zelastic/config.rb, line 26 def index_data(model) @index_data.call(model) end
index_definition()
click to toggle source
# File lib/zelastic/config.rb, line 48 def index_definition { settings: overrides.fetch(:index_settings, {}), mappings: type ? { type => mapping } : mapping } end
logger()
click to toggle source
# File lib/zelastic/config.rb, line 42 def logger return Rails.logger if defined?(Rails) @logger ||= Logger.new(STDOUT) end
read_alias()
click to toggle source
# File lib/zelastic/config.rb, line 30 def read_alias @read_alias ||= overrides.fetch(:read_alias) { data_source.table_name } end
type()
click to toggle source
# File lib/zelastic/config.rb, line 38 def type @type ||= overrides.fetch(:type, read_alias.singularize) end
type?()
click to toggle source
# File lib/zelastic/config.rb, line 22 def type? @_type end
write_alias()
click to toggle source
# File lib/zelastic/config.rb, line 34 def write_alias @write_alias ||= overrides.fetch(:write_alias) { [read_alias, 'write'].join('_') } end