Module: Dialog::Dialect

Defined in:
lib/dialect/codegen/run.rb,
lib/dialect/codegen/codegen.rb,
lib/dialect/codegen/repack/functional/1.Expect2Events.rb,
lib/dialect/codegen/repack/functional/7.ElementChains.rb,
lib/dialect/codegen/repack/constructor/Element2ModSend.rb,
lib/dialect/codegen/repack/constructor/ElementsInElements.rb,
lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb,
lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb,
lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb,
lib/dialect/codegen/repack/functional/2.2.2.ModReceive2AppEvent.rb,
lib/dialect/codegen/repack/constructor/DockedGroupings2AppFunctions.rb

Class Method Summary collapse

Class Method Details

.dialect_codegenRun(args, type) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/dialect/codegen/run.rb', line 29

def dialect_codegenRun(args, type)
  args[:tmp] = {stages: {}, x: {}}
  args[:tmp][:stages][:codegenConstructor] = [     
    {name: :DockedGroupings2AppFunctions,        order: '1', erb: 0},
    {name: :Element2ModSend,                     order: '2', erb: 0},                
    {name: :ElementsInElements,                  order: '3', erb: 0},        
  ]
  
  args[:tmp][:stages][:functional] = [
    {name: :Expect2Events,        repack: 1, erb: 1, order: '1'},
    {name: :Events2AppEvent,      repack: 0, erb: 1, order: '2.1'},
    {name: :Events2ModReceive,    repack: 1, erb: 1, order: '2.2.1'},
    {name: :ModReceive2AppEvent,  repack: 1, erb: 1, order: '2.2.2'},
    {name: :AppEvent2Elements,    repack: 0, erb: 1, order: '4.1'},
    {name: :Elements2AppEvent,    repack: 0, erb: 0, order: '4.2'},          
    {name: :Appevent2EventBus,    repack: 0, erb: 1, order: '3'},
    {name: :ElementChains,        repack: 1, erb: 1, order: '7'},
    {name: :ModElementsSpecs,     repack: 0, erb: 0, order: '6'},          
    {name: :Element2ModElements,  repack: 1, erb: 1, order: '5.1'},
    {name: :Element2ModSend,      repack: 1, erb: 1, order: '5.2'},
    
    
  ]
  
  args[:tmp][:stages][:data] = [
    {name: :ModReceive2GetData,   repack: 0, erb: 1, order: '1'},
    {name: :GetData2Elements,     repack: 0, erb: 1, order: '2'},
    {name: :GenData2Dest,         repack: 0, erb: 1, order: '3'},        
  ]
  
  args[:tmp][:stages][:codegenGlobal] = {        
    n: :rubySrcLabeling
  }      
  

  dialect_repack(args)
  dialect_erb(args, type)
end

.dialect_codegenRun_pre(args) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/dialect/codegen/run.rb', line 16

def dialect_codegenRun_pre(args)
  state = {stages: {}}
  state[:stages][:codegenPerView] = { 
    b: :modSendOfArchi,        
    c: :rubyPreLabeling_,
    d: :modOfElementsOfAppevent,
    
    l: :modOfElementsOfBus,
    m: :elementsInElementsArchi
  }           
end

.dialect_erb(args, type) ⇒ Object



67
68
69
70
# File 'lib/dialect/codegen/codegen.rb', line 67

def dialect_erb(args, type)
  makeAErb(args, type, :functional)
  makeAErb(args, type, :data)
end

.dialect_repack(args) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/dialect/codegen/codegen.rb', line 29

def dialect_repack(args)
  
  args[:tmp][:stages][:codegenConstructor].each do |runProps|        
    args[:dialect][:constructors][Dialog.config.naming.app.to_sym].each do |viewId, viewProps|      
      send("repack_constructors_#{runProps[:name]}".to_sym, args, runProps[:name], viewId)
    end        
  end      
  
  makeARepack(args, :functional)
  makeARepack(args, :data)
  
end

.lookupDebug(name, prop) ⇒ Object



