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
- .dialect_codegenRun(args, type) ⇒ Object
- .dialect_codegenRun_pre(args) ⇒ Object
- .dialect_erb(args, type) ⇒ Object
- .dialect_repack(args) ⇒ Object
- .lookupDebug(name, prop) ⇒ Object
- .makeAErb(args, type, stage) ⇒ Object
- .makeARepack(args, stage) ⇒ Object
- .repack_constructors_DockedGroupings2AppFunctions(args, name, viewId) ⇒ Object
- .repack_constructors_DockedGroupings2AppFunctions_tEID(args, name, viewId, repackName) ⇒ Object
- .repack_constructors_Element2ModSend(args, name, viewId) ⇒ Object
- .repack_constructors_Element2ModSend_EInE_nores(args, name, viewId, repackName) ⇒ Object
- .repack_constructors_Element2ModSend_fFqn2tFqn(args, name, viewId, repackName) ⇒ Object
- .repack_constructors_ElementsInElements(args, name, viewId) ⇒ Object
- .repack_constructors_ElementsInElements_fFqn(args, name, viewId, repackName) ⇒ Object
- .repack_Element2ModElements(args, name, viewId) ⇒ Object
- .repack_Element2ModElements_atoms(args, name, viewId, repackName) ⇒ Object
- .repack_Element2ModElements_fFqn(args, name, viewId, repackName) ⇒ Object
- .repack_Element2ModSend(args, name, viewId) ⇒ Object
- .repack_Element2ModSend_atoms(args, name, viewId, repackName) ⇒ Object
- .repack_Element2ModSend_fFqn(args, name, viewId, repackName) ⇒ Object
- .repack_ElementChains(args, name, viewId) ⇒ Object
- .repack_ElementChains_chain(args, name, viewId, repackName) ⇒ Object
- .repack_Events2ModReceive(args, name, viewId) ⇒ Object
- .repack_Events2ModReceive_fEID2tFqn(args, name, viewId, repackName) ⇒ Object
- .repack_Events2ModReceive_fOID2tFqn(args, name, viewId, repackName) ⇒ Object
- .repack_Events2ModReceive_tOID2fOID(args, name, viewId, repackName) ⇒ Object
- .repack_Expect2Events(args, name, viewId) ⇒ Object
- .repack_Expect2Events_tEID_root(args, name, viewId, repackName) ⇒ Object
- .repack_ModReceive2AppEvent(args, name, viewId) ⇒ Object
- .repack_ModReceive2AppEvent_parentOID2EID(args, name, viewId, repackName) ⇒ Object
- .run(args, type) ⇒ Object
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 |