Module: Foobara::Entity::Concerns::Initialization

Includes:
Concern
Included in:
Foobara::Entity
Defined in:
foobara-0.0.130/projects/entity/src/concerns/initialization.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Methods included from Concern

foobara_class_methods_module_for, foobara_concern?, included

Instance Method Details

#build(attributes = {}) ⇒ Object



127
128
129
# File 'foobara-0.0.130/projects/entity/src/concerns/initialization.rb', line 127

def build(attributes = {})
  write_attributes_without_callbacks(attributes)
end

#successfully_loaded(attributes) ⇒ Object



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'foobara-0.0.130/projects/entity/src/concerns/initialization.rb', line 105

def successfully_loaded(attributes)
  if hard_deleted?
    # :nocov:
    raise "Not expecting to load a hard deleted record"
    # :nocov:
  end

  # TODO: why would we proceed if this is the case? Maybe raise?
  already_loaded = loaded?

  self.is_persisted = true
  self.is_loaded = true

  write_attributes_without_callbacks(attributes)

  save_persisted_attributes

  unless already_loaded
    fire(:loaded)
  end
end