73
74
75
# File 'lib/dialect/codegen/run.rb', line 73

def lookupDebug(name, prop)
  Dialog.logger.debug "### #{name} :: F:: '#{prop[:fName]}' fqn:#{prop[:fFqn]} o:#{prop[:fOID]} e:#{prop[:fEID]} p '#{prop[:fProp]}' :: T :: '#{prop[:tName]}' fqn:#{prop[:tFqn]} o:#{prop[:tOID]} e:#{prop[:tEID]} p '#{prop[:tProp]}'"
end

.makeAErb(args, type, stage) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/dialect/codegen/codegen.rb', line 44

def makeAErb(args, type, stage)
  FileUtils.mkdir_p("#{Dialog.config.path.dialogRender}/code_#{type}/")
  
  args[:tmp][:stages][stage].each do |runProps|  
    nameSym = runProps[:name].to_sym        
    data = args[:dialect][:perView][Dialog.config.naming.app.to_sym]
    if data.is_a?(Hash)          
      data.each do |viewId, viewProps|                  
        if runProps[:erb] == 1 && data[viewId].is_a?(Hash) and data[viewId][runProps[:name]].is_a?(Hash)
            Dialog.logger.debug "### erb - #{runProps}"
            fullName = "#{runProps[:order]}_#{runProps[:name]}_#{viewId}"
            fullNameSym = fullName.to_sym
          
            tmpl = ERB.new(File.read("#{File.dirname(__FILE__)}/erb/#{stage}/#{runProps[:order]}.#{runProps[:name]}.erb")).result(binding)
            runProps.has_key?(:erb_order) ? rname = "#{runProps[:erb_order]}_#{fullName}" : rname = fullName              
            File.open("#{Dialog.config.path.dialogRender}/code_#{type}/#{stage}__#{rname}.rb", 'w') do |f| f.write tmpl; end   
        end
      end  
    end
  end      
end

.makeARepack(args, stage) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/dialect/codegen/codegen.rb', line 16

def makeARepack(args, stage)
  args[:tmp][:stages][stage].each do |runProps|         
    if runProps[:repack] == 1     
      data = args[:dialect][:perView][Dialog.config.naming.app.to_sym]
      if data.is_a?(Hash)
        data.each do |viewId, viewProps|
          send("repack_#{runProps[:name]}".to_sym, args, runProps[:name], viewId) if data[viewId][runProps[:name]].is_a?(Hash)
        end  
      end
    end    
  end
end

.repack_constructors_DockedGroupings2AppFunctions(args, name, viewId) ⇒ Object



16
17
18
19
20
# File 'lib/dialect/codegen/repack/constructor/DockedGroupings2AppFunctions.rb', line 16

def repack_constructors_DockedGroupings2AppFunctions(args, name, viewId)   
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack] ||= {}         
  repack_constructors_DockedGroupings2AppFunctions_tEID(args, name, viewId, :tEID)
  
end

.repack_constructors_DockedGroupings2AppFunctions_tEID(args, name, viewId, repackName) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/dialect/codegen/repack/constructor/DockedGroupings2AppFunctions.rb', line 23

def repack_constructors_DockedGroupings2AppFunctions_tEID(args, name, viewId, repackName)  
  res = {} 
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][repackName] ||= {}      
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|
      res[hash_fNameProp[:tEID]] = hash_fNameProp
     end 
  end  
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][repackName] = res
end

.repack_constructors_Element2ModSend(args, name, viewId) ⇒ Object



17
18
19
20
21
# File 'lib/dialect/codegen/repack/constructor/Element2ModSend.rb', line 17

def repack_constructors_Element2ModSend(args, name, viewId)   
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack] ||= {}         
  repack_constructors_Element2ModSend_fFqn2tFqn(args, name, viewId, :fFqn2tFqn)
  repack_constructors_Element2ModSend_EInE_nores(args, name, viewId, :EInE_nores)      
end

.repack_constructors_Element2ModSend_EInE_nores(args, name, viewId, repackName) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/dialect/codegen/repack/constructor/Element2ModSend.rb', line 38

