module Animator::Animable::ClassMethods

Public Instance Methods

divine(id, options = {}, &block) click to toggle source
# File lib/animator/animable.rb, line 14
def divine(id, options = {}, &block)
  options = { validate: false }.merge(options)

  result = nil

  transaction do
    instance = reanimate!(id, options)
    result = instance.instance_exec(&block)
    raise ActiveRecord::Rollback
  end

  result
end
inanimate(transaction_uuid = nil, relation = all) click to toggle source
# File lib/animator/animable.rb, line 28
def inanimate(transaction_uuid = nil, relation = all)
  FeyRelation.new(relation.klass, transaction_uuid).merge(relation)
end
reanimate(id, options = {}) click to toggle source
# File lib/animator/animable.rb, line 10
def reanimate(id, options = {})
  reanimate!(id, options) rescue nil
end
reanimate!(id, options = {}) click to toggle source
# File lib/animator/animable.rb, line 6
def reanimate!(id, options = {})
  Eraminho.find_by!(animable_class: name, animable_id: id).animable!.reanimate!(options)
end