Module: SkinnyControllers::Diet

Extended by:
ActiveSupport::Concern
Defined in:
lib/skinny_controllers/diet.rb

Instance Method Summary collapse

Instance Method Details

#modelActiveRecord::Base

abstraction for operation.run useful when there is no logic needed for deciding what to do with an operation or if there is no logic to decide which operation to use



34
35
36
# File 'lib/skinny_controllers/diet.rb', line 34

def model
  @model ||= operation.run
end

#operationObject

TODO: what if we want multiple operations per action?



13
14
15
16
17
18
# File 'lib/skinny_controllers/diet.rb', line 13

def operation
  @operation ||= operation_class.new(
    current_user,
    params, params_for_action,
    action_name, model_key)
end

#operation_classClass

Assumes the operation name from the controller name

Examples:

SomeObjectsController => Operation::SomeObject::Action




24
25
26
# File 'lib/skinny_controllers/diet.rb', line 24

def operation_class
  Lookup::Operation.from_controller(self.class.name, verb_for_action, model_class)
end