def repack_constructors_Element2ModSend_EInE_nores(args, name, viewId, repackName)  
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][:ElementsInElements][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|              
      
      args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][:fFqn2tFqn][hash_fNameProp[:fFqn].to_sym].merge!(args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][:fFqn2tFqn][hash_fNameProp[:tFqn].to_sym])
    end 
  end          
end

.repack_constructors_Element2ModSend_fFqn2tFqn(args, name, viewId, repackName) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/dialect/codegen/repack/constructor/Element2ModSend.rb', line 24

def repack_constructors_Element2ModSend_fFqn2tFqn(args, name, viewId, repackName)  
  res = {} 
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][repackName] ||= {}      
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|
      res[hash_fNameProp[:fFqn].to_sym] ||= {}
      res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] ||= {}
      res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] = hash_fNameProp[:tProp] 
    end
  end  
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][repackName] = res        
end

.repack_constructors_ElementsInElements(args, name, viewId) ⇒ Object



16
17
18
19
# File 'lib/dialect/codegen/repack/constructor/ElementsInElements.rb', line 16

def repack_constructors_ElementsInElements(args, name, viewId)   
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack] = {}
  repack_constructors_ElementsInElements_fFqn(args, name, viewId, :fFqn)
end

.repack_constructors_ElementsInElements_fFqn(args, name, viewId, repackName) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/dialect/codegen/repack/constructor/ElementsInElements.rb', line 21

def repack_constructors_ElementsInElements_fFqn(args, name, viewId, repackName)  
  res = {} 
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][repackName] ||= {}      
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|
      res[hash_fNameProp[:fFqn]] = hash_fNameProp
    end 
  end  
  args[:dialect][:constructors][Dialog.config.naming.app.to_sym][name][:repack][repackName] = res
end

.repack_Element2ModElements(args, name, viewId) ⇒ Object



16
17
18
19
20
21
# File 'lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb', line 16

def repack_Element2ModElements(args, name, viewId)   
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack] = {} 
  repack_Element2ModElements_fFqn(args, name, viewId, :fFqn)
  repack_Element2ModElements_atoms(args, name, viewId, :atoms)
  
end

.repack_Element2ModElements_atoms(args, name, viewId, repackName) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb', line 42

def repack_Element2ModElements_atoms(args, name, viewId, repackName)      
  if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:AppEvent2Elements].is_a?(Hash)
    res = {atoms: {}, elements: {}}
    args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}                  
    args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
      hash_tNameProp.each do |fName, hash_fNameProp|         

        if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:AppEvent2Elements][:repack][:tOID].has_key?(hash_fNameProp[:fOID].to_sym)
  #               lookupDebug(name, hash_fNameProp)
          case hash_fNameProp[:tFqn] 
          when 'DialogModElementReply_keyboardButton', 'DialogModElementInline_keyboardButton', /DialogModElementInline_query_result*/
            row = hash_fNameProp[:tProp][:pos].split(":")[0]
            col = hash_fNameProp[:tProp][:pos].split(":")[1]
            res[:keyboards] ||= {}
            res[:keyboards][hash_fNameProp[:fOID]] ||= {}
            res[:keyboards][hash_fNameProp[:fOID]][hash_fNameProp[:fFqn].to_sym] ||= {}                  
            res[:keyboards][hash_fNameProp[:fOID]][hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] ||= {}
            res[:keyboards][hash_fNameProp[:fOID]][hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym][row] ||= {}
            res[:keyboards][hash_fNameProp[:fOID]][hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym][row][col] = {:tName => hash_fNameProp[:tName], :tValue => hash_fNameProp[:tProp][:value]}
            
            if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:ModElementsSpecs].is_a?(Hash)
              if  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:ModElementsSpecs][:repack][:tOID].has_key?(hash_fNameProp[:tOID].to_sym)
                base = args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:ModElementsSpecs][:repack][:tOID][hash_fNameProp[:tOID].to_sym]
                key = base[:fFqn].to_s.split /(?=[A-Z])/
                res[:keyboards][hash_fNameProp[:fOID]][hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym][row][col][:spec] = {key: key.last.downcase, value: base[:fProp][:value]}
              end
            end
            
            
          when /^DialogElement/
