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

Includes:
Concern
Included in:
Foobara::Entity
Defined in:
foobara-0.0.110/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



121
122
123
# File 'foobara-0.0.110/projects/entity/src/concerns/initialization.rb', line 121

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

#successfully_loaded(attributes) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'foobara-0.0.110/projects/entity/src/concerns/initialization.rb', line 99

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