module Workflow
See also README.markdown for documentation
Constants
- VERSION
Public Class Methods
included(klass)
click to toggle source
# File lib/workflow.rb, line 250 def self.included(klass) klass.send :include, InstanceMethods # backup the parent workflow spec, making accessible through #inherited_workflow_spec if klass.superclass.respond_to?(:workflow_spec, true) klass.module_eval do # see http://stackoverflow.com/a/2495650/111995 for implementation explanation pro = Proc.new { klass.superclass.workflow_spec } singleton_class = class << self; self; end singleton_class.send(:define_method, :inherited_workflow_spec) do pro.call end end end klass.extend ClassMethods # Look for a hook; otherwise detect based on ancestor class. if klass.respond_to?(:workflow_adapter) klass.send :include, klass.workflow_adapter end end