Module: StonePath

Defined in:
lib/stonepath/task.rb,
lib/stonepath.rb,
lib/stonepath/dot.rb,
lib/stonepath/config.rb,
lib/stonepath/railtie.rb,
lib/stonepath/work_item.rb,
lib/stonepath/work_bench.rb,
lib/stonepath/work_owner.rb,
lib/stonepath/event_logging.rb

Overview

every WorkItem has one and exactly one owner. In some domains, WorkOwners and WorkBenches will be the same thing, but in other domains they are separate concepts. the owner is ‘responsible’ for the WorkItem in a larger sense - but the WorkBenches are ‘responsible’ for the completion of tasks associated with the WorkItem.

This separation allows workflows where the owner assigns out work, and may oe may not be responsible for the actual completion of the work.

Defined Under Namespace

Modules: Dot, EventLogging, SPTask, WorkBench, WorkItem, WorkOwner Classes: Config, Railtie

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object

main hook into the framework. From here, this should simply have methods that cause other includes to happen.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/stonepath.rb', line 6

def self.included(base)

  base.instance_eval {

    def stonepath_workitem(&config_block)
      require File.expand_path(File.dirname(__FILE__)) + "/stonepath/work_item.rb"
      include StonePath::WorkItem
      instance_eval &config_block if config_block
    end
  
    def stonepath_task(&config_block)
      require File.expand_path(File.dirname(__FILE__)) + "/stonepath/task.rb"
      include StonePath::SPTask
      config_block ||= StonePath::SPTask.default_config_block
      instance_eval &config_block
    end
  
    def stonepath_workbench
      require File.expand_path(File.dirname(__FILE__)) + "/stonepath/work_bench.rb"
      include StonePath::WorkBench
    end
    
    def stonepath_workowner
      require File.expand_path(File.dirname(__FILE__)) + "/stonepath/work_owner.rb"
      include StonePath::WorkOwner
    end
  }
end