#                   Dialog.logger.debug "### 2 #{hash_fNameProp[:tFqn]} - #{hash_fNameProp[:tOID]}"
            res[:elements][hash_fNameProp[:fOID]] ||= {}
            res[:elements][hash_fNameProp[:fOID]][hash_fNameProp[:tOID]] = hash_fNameProp[:tFqn]
          end
#                 Dialog.logger.debug "### 2 #{hash_fNameProp[:tFqn]} - #{res[:atoms][hash_fNameProp[:fOID]]}"  
          if res[:atoms][hash_fNameProp[:fOID]].is_a?(Hash)
            res[:atoms][hash_fNameProp[:fOID]][hash_fNameProp[:tOID]][hash_fNameProp[:tFqn].to_sym][:tProp][row][col] = {tOID: hash_fNameProp[:tOID], tProp: hash_fNameProp[:tProp], modSend: modSend}   
          end
        end
      end 
    end    
    args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res   
  end
end

.repack_Element2ModElements_fFqn(args, name, viewId, repackName) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb', line 23

def repack_Element2ModElements_fFqn(args, name, viewId, repackName)      
  res = {}
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}                  
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|         

  #           Dialog.logger.debug "### repack_Element2ModElements_fFqn - #{hash_fNameProp}"                      
      if args[:dialect][:constructors][Dialog.config.naming.app.to_sym][:DockedGroupings2AppFunctions][:repack][:tEID][hash_fNameProp[:fEID]]           
        res[hash_fNameProp[:fFqn].to_sym] ||= {}
        res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] ||= {}
        res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] = hash_fNameProp[:tProp]
        res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] = hash_fNameProp[:tProp]              
      end        
    end 
  end    
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res            
end

.repack_Element2ModSend(args, name, viewId) ⇒ Object



16
17
18
19
20
21
# File 'lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb', line 16

def repack_Element2ModSend(args, name, viewId)   
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack] = {} 
  repack_Element2ModSend_fFqn(args, name, viewId, :fFqn)
  repack_Element2ModSend_atoms(args, name, viewId, :atoms)
  
end

.repack_Element2ModSend_atoms(args, name, viewId, repackName) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb', line 40

def repack_Element2ModSend_atoms(args, name, viewId, repackName)      
  res = {atoms: {}}
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}                  
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|
      case hash_fNameProp[:tFqn] 
      when /DialogModSendInline_keyboardButton*/   
        next
      end
      res[:atoms][hash_fNameProp[:fOID]] ||= {}
      res[:atoms][hash_fNameProp[:fOID]][hash_fNameProp[:tOID]] ||= {}
      res[:atoms][hash_fNameProp[:fOID]][hash_fNameProp[:tOID]][hash_fNameProp[:tFqn].to_sym] = {:fFqn => hash_fNameProp[:fFqn],  :tProp => hash_fNameProp[:tProp]}
    end 
  end    
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res            
end

.repack_Element2ModSend_fFqn(args, name, viewId, repackName) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb', line 23

def repack_Element2ModSend_fFqn(args, name, viewId, repackName)      
  res = {}
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}                  
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|
  #           if args[:dialect][:constructors][Dialog.config.naming.app.to_sym][:DockedGroupings2AppFunctions][:repack][:tEID][hash_fNameProp[:fEID]]
  #             Dialog.logger.debug "### Element2ModSend_fFqn - #{hash_fNameProp[:fFqn]} - #{hash_fNameProp[:tFqn]} - #{hash_fNameProp[:tProp]}"          
        res[hash_fNameProp[:fFqn].to_sym] ||= {}
        res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] ||= {}
        res[hash_fNameProp[:fFqn].to_sym][hash_fNameProp[:tFqn].to_sym] = hash_fNameProp[:tProp]
  #           end  
    end 
  end    
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res            
end

