class ResourceManager::Base

Public Class Methods

model(class_or_proc, &block) click to toggle source
# File lib/resource_manager.rb, line 10
def model(class_or_proc, &block)
  @model = class_or_proc
end

Public Instance Methods

model() click to toggle source
# File lib/resource_manager.rb, line 27
def model
  model_or_proc = self.class.instance_variable_get(:@model)
  if model_or_proc.kind_of?(Proc)
    instance_exec(&model_or_proc)
  else
    model_or_proc
  end
end

Private Instance Methods

item(item_or_id) click to toggle source
# File lib/resource_manager.rb, line 98
def item(item_or_id)
  if item_or_id.is_a?(Numeric)
    model.find(item_or_id)
  else
    item_or_id
  end
end
run_callback(name, *args) click to toggle source
# File lib/resource_manager.rb, line 94
def run_callback(name, *args)
  self.instance_exec(*args, &self.send("#{name}_callback")) if self.send("#{name}_callback").present?
end
transaction(&block) click to toggle source
# File lib/resource_manager.rb, line 106
def transaction(&block)
  ActiveRecord::Base.transaction &block
end