Module: Yawl::Steps
- Defined in:
- lib/yawl/steps/base.rb
Defined Under Namespace
Classes: Base, RealStepMissing, SetDefiner
Class Method Summary
collapse
Class Method Details
.for(name, process_step) ⇒ Object
54
55
56
57
58
|
# File 'lib/yawl/steps/base.rb', line 54
def self.for(name, process_step)
name = name.to_sym
klass = Base.all_steps[name] || RealStepMissing
klass.new(process_step)
end
|
.realize_set_on(name, process) ⇒ Object
44
45
46
47
48
49
50
51
52
|
# File 'lib/yawl/steps/base.rb', line 44
def self.realize_set_on(name, process)
unless set_step_names = sets[name.to_sym]
raise "Set #{name} not found"
end
set_step_names.each do |set_step_name|
process.add_step(:name => set_step_name)
end
end
|
.set(name, &block) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/yawl/steps/base.rb', line 29
def self.set(name, &block)
name = name.to_sym
definer = SetDefiner.new(name, &block)
definer.run
sets[name] = definer.step_names
end
|
.sets ⇒ Object
25
26
27
|
# File 'lib/yawl/steps/base.rb', line 25
def self.sets
@sets ||= {}
end
|
.step(name, &block) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/yawl/steps/base.rb', line 36
def self.step(name, &block)
name = name.to_sym
Class.new(Base, &block).tap do |klass|
klass.instance_eval "def name; #{name.inspect} end", __FILE__, __LINE__
Base.register(klass)
end
end
|