.repack_ElementChains(args, name, viewId) ⇒ Object



17
18
19
# File 'lib/dialect/codegen/repack/functional/7.ElementChains.rb', line 17

def repack_ElementChains(args, name, viewId)   
  repack_ElementChains_chain(args, name, viewId, :chain)            
end

.repack_ElementChains_chain(args, name, viewId, repackName) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/dialect/codegen/repack/functional/7.ElementChains.rb', line 22

def repack_ElementChains_chain(args, name, viewId, repackName)      
  step1Hash = {}
  step1Array = []
  step2Order = {}
  root = ""
  roots = []
  
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}                  
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][:fOID].each do |fOID, hash_fOIDProp|
    step1Hash[fOID.to_sym] = hash_fOIDProp[:tOID].to_sym
    step1Array << fOID.to_sym unless step1Array.include?(fOID)
    step1Array << hash_fOIDProp[:tOID].to_sym unless step1Array.include?(hash_fOIDProp[:OID])        
    if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:AppEvent2Elements][:repack][:tOID].has_key?(fOID.to_sym)
      roots << fOID
    end        
  end    
  
  
  roots.each do |root|
    baseRoot = root
    step2Order[root] ||= {}
    i=2
    cycle = 1
    step2Order[root][1] = root
    maxCycles = step1Array.count
    while cycle <= maxCycles 
      step1Hash.each do |fOID, tOID|
  #             Dialog.logger.debug "@@@1 i #{i}, step1Array.count #{step1Array.count}, if fOID #{fOID} ==  root #{root} => tOID #{tOID}"                          
        if fOID == root
          root = tOID.to_sym
          step2Order[baseRoot][i] = tOID
  #               Dialog.logger.debug "@@@2 i #{i}, step1Array.count #{step1Array.count}, fOID #{fOID}, tOID #{tOID}"              
          step1Array.delete(fOID) 
          step1Array.delete(tOID)     
          i = i +1
        end
        cycle += 1
      end    
    end
  end
  
  
  step3Final = {}
  step2Order.each do |root,v|
    step3Final[root] ||= {}
    step2Order[root].each do |step, fOID|
      step3Final[root][step] = {:oid => fOID.to_sym}        
      if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:AppEvent2Elements][:repack][:tOID].has_key?(fOID)
        step3Final[root][step][:fqn] = args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:AppEvent2Elements][:repack][:tOID][fOID][:tFqn]
      else
        if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:ElementChains][:repack][:fOID][fOID].is_a?(Hash)
          step3Final[root][step][:fqn] = args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:ElementChains][:repack][:fOID][fOID][:tFqn]
        else
          step3Final[root][step][:fqn] = args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:ElementChains][:repack][:tOID][fOID][:tFqn]
        end
      end
#             Dialog.logger.debug "step #{step}, fqn #{step3Final[root][step]}"
    end
  end
#         Dialog.logger.debug "@@@ step3Final::#{step3Final}"

  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = {:order => step3Final, :link => step1Hash}
end

.repack_Events2ModReceive(args, name, viewId) ⇒ Object



17
18
19
20
21
# File 'lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb', line 17

def repack_Events2ModReceive(args, name, viewId)      
  repack_Events2ModReceive_fOID2tFqn(args, name, viewId, :fOID2tFqn)    
  repack_Events2ModReceive_fEID2tFqn(args, name, viewId, :fEID2tFqn)          
  repack_Events2ModReceive_tOID2fOID(args, name, viewId, :tOID2fOID)            
end

.repack_Events2ModReceive_fEID2tFqn(args, name, viewId, repackName) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb', line 24

def repack_Events2ModReceive_fEID2tFqn(args, name, viewId, repackName)  
  res = {}
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}            
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|      
      res[hash_fNameProp[:fEID]] ||= {}
      res[hash_fNameProp[:fEID]][hash_fNameProp[:tFqn]] ||= {}
      res[hash_fNameProp[:fEID]][hash_fNameProp[:tFqn]][hash_fNameProp[:tProp][:scope]] ||= {}
      res[hash_fNameProp[:fEID]][hash_fNameProp[:tFqn]][hash_fNameProp[:tProp][:scope]][hash_fNameProp[:tOID]] = hash_fNameProp
    end 
  end     
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res      
end

