class Elastic::Types::BaseType
Public Class Methods
definition()
click to toggle source
# File lib/elastic/types/base_type.rb, line 13 def self.definition @definition ||= begin pre_definition.fields.each do |field| field.disable_mapping_inference if original_value_occluded? field.name end pre_definition.freeze pre_definition end end
freeze_definition()
click to toggle source
# File lib/elastic/types/base_type.rb, line 24 def self.freeze_definition definition # calling definition freezes it end
new(_object)
click to toggle source
Calls superclass method
Elastic::Core::Serializer::new
# File lib/elastic/types/base_type.rb, line 28 def initialize(_object) super(self.class.definition, _object) end
pre_definition()
click to toggle source
# File lib/elastic/types/base_type.rb, line 7 def self.pre_definition @pre_definition ||= Elastic::Core::Definition.new.tap do |definition| definition.target = default_target unless default_target.nil? end end
target=(_name_or_class)
click to toggle source
# File lib/elastic/types/base_type.rb, line 3 def self.target=(_name_or_class) pre_definition.target = _name_or_class end
Private Class Methods
default_target()
click to toggle source
# File lib/elastic/types/base_type.rb, line 32 def self.default_target @default_target ||= begin target = to_s.match(/^(.*)Index$/) target ? target[1] : nil end end