module HasLifecycle

HasLifecycle provides methods to enable lifecycle hooks

Public Class Methods

included(base) click to toggle source
# File lib/geoengineer/utils/has_lifecycle.rb, line 5
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

execute_lifecycle(stage, step) click to toggle source

This method will return a list of errors if not valid, or nil

# File lib/geoengineer/utils/has_lifecycle.rb, line 45
def execute_lifecycle(stage, step)
  self.class.lifecycle_actions(stage, step).each do |actions|
    if actions.is_a? Proc
      self.instance_exec(&actions)
    else
      self.send(actions)
    end
  end
end