.repack_Events2ModReceive_fOID2tFqn(args, name, viewId, repackName) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb', line 38

def repack_Events2ModReceive_fOID2tFqn(args, name, viewId, repackName)  
  res = {}
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}            
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|      
      res[hash_fNameProp[:fOID]] ||= {}
      res[hash_fNameProp[:fOID]][hash_fNameProp[:tFqn]] ||= {}
      res[hash_fNameProp[:fOID]][hash_fNameProp[:tFqn]][hash_fNameProp[:tProp][:scope]] ||= {}
      res[hash_fNameProp[:fOID]][hash_fNameProp[:tFqn]][hash_fNameProp[:tProp][:scope]][hash_fNameProp[:tOID]] = hash_fNameProp
    end 
  end     
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res      
end

.repack_Events2ModReceive_tOID2fOID(args, name, viewId, repackName) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb', line 53

def repack_Events2ModReceive_tOID2fOID(args, name, viewId, repackName) 
  res = {}      
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}      
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][:fOID2tFqn].each do |fOID, hash_tFqn|
    hash_tFqn.each do |tFqn, hash_Scope|
      hash_Scope.each do |scope, hash_tOID|
        hash_tOID.each do |tOID, prop|
            res[tOID] ||= {}
            res[tOID][:fOID] = fOID
        end
      end
    end 
  end
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res
end

.repack_Expect2Events(args, name, viewId) ⇒ Object



17
18
19
# File 'lib/dialect/codegen/repack/functional/1.Expect2Events.rb', line 17

def repack_Expect2Events(args, name, viewId)    
  repack_Expect2Events_tEID_root(args, name, viewId, :tEID_root)      
end

.repack_Expect2Events_tEID_root(args, name, viewId, repackName) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/dialect/codegen/repack/functional/1.Expect2Events.rb', line 22

def repack_Expect2Events_tEID_root(args, name, viewId, repackName)  
  res = {} 
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}      
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|
      res[hash_fNameProp[:tEID]] = {root: hash_fNameProp[:tFqn]}
    end 
  end  
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res
end

.repack_ModReceive2AppEvent(args, name, viewId) ⇒ Object



17
18
19
20
# File 'lib/dialect/codegen/repack/functional/2.2.2.ModReceive2AppEvent.rb', line 17

def repack_ModReceive2AppEvent(args, name, viewId)
  repack_ModReceive2AppEvent_parentOID2EID(args, name, viewId,:parentOID2EID)      
  
end

.repack_ModReceive2AppEvent_parentOID2EID(args, name, viewId, repackName) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/dialect/codegen/repack/functional/2.2.2.ModReceive2AppEvent.rb', line 25

def repack_ModReceive2AppEvent_parentOID2EID(args, name, viewId, repackName)  
  res = {}
  i = 1
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] ||= {}            
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:lookup].each do |tName, hash_tNameProp|
    hash_tNameProp.each do |fName, hash_fNameProp|     
      if args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:Events2ModReceive][:repack][:tOID2fOID].has_key?(hash_fNameProp[:tOID])
  #             lookupDebug(name, hash_fNameProp)
        parentOID = args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][:Events2ModReceive][:repack][:tOID2fOID][hash_fNameProp[:tOID]][:fOID]
        res[parentOID] ||= {}
        res[parentOID][hash_fNameProp[:fEID]] ||= {}
        res[parentOID][hash_fNameProp[:fEID]][hash_fNameProp[:tOID]] = hash_fNameProp       
      end
    end 
  end     
  args[:dialect][:perView][Dialog.config.naming.app.to_sym][viewId][name][:repack][repackName] = res      
end

.run(args, type) ⇒ Object



69
70
71
# File 'lib/dialect/codegen/run.rb', line 69

def run(args, type)
  dialect_codegenRun(args,type) 
end