Class: ActiveRecord::ConnectionAdapters::Elasticsearch::TableSettingDefinition
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::Elasticsearch::TableSettingDefinition
- Includes:
- ActiveModel::Validations, AttributeMethods
- Defined in:
- lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb
Constant Summary collapse
- IGNORE_NAMES =
exclude settings, that are provided through the API but are not part of the index-settings API
['provided_name', 'creation_date', 'uuid', 'version', 'routing.allocation.initial_recovery', 'resize'].freeze
- FINAL_NAMES =
final names can only be set during index creation
['number_of_shards', 'routing_partition_size', 'soft_deletes.enabled'].freeze
- STATIC_NAMES =
static names can only be set during index creation or closed
['number_of_routing_shards', 'codec', 'mode', 'soft_deletes.retention_lease.period', 'load_fixed_bitset_filters_eagerly', 'shard.check_on_startup', # modules 'analysis', 'routing', 'unassigned', 'merge', 'similarity', 'search', 'store', 'indexing_pressure'].freeze
- DYNAMIC_NAMES =
dynamic names can always be changed
['number_of_replicas', 'auto_expand_replicas', "search.idle.after", 'refresh_interval', 'max_result_window', 'max_inner_result_window', 'max_rescore_window', 'max_docvalue_fields_search', 'max_script_fields', 'max_ngram_diff', 'max_shingle_diff', 'max_refresh_listeners', 'analyze.max_token_count', 'highlight.max_analyzed_offset', 'max_terms_count', 'max_regex_length', 'query.default_field', 'routing.allocation.enable', 'routing.rebalance.enable', 'gc_deletes', 'default_pipeline', 'final_pipeline', 'hidden', 'blocks', # modules 'translog'].freeze
- VALID_NAMES =
(FINAL_NAMES + STATIC_NAMES + DYNAMIC_NAMES).freeze
Instance Attribute Summary collapse
-
#name ⇒ Object
attributes.
-
#value ⇒ Object
Returns the value of attribute value.
Class Method Summary collapse
- .match_dynamic_names?(name) ⇒ Boolean
- .match_final_names?(name) ⇒ Boolean
- .match_ignore_names?(name) ⇒ Boolean
- .match_static_names?(name) ⇒ Boolean
- .match_valid_names?(name) ⇒ Boolean
Instance Method Summary collapse
- #dynamic? ⇒ Boolean
- #final? ⇒ Boolean
-
#flat_names ⇒ Object
returns a array of flat names.
-
#initialize(name, value) ⇒ TableSettingDefinition
constructor
A new instance of TableSettingDefinition.
- #static? ⇒ Boolean
Constructor Details
#initialize(name, value) ⇒ TableSettingDefinition
Returns a new instance of TableSettingDefinition.
76 77 78 79 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 76 def initialize(name, value) @name = name.to_s @value = value end |
Instance Attribute Details
#name ⇒ Object
attributes
44 45 46 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 44 def name @name end |
#value ⇒ Object
Returns the value of attribute value.
45 46 47 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 45 def value @value end |
Class Method Details
.match_dynamic_names?(name) ⇒ Boolean
68 69 70 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 68 def self.match_dynamic_names?(name) DYNAMIC_NAMES.any? { |invalid| name.match?(invalid) } end |
.match_final_names?(name) ⇒ Boolean
64 65 66 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 64 def self.match_final_names?(name) FINAL_NAMES.any? { |invalid| name.match?(invalid) } end |
.match_ignore_names?(name) ⇒ Boolean
56 57 58 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 56 def self.match_ignore_names?(name) IGNORE_NAMES.any? { |invalid| name.match?(invalid) } end |
.match_static_names?(name) ⇒ Boolean
72 73 74 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 72 def self.match_static_names?(name) STATIC_NAMES.any? { |invalid| name.match?(invalid) } end |
.match_valid_names?(name) ⇒ Boolean
60 61 62 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 60 def self.match_valid_names?(name) VALID_NAMES.any? { |invalid| name.match?(invalid) } end |
Instance Method Details
#dynamic? ⇒ Boolean
91 92 93 94 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 91 def dynamic? @dynamic = flat_names.all? { |flat_name| self.class.match_dynamic_names?(flat_name) } if @dynamic.nil? @dynamic end |
#final? ⇒ Boolean
81 82 83 84 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 81 def final? @final = flat_names.all? { |flat_name| self.class.match_final_names?(flat_name) } if @final.nil? @final end |
#flat_names ⇒ Object
returns a array of flat names
97 98 99 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 97 def flat_names @flat_names ||= _generate_flat_names.uniq end |
#static? ⇒ Boolean
86 87 88 89 |
# File 'lib/active_record/connection_adapters/elasticsearch/schema_definitions/table_setting_definition.rb', line 86 def static? @static = flat_names.all? { |flat_name| self.class.match_static_names?(flat_name) } if @static.nil? @static end |