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