class Handlers::Savings

Public Instance Methods

after_commit_hooks!() click to toggle source
# File lib/handlers/savings.rb, line 45
def after_commit_hooks!
  AfterCommitHooks.handle(@klass)
end
after_save_hooks!() click to toggle source
# File lib/handlers/savings.rb, line 25
def after_save_hooks!
  Delegates.handle(@klass)
  AfterSaveHooks.handle(@klass)
end
after_validations_hooks!() click to toggle source
# File lib/handlers/savings.rb, line 40
def after_validations_hooks!
  AfterValidationsHooks.handle(@klass)
  Polymorphs.handle(@klass)
end
save!(&block) click to toggle source
# File lib/handlers/savings.rb, line 11
def save!(&block)
  ActiveRecord::Base.transaction do
    @klass.validate!
    after_validations_hooks!
    block ? save_with_block!(block) : save_without_block!
    after_save_hooks!
  end
  after_commit_hooks!
  @resource
rescue ActiveRecord::RecordInvalid => e
  e.record.errors.add(e.record.class.name, '')
  raise ActiveRecord::RecordInvalid.new(e.record)
end
save_with_block!(block) click to toggle source
# File lib/handlers/savings.rb, line 30
def save_with_block!(block)
  @klass.instance_eval(&block)
  @resource = @klass.instance_variable_get(:@resource)
  @resource
end
save_without_block!() click to toggle source
# File lib/handlers/savings.rb, line 36
def save_without_block!
  @resource.update!(@params)
end