Class: SiteProcessInterpreter

Inherits:
DslContext show all
Defined in:
lib/SiteProcessInterpreter.rb

Instance Method Summary collapse

Methods inherited from DslContext

bubble, execute, polish_text

Constructor Details

#initializeSiteProcessInterpreter

Returns a new instance of SiteProcessInterpreter.



5
6
7
8
9
10
11
12
# File 'lib/SiteProcessInterpreter.rb', line 5

def initialize
  @cmds = []
  @processes = Hash.new #list of all the processes with the value of the first step being stored
  @result = []
  @result[0] = Hash.new
  @result[1] = Array.new
  @result[2] = Set.new
end

Instance Method Details

#endprocess(*args) ⇒ Object



36
37
# File 'lib/SiteProcessInterpreter.rb', line 36

def endprocess(*args)
end

#endproduct(*args) ⇒ Object



49
50
# File 'lib/SiteProcessInterpreter.rb', line 49

def endproduct(*args)
end

#endproducts(*args) ⇒ Object



42
43
# File 'lib/SiteProcessInterpreter.rb', line 42

def endproducts(*args)
end

#endsiteprocesses(*args) ⇒ Object



24
25
# File 'lib/SiteProcessInterpreter.rb', line 24

def endsiteprocesses(*args)
end

#flow(*args) ⇒ Object

from here we can derive the product process DSL and also the layout files



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/SiteProcessInterpreter.rb', line 54

def flow(*args)
  if (@cmds.last == :process)
    @processes[@current_process.to_sym] = args[0]
  end
  @cmds.push :flow

  @result[0]["#{args[0]}".to_sym] = args[1]
  args[1][:data_model].each do |e|
    @result[2].add?(e.to_sym)
  end
end

#getResultObject



14
15
16
17
18
19
# File 'lib/SiteProcessInterpreter.rb', line 14

def getResult
  #massage result[0] so that all navigation that related to processes are replaced with the 1st step of the process
  #rather than the process name
  #...
  @result
end

#process(*args) ⇒ Object



30
31
32
33
34
# File 'lib/SiteProcessInterpreter.rb', line 30

def process(*args)
  @current_process = args[0]
  @processes[@current_process.to_sym] = :FirstStepUnknown
  @cmds.push :process
end

#product(*args) ⇒ Object



45
46
47
# File 'lib/SiteProcessInterpreter.rb', line 45

def product(*args)
  @result[1].push args[0]
end

#products(*args) ⇒ Object



39
40
# File 'lib/SiteProcessInterpreter.rb', line 39

def products(*args)
end

#reference_datamodel(*args) ⇒ Object



27
28
# File 'lib/SiteProcessInterpreter.rb', line 27

def reference_datamodel(*args)
end

#siteprocesses(*args) ⇒ Object



21
22
# File 'lib/SiteProcessInterpreter.rb', line 21

def siteprocesses(*args)
end