Module: FrozenRecord::Compact::ClassMethods
- Defined in:
- lib/frozen_record/compact.rb
Instance Attribute Summary collapse
-
#_attributes_cache ⇒ Object
readonly
Returns the value of attribute _attributes_cache.
Instance Method Summary collapse
Instance Attribute Details
#_attributes_cache ⇒ Object (readonly)
Returns the value of attribute _attributes_cache.
32 33 34 |
# File 'lib/frozen_record/compact.rb', line 32 def _attributes_cache @_attributes_cache end |
Instance Method Details
#define_method_attribute(attr) ⇒ Object
28 29 30 |
# File 'lib/frozen_record/compact.rb', line 28 def define_method_attribute(attr, **) generated_attribute_methods.attr_reader(attr) end |
#load_records(force: false) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/frozen_record/compact.rb', line 8 def load_records(force: false) if force || (auto_reloading && file_changed?) @records = nil undefine_attribute_methods end @records ||= begin records = backend.load(file_path) if attribute_deserializers.any? || default_attributes records = records.map { |r| assign_defaults!(deserialize_attributes!(r.dup)).freeze }.freeze end @attributes = list_attributes(records).freeze build_attributes_cache define_attribute_methods(@attributes.to_a) records = FrozenRecord.ignore_max_records_scan { records.map { |r| load(r) }.freeze } index_definitions.values.each { |index| index.build(records) } records end end |