Module: Dialog::Metamess
- Defined in:
- lib/metamess/_run.rb,
lib/metamess/func.rb,
lib/metamess/event_c.rb,
lib/metamess/event/notify_o.rb,
lib/metamess/content/content_o.rb,
lib/metamess/service/service_o.rb,
lib/metamess/event/notify_o-create_f.rb,
lib/metamess/event/notify_o-pinned_f.rb,
lib/metamess/event/notify_o-migrate_f.rb,
lib/metamess/content/content_o-media_f.rb,
lib/metamess/content/content_o-simple_f.rb,
lib/metamess/event/notify_o-chattitle_f.rb,
lib/metamess/service/service_o-inline_f.rb,
lib/metamess/content/content_o-command_f.rb,
lib/metamess/event/notify_o-chatmember_f.rb,
lib/metamess/service/service_o-callback_f.rb
Constant Summary collapse
- ALL_CAPS =
('A'..'Z').to_a.join
Class Method Summary collapse
- .chatmemberCommon(args) ⇒ Object
- .chatmemberInCommon(args) ⇒ Object
- .chatmemberOutCommon(args) ⇒ Object
- .collect(args, fqnrun) ⇒ Object
- .collect_DialogEventNotifyMigrateChannel(args) ⇒ Object
- .collect_DialogEventNotifyMigrateGroup(args) ⇒ Object
- .collect_DialogEventNotifyMigrateMain(args) ⇒ Object
- .collect_DialogEventNotifyPinnedMain(args) ⇒ Object
- .collect_Event(args) ⇒ Object
- .collect_EventContent(args) ⇒ Object
- .collect_EventContentCommand(args) ⇒ Object
- .collect_EventContentCommandDialog(args) ⇒ Object
- .collect_EventContentCommandTelegram(args) ⇒ Object
- .collect_EventContentMedia(args) ⇒ Object
- .collect_EventContentMediaAudio(args) ⇒ Object
- .collect_EventContentMediaDocument(args) ⇒ Object
- .collect_EventContentMediaPhoto(args) ⇒ Object
- .collect_EventContentMediaSticker(args) ⇒ Object
- .collect_EventContentMediatVoice(args) ⇒ Object
- .collect_EventContentMediaVideo(args) ⇒ Object
- .collect_EventContentMediaVideo_note(args) ⇒ Object
- .collect_EventContentMediaVoice(args) ⇒ Object
- .collect_EventContentSimple(args) ⇒ Object
- .collect_EventContentSimpleText(args) ⇒ Object
- .collect_EventNotify(args) ⇒ Object
- .collect_EventNotifyChatmember(args) ⇒ Object
- .collect_EventNotifyChatmemberBan(args) ⇒ Object
- .collect_EventNotifyChatmemberIn_link(args) ⇒ Object
- .collect_EventNotifyChatmemberIn_open(args) ⇒ Object
- .collect_EventNotifyChatmemberInvite(args) ⇒ Object
- .collect_EventNotifyChatmemberLeave(args) ⇒ Object
- .collect_EventNotifyChattitle(args) ⇒ Object
- .collect_EventNotifyChattitleNew(args) ⇒ Object
- .collect_EventNotifyCreate(args) ⇒ Object
- .collect_EventNotifyMigrate(args) ⇒ Object
- .collect_EventNotifyPinned(args) ⇒ Object
- .collect_EventService(args) ⇒ Object
- .collect_EventServiceCallbackQuery(args) ⇒ Object
- .collect_EventServiceInline(args) ⇒ Object
- .collect_EventServiceInlineCresult(args) ⇒ Object
- .collect_EventServiceInlineQuery(args) ⇒ Object
- .commandType(args) ⇒ Object
- .content_channel(args) ⇒ Object
- .content_chat(args) ⇒ Object
- .content_chat_adv(args) ⇒ Object
-
.content_chat_private(args) ⇒ Object
Chat - private.
-
.content_chatDefaults(args) ⇒ Object
Chat.
- .content_edit(args) ⇒ Object
- .content_forward(args) ⇒ Object
- .content_getFQN(args) ⇒ Object
-
.content_getFQNMedia(args) ⇒ Object
Content methods.
- .content_message(args) ⇒ Object
-
.content_messageDefaults(args) ⇒ Object
Message.
- .content_messageDefaultsGet(args) ⇒ Object
- .content_reply(args) ⇒ Object
- .content_user(args) ⇒ Object
-
.content_userDefaults(args) ⇒ Object
User.
- .defaults_media(eval2mmsg) ⇒ Object
- .defaults_mediaWithDuration(eval2mmsg) ⇒ Object
-
.eval2mmsg_simplemap(eval2mmsg) ⇒ Object
TODO doubled functionality.
- .final(args) ⇒ Object
- .firstpoint(args) ⇒ Object
- .getChatContext(args) ⇒ Object
- .getStep(method) ⇒ Object
- .init(args) ⇒ Object
- .leaveGroup(args) ⇒ Object
- .message_identificate(args, fqnrun) ⇒ Object
- .metamessGen(args, eval2mmsg) ⇒ Object
- .metaStep(args, method) ⇒ Object
- .nodata(args:, from:) ⇒ Object
- .nofinal(args, step) ⇒ Object
- .rmsgcheckForm(args, k1, v1, k2 = true, v2 = true) ⇒ Object
Class Method Details
.chatmemberCommon(args) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 45 def chatmemberCommon(args) (args,eval2mmsg = { :from => {f1: '[:chat]'}, :to => {t1: '[:fqndata][:o][:chat]'}, :fFields => {v1: :title}, :fFieldsOpt => {v1: :username}, }) end |
.chatmemberInCommon(args) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 54 def chatmemberInCommon(args) chatmemberCommon(args) (args) (args) content_userDefaults(args) (args,eval2mmsg = { :from => {f1: '[:new_chat_members][0]'}, :to => {t1: '[:fqndata][:g][:user]'}, :fFields => args[:x][:metamess][:userDefaults_fFields], :fFieldsOpt => args[:x][:metamess][:userDefaults_fFieldsOpt], }) end |
.chatmemberOutCommon(args) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 92 def chatmemberOutCommon(args) chatmemberCommon(args) (args) (args) content_userDefaults(args) (args,eval2mmsg = { :from => {f1: '[:left_chat_member]'}, :to => {t1: '[:fqndata][:g][:user]'}, :fFields => args[:x][:metamess][:userDefaults_fFields], :fFieldsOpt => args[:x][:metamess][:userDefaults_fFieldsOpt], }) end |
.collect(args, fqnrun) ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/metamess/_run.rb', line 130 def collect(args,fqnrun) until fqnrun.nil? fqn = args[:mmsg][:fqn] # Dialog.logger.debug "RUN Metamess - collect: #{fqnrun}" if fqnrun.key?(:g) && !fqnrun.key?(:f) && !fqnrun.key?(:o) && !fqnrun.key?(:c) run = "#{fqn[:c].to_s.capitalize}#{fqn[:o].to_s.capitalize}#{fqn[:f].to_s.capitalize}#{fqnrun[:g].to_s.capitalize}" elsif fqnrun.key?(:f) && !fqnrun.key?(:o) && !fqnrun.key?(:c) run = "#{fqn[:c].to_s.capitalize}#{fqn[:o].to_s.capitalize}#{fqnrun[:f].to_s.capitalize}" elsif fqnrun.key?(:o) && !fqnrun.key?(:c) run = "#{fqn[:c].to_s.capitalize}#{fqnrun[:o].to_s.capitalize}" elsif fqnrun.key?(:c) run = "#{fqnrun[:c].to_s.capitalize}" else Dialog.logger.error "LOST MESSAGE!! " raise 'LostMessage' end run = "collect_#{run}" # Dialog.logger.debug "RUN Metamess - begin: #{run}" Dialog.clear(args) args[:mmsg][:fqnrun] = fqnrun send(run.to_sym, args) fqnrun = args[:mmsg][:fqnrun] Dialog.clear(args) # Dialog.logger.debug "RUN Metamess - end: #{run}" end end |
.collect_DialogEventNotifyMigrateChannel(args) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/metamess/event/notify_o-create_f.rb', line 32 def collect_DialogEventNotifyMigrateChannel(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_DialogEventNotifyMigrateGroup(args) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/metamess/event/notify_o-create_f.rb', line 24 def collect_DialogEventNotifyMigrateGroup(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_DialogEventNotifyMigrateMain(args) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/metamess/event/notify_o-migrate_f.rb', line 24 def collect_DialogEventNotifyMigrateMain(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_DialogEventNotifyPinnedMain(args) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/metamess/event/notify_o-pinned_f.rb', line 24 def collect_DialogEventNotifyPinnedMain(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_Event(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/event_c.rb', line 16 def collect_Event(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventContent(args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/metamess/content/content_o.rb', line 16 def collect_EventContent(args) (args, __method__.to_s) ### BODY ### Message (args) ### User content_user(args) unless args[:rmsg][:chat][:type] == 'channel' ### Chat content_chat(args) ### Chat - private content_chat_private(args) if args[:rmsg][:chat][:type] == 'private' ### Chat - group content_chat_adv(args) unless args[:rmsg][:chat][:type] == 'private' ### Channel content_channel(args) if args[:rmsg][:chat][:type] == 'channel' ### Reply content_reply(args) unless args[:rmsg][:reply_to_message].nil? ### Forward content_forward(args) unless args[:rmsg][:forward_date].nil? ### Edit content_edit(args) unless args[:rmsg][:edit_date].nil? getChatContext(args) content_getFQN(args) ### EOF BODY return final(args) end |
.collect_EventContentCommand(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/content/content_o-command_f.rb', line 16 def collect_EventContentCommand(args) (args, __method__.to_s) ### BODY commandType(args) ### EOF BODY return final(args) end |
.collect_EventContentCommandDialog(args) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/metamess/content/content_o-command_f.rb', line 82 def collect_EventContentCommandDialog(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventContentCommandTelegram(args) ⇒ Object
90 91 92 93 94 95 96 |
# File 'lib/metamess/content/content_o-command_f.rb', line 90 def collect_EventContentCommandTelegram(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventContentMedia(args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/metamess/content/content_o-media_f.rb', line 16 def collect_EventContentMedia(args) (args, __method__.to_s) ### BODY (args,eval2mmsg = { :to => {t1: '[:fqndata][:f]'}, :fFieldsOpt => {v1: :caption}, }) ### EOF BODY return final(args) end |
.collect_EventContentMediaAudio(args) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/metamess/content/content_o-media_f.rb', line 89 def collect_EventContentMediaAudio(args) (args, __method__.to_s) ### from = {f1: '[:audio]'} eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = from (args,eval2mmsg) eval2mmsg = defaults_mediaWithDuration(eval2mmsg) eval2mmsg[:from] = from (args,eval2mmsg) ### EOF BODY return final(args) end |
.collect_EventContentMediaDocument(args) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/metamess/content/content_o-media_f.rb', line 60 def collect_EventContentMediaDocument(args) (args, __method__.to_s) ### BODY eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = {f1: '[:document]'} (args,eval2mmsg) (args,eval2mmsg = { :from => {f1: '[:document]'}, :to => {t1: '[:fqndata][:f][:file]'}, :fFields => {v1: :file_name}, :fFieldsOpt => {v1: :name}, }) args[:mmsg][:fqndata][:f][:file][:path] = Dialog::Wrappers.apiGetFilePath(args[:mmsg][:fqndata][:f][:file][:id]) ### EOF BODY return final(args) end |
.collect_EventContentMediaPhoto(args) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/metamess/content/content_o-media_f.rb', line 47 def collect_EventContentMediaPhoto(args) (args, __method__.to_s) ### BODY #args[:rmsg].photo[-1].file_size ## TODO - for array eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = {f1: '[:photo][-1]'} (args,eval2mmsg) args[:mmsg][:fqndata][:f][:file][:path] = Dialog::Wrappers.apiGetFilePath(args[:mmsg][:fqndata][:f][:file][:id]) ### EOF BODY return final(args) end |
.collect_EventContentMediaSticker(args) ⇒ Object
137 138 139 140 141 142 143 144 145 |
# File 'lib/metamess/content/content_o-media_f.rb', line 137 def collect_EventContentMediaSticker(args) (args, __method__.to_s) ### BODY eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = {f1: '[:sticker]'} (args,eval2mmsg) ### EOF BODY return final(args) end |
.collect_EventContentMediatVoice(args) ⇒ Object
79 80 81 82 83 84 85 86 87 |
# File 'lib/metamess/content/content_o-media_f.rb', line 79 def collect_EventContentMediatVoice(args) (args, __method__.to_s) ### BODY eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = {f1: '[:tvoice]'} (args,eval2mmsg) ### EOF BODY return final(args) end |
.collect_EventContentMediaVideo(args) ⇒ Object
103 104 105 106 107 108 109 110 111 |
# File 'lib/metamess/content/content_o-media_f.rb', line 103 def collect_EventContentMediaVideo(args) (args, __method__.to_s) ### BODY eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = {f1: '[:video]'} (args,eval2mmsg) ### EOF BODY return final(args) end |
.collect_EventContentMediaVideo_note(args) ⇒ Object
113 114 115 116 117 118 119 120 121 |
# File 'lib/metamess/content/content_o-media_f.rb', line 113 def collect_EventContentMediaVideo_note(args) (args, __method__.to_s) ### BODY eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = {f1: '[:video_note]'} (args,eval2mmsg) ### EOF BODY return final(args) end |
.collect_EventContentMediaVoice(args) ⇒ Object
123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/metamess/content/content_o-media_f.rb', line 123 def collect_EventContentMediaVoice(args) (args, __method__.to_s) ### BODY from = {f1: '[:voice]'} eval2mmsg = defaults_media(eval2mmsg) eval2mmsg[:from] = from (args,eval2mmsg) eval2mmsg = defaults_mediaWithDuration(eval2mmsg) eval2mmsg[:from] = from (args,eval2mmsg) ### EOF BODY return final(args) end |
.collect_EventContentSimple(args) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/metamess/content/content_o-simple_f.rb', line 16 def collect_EventContentSimple(args) (args, __method__.to_s) ### BODY args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Simple::Genus.Text ### EOF BODY return final(args) end |
.collect_EventContentSimpleText(args) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/metamess/content/content_o-simple_f.rb', line 25 def collect_EventContentSimpleText(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventNotify(args) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/metamess/event/notify_o.rb', line 16 def collect_EventNotify(args) (args, __method__.to_s) ### BODY content_user(args) unless args[:rmsg][:chat][:type] == 'channel' ### Chat content_chat(args) ### EOF BODY return final(args) end |
.collect_EventNotifyChatmember(args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 16 def collect_EventNotifyChatmember(args) (args, __method__.to_s) ### BODY args[:rmsg][:new_chat_members].each do |member| args[:mmsg][:fqndata][:g] ||= {} if member[:id] == args[:rmsg][:from][:id] && member[:is_bot] == false if args[:rmsg][:chat][:username].nil? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Notify::Family::ChatMember::Genus.In_link else args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Notify::Family::ChatMember::Genus.In_open end else args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Notify::Family::ChatMember::Genus.Invite end end unless args[:rmsg][:left_chat_member].nil? args[:mmsg][:fqndata][:g] = {} if args[:rmsg][:left_chat_member][:id] == args[:rmsg][:from][:id] && args[:rmsg][:left_chat_member][:is_bot] == false args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Notify::Family::ChatMember::Genus.Leave else args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Notify::Family::ChatMember::Genus.Ban end end ### EOF BODY return final(args) end |
.collect_EventNotifyChatmemberBan(args) ⇒ Object
114 115 116 117 118 119 120 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 114 def collect_EventNotifyChatmemberBan(args) (args, __method__.to_s) ### BODY chatmemberOutCommon(args) ### EOF BODY return final(args) end |
.collect_EventNotifyChatmemberIn_link(args) ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 68 def collect_EventNotifyChatmemberIn_link(args) (args, __method__.to_s) ### BODY chatmemberInCommon(args) ### EOF BODY return final(args) end |
.collect_EventNotifyChatmemberIn_open(args) ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 76 def collect_EventNotifyChatmemberIn_open(args) (args, __method__.to_s) ### BODY chatmemberInCommon(args) ### EOF BODY return final(args) end |
.collect_EventNotifyChatmemberInvite(args) ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 84 def collect_EventNotifyChatmemberInvite(args) (args, __method__.to_s) ### BODY chatmemberInCommon(args) ### EOF BODY return final(args) end |
.collect_EventNotifyChatmemberLeave(args) ⇒ Object
106 107 108 109 110 111 112 |
# File 'lib/metamess/event/notify_o-chatmember_f.rb', line 106 def collect_EventNotifyChatmemberLeave(args) (args, __method__.to_s) ### BODY chatmemberOutCommon(args) ### EOF BODY return final(args) end |
.collect_EventNotifyChattitle(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/event/notify_o-chattitle_f.rb', line 16 def collect_EventNotifyChattitle(args) (args, __method__.to_s) ### BODY args[:mmsg][:fqn][:g] = 'new' ### EOF BODY return final(args) end |
.collect_EventNotifyChattitleNew(args) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/metamess/event/notify_o-chattitle_f.rb', line 24 def collect_EventNotifyChattitleNew(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventNotifyCreate(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/event/notify_o-create_f.rb', line 16 def collect_EventNotifyCreate(args) (args, __method__.to_s) ### BODY args[:mmsg][:fqn][:g] = Dialog::Naming::Class::Default::Order::Default::Genus.Main ### EOF BODY return final(args) end |
.collect_EventNotifyMigrate(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/event/notify_o-migrate_f.rb', line 16 def collect_EventNotifyMigrate(args) (args, __method__.to_s) ### BODY args[:mmsg][:fqn][:g] = Dialog::Naming::Class::Default::Order::Default::Genus.Main ### EOF BODY return final(args) end |
.collect_EventNotifyPinned(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/event/notify_o-pinned_f.rb', line 16 def collect_EventNotifyPinned(args) (args, __method__.to_s) ### BODY args[:mmsg][:fqn][:g] = Dialog::Naming::Class::Default::Order::Default::Genus.Main ### EOF BODY return final(args) end |
.collect_EventService(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/service/service_o.rb', line 16 def collect_EventService(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventServiceCallbackQuery(args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/metamess/service/service_o-callback_f.rb', line 16 def collect_EventServiceCallbackQuery(args) (args, __method__.to_s) ### BODY content_user(args) (args) if args[:rmsg].has_key?(:message) #location # TODO (args,eval2mmsg = { :to => {t1: '[:g][:callback]'}, :fFields => {v1: :id, v2: :chat_instance}, :fFieldsOpt => {v1: :inline_message_id, v2: :data}, }) ### EOF BODY return final(args) end |
.collect_EventServiceInline(args) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/metamess/service/service_o-inline_f.rb', line 16 def collect_EventServiceInline(args) (args, __method__.to_s) ### BODY ### EOF BODY return final(args) end |
.collect_EventServiceInlineCresult(args) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/metamess/service/service_o-inline_f.rb', line 39 def collect_EventServiceInlineCresult(args) (args, __method__.to_s) ### BODY content_user(args) (args,eval2mmsg = { :to => {t1: '[:g][:inline]'}, :fFields => {v1: :result_id, v2: :query}, :tFields => {v1: :id, v2: :query}, :fFieldsOpt => {v1: :inline_message_id}, }) ### EOF BODY return final(args) end |
.collect_EventServiceInlineQuery(args) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/metamess/service/service_o-inline_f.rb', line 25 def collect_EventServiceInlineQuery(args) (args, __method__.to_s) ### BODY content_user(args) #location # TODO (args,eval2mmsg = { :to => {t1: '[:g][:inline]'}, :fFields => {v1: :id, v2: :query, v3: :offset}, }) ### EOF BODY return final(args) end |
.commandType(args) ⇒ Object
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 |
# File 'lib/metamess/content/content_o-command_f.rb', line 25 def commandType(args) case args[:mmsg][:fqndata][:o][:msg][:textStartWith] when /^_[а-яА-ЯёЁa-zA-Z0-9]..*.:.*[а-яА-ЯёЁa-zA-Z0-9]+$/ delimiter = ":" args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Dialog when /^_[а-яА-ЯёЁa-zA-Z0-9]*[^:]*\s*[а-яА-ЯёЁa-zA-Z0-9]+$/ delimiter = "\s" args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Dialog when /^\/[а-яА-ЯёЁa-zA-Z0-9]..*.:.*[а-яА-ЯёЁa-zA-Z0-9]+$/ delimiter = ":" args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Telegram when /^\/[а-яА-ЯёЁa-zA-Z0-9]*[^:]*\s*[а-яА-ЯёЁa-zA-Z0-9]+$/ delimiter = "\s" args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Telegram else delimiter = false end Dialog.logger.debug("###### delimiter - #{delimiter} ") if ! delimiter == false bot_fullcommand = args[:mmsg][:fqndata][:o][:msg][:textStartWith].split(delimiter) bot_command = bot_fullcommand[0].strip[1..-1].downcase if /.@.*/.match?(bot_command) if /.@#{args[:globals][:botUsername].downcase}.*/.match?(bot_command) bot_command = bot_command.split('@')[0] else Dialog.logger.error("###### COMMAND FOR OTHER BOT! ") raise end end if bot_fullcommand[1].nil? bot_subcommand = '_main' else bot_fullcommand.shift bot_fullcommand.each do |v| if /^#.*|^@.*/.match?(v) next else bot_subcommand = "#{bot_subcommand}_#{v.downcase}" end end bot_subcommand = '_main' if bot_subcommand == '' end else bot_command = args[:mmsg][:fqndata][:o][:msg][:textStartWith].strip[1..-1].downcase bot_subcommand = '_main' end args[:mmsg][:fqndata][:f][:bot_command] = bot_command args[:mmsg][:fqndata][:f][:bot_subcommand] = bot_subcommand end |
.content_channel(args) ⇒ Object
175 176 177 178 179 180 |
# File 'lib/metamess/content/content_o.rb', line 175 def content_channel(args) (args,eval2mmsg = { :to => {t1: '[:fqndata][:o][:from]'}, :fFieldsOpt => {v1: :author_signature}, }) end |
.content_chat(args) ⇒ Object
146 147 148 149 150 151 152 153 |
# File 'lib/metamess/content/content_o.rb', line 146 def content_chat(args) content_chatDefaults(args) (args,eval2mmsg = { :from => {f1: '[:chat]'}, :to => {t1: '[:fqndata][:o][:chat]'}, :fFields => args[:x][:metamess][:chatDefaults_fFields], }) end |
.content_chat_adv(args) ⇒ Object
165 166 167 168 169 170 171 172 173 |
# File 'lib/metamess/content/content_o.rb', line 165 def content_chat_adv(args) (args,eval2mmsg = { :from => {f1: '[:chat]'}, :to => {t1: '[:fqndata][:o][:chat]'}, :fFields => {v1: :title}, :fFieldsOpt => {v1: :pinned_message, v2: :invite_link, v3: :username}, :tFieldsOpt => {v1: :pinned_message, v2: :invitelink_name, v3: :chatlink_name}, }) end |
.content_chat_private(args) ⇒ Object
Chat - private
156 157 158 159 160 161 162 |
# File 'lib/metamess/content/content_o.rb', line 156 def content_chat_private(args) (args,eval2mmsg = { :from => {f1: '[:chat]'}, :to => {t1: '[:fqndata][:o][:chat]'}, :fFields => {v1: :first_name, v2: :last_name, v3: :username}, }) end |
.content_chatDefaults(args) ⇒ Object
Chat
142 143 144 |
# File 'lib/metamess/content/content_o.rb', line 142 def content_chatDefaults(args) args[:x][:metamess][:chatDefaults_fFields] = {v1: :id, v2: :type} end |
.content_edit(args) ⇒ Object
231 232 233 234 235 236 237 238 239 240 241 |
# File 'lib/metamess/content/content_o.rb', line 231 def content_edit(args) args[:mmsg][:actionsd][:edit] = {} args[:mmsg][:fqndata][:o][:msg][:msgtype] = Dialog::Naming::Class::Event::Order::Content::Type.Edit args[:mmsg][:actions] << args[:mmsg][:fqndata][:o][:msg][:msgtype] (args,eval2mmsg = { :to => {t1: '[:actionsd][:edit]'}, :fFields => {v1: :edit_date}, :tFields => {v1: :date}, }) end |
.content_forward(args) ⇒ Object
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/metamess/content/content_o.rb', line 200 def content_forward(args) args[:mmsg][:fqndata][:o][:msg][:msgtype] = Dialog::Naming::Class::Event::Order::Content::Type.Forward args[:mmsg][:actions] << args[:mmsg][:fqndata][:o][:msg][:msgtype] args[:mmsg][:actionsd][:forward] = {} #forward_signature content_userDefaults(args) (args,eval2mmsg = { :from => {f1: '[:forward_from]'}, :to => {t1: '[:actionsd]'}, :fFields => args[:x][:metamess][:userDefaults_fFields], :fFieldsOpt => args[:x][:metamess][:userDefaults_fFieldsOpt], }) (args,eval2mmsg = { :to => {t1: '[:actionsd][:forward][:msg]'}, :fFields => {v1: :forward_date}, :tFields => {v1: :date}, :fFieldsOpt => {v1: :forward_from_message_id}, :tFieldsOpt => {v1: :id}, }) (args,eval2mmsg = { :to => {t1: '[:actionsd][:forward][:chat]'}, :fFieldsOpt => {v1: :forward_from_chat}, :tFieldsOpt => {v1: :id}, }) end |
.content_getFQN(args) ⇒ Object
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 86 |
# File 'lib/metamess/content/content_o.rb', line 60 def content_getFQN(args) content_getFQNMedia(args) if args[:mmsg][:fqnrun][:f].nil? if args[:rmsg].respond_to?(:contact) && !args[:rmsg].contact.nil? args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Contact elsif args[:rmsg].respond_to?(:location) && !args[:rmsg].location.nil? args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Location elsif args[:rmsg].respond_to?(:invoice) && !args[:rmsg].invoice.nil? args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Invoice end end if args[:mmsg][:fqnrun][:f].nil? if args[:mmsg][:fqndata][:o][:msg].key?(:textStartWith) case args[:mmsg][:fqndata][:o][:msg][:textStartWith] when ->(s) { (s.size < 70 and ((s[0] == '_') or (s[0] == '/'))) } args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Command else args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Simple end else args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Notext end end end |
.content_getFQNMedia(args) ⇒ Object
Content methods
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/metamess/content/content_o.rb', line 48 def content_getFQNMedia(args) args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Photo if args[:rmsg].respond_to?(:photo) && !args[:rmsg].photo.empty? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Document if args[:rmsg].respond_to?(:document) && !args[:rmsg].document.nil? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Voice if args[:rmsg].respond_to?(:voice) && !args[:rmsg].voice.nil? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Audio if args[:rmsg].respond_to?(:audio) && !args[:rmsg].audio.nil? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Video if args[:rmsg].respond_to?(:video) && !args[:rmsg].video.nil? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Videonote if args[:rmsg].respond_to?(:video_note) && !args[:rmsg].video_note.nil? args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Media::Genus.Sticker if args[:rmsg].respond_to?(:sticker) && !args[:rmsg].sticker.nil? args[:mmsg][:fqnrun][:f] = Dialog::Naming::Class::Event::Order::Content::Family.Media unless args[:mmsg][:fqnrun][:g].nil? end |
.content_message(args) ⇒ Object
115 116 117 118 119 120 121 |
# File 'lib/metamess/content/content_o.rb', line 115 def (args) (args) (args) args[:mmsg][:fqndata][:o][:msg][:msgtype] = Dialog::Naming::Class::Event::Order::Content::Type.Original args[:rmsg].text.nil? ? true : args[:mmsg][:fqndata][:o][:msg][:textStartWith] = args[:rmsg].text.split[0..10].join(' ') end |
.content_messageDefaults(args) ⇒ Object
Message
101 102 103 104 |
# File 'lib/metamess/content/content_o.rb', line 101 def (args) args[:x][:metamess][:messageDefaults_fFields] = {v1: :message_id, v2: :date} args[:x][:metamess][:messageDefaults_tFields] = {v1: :id, v2: :date} end |
.content_messageDefaultsGet(args) ⇒ Object
106 107 108 109 110 111 112 113 |
# File 'lib/metamess/content/content_o.rb', line 106 def (args) (args,eval2mmsg = { :to => {t1: '[:fqndata][:o][:msg]'}, :fFields => args[:x][:metamess][:messageDefaults_fFields], :tFields => args[:x][:metamess][:messageDefaults_tFields], :fFieldsOpt => {v1: :text} }) end |
.content_reply(args) ⇒ Object
183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# File 'lib/metamess/content/content_o.rb', line 183 def content_reply(args) args[:mmsg][:fqndata][:o][:msg][:msgtype] = Dialog::Naming::Class::Event::Order::Content::Type.Reply args[:mmsg][:actions] << args[:mmsg][:fqndata][:o][:msg][:msgtype] #callback args[:rmsgMain] = Hash.new.merge(args[:rmsg]) args[:rmsg] = args[:rmsg][:reply_to_message] args[:mmsgMain] = Hash.new.merge(args[:mmsg]) args[:mmsg] = {}; init(args); args[:mmsgCallback] = Dialog::Metamess.collect_EventContent(args) args[:mmsg] = args[:mmsgMain]; args.delete(:mmsgMain) args[:rmsg] = args[:rmsgMain]; args.delete(:rmsgMain) args[:mmsg][:actionsd][:reply] = args[:mmsgCallback]; args.delete(:mmsgCallback) end |
.content_user(args) ⇒ Object
130 131 132 133 134 135 136 137 138 139 |
# File 'lib/metamess/content/content_o.rb', line 130 def content_user(args) content_userDefaults(args) (args,eval2mmsg = { :from => {f1: '[:from]'}, :to => {t1: '[:fqndata][:o][:from]'}, :fFields => args[:x][:metamess][:userDefaults_fFields], :fFieldsOpt => args[:x][:metamess][:userDefaults_fFieldsOpt], }) end |
.content_userDefaults(args) ⇒ Object
User
125 126 127 128 |
# File 'lib/metamess/content/content_o.rb', line 125 def content_userDefaults(args) args[:x][:metamess][:userDefaults_fFields] = {v1: :id, v2: :first_name, v3: :username, v4: :is_bot} args[:x][:metamess][:userDefaults_fFieldsOpt] = {v1: :last_name, v2: :language_code} end |
.defaults_media(eval2mmsg) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/metamess/content/content_o-media_f.rb', line 28 def defaults_media(eval2mmsg) eval2mmsg = { :to => {t1: '[:fqndata][:f][:file]'}, :fFields => {v1: :file_id, v2: :file_size}, :tFields => {v1: :id, v2: :size}, :fFieldsOpt => {v1: :mime_type}, } return eval2mmsg end |
.defaults_mediaWithDuration(eval2mmsg) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/metamess/content/content_o-media_f.rb', line 38 def defaults_mediaWithDuration(eval2mmsg) eval2mmsg = { :to => {t1: '[:fqndata][:f][:file]'}, :fFieldsOpt => {v1: :duration}, } return eval2mmsg end |
.eval2mmsg_simplemap(eval2mmsg) ⇒ Object
TODO doubled functionality
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/metamess/func.rb', line 114 def eval2mmsg_simplemap(eval2mmsg) # TODO doubled functionality map = {} if eval2mmsg.key?(:fFields) eval2mmsg[:tFields] = eval2mmsg[:fFields] unless eval2mmsg.key?(:tFields) if eval2mmsg[:fFields].size == eval2mmsg[:tFields].size map[:base] = {} i = 1 while i <= eval2mmsg[:tFields].size do map[:base][:"m#{i}".to_sym] = {from: 'f1', to: 't1'} i+=1 end else Dialog.logger.error "EVAL map not equal" raise end end if eval2mmsg.key?(:fFieldsOpt) eval2mmsg[:tFieldsOpt] = eval2mmsg[:fFieldsOpt] unless eval2mmsg.has_key?(:tFieldsOpt) if eval2mmsg[:fFieldsOpt].size == eval2mmsg[:tFieldsOpt].size map[:opt] = {} i = 1 while i <= eval2mmsg[:tFieldsOpt].size do map[:opt][:"m#{i}".to_sym] = {from: 'f1', to: 't1'} i+=1 end else Dialog.logger.error "EVAL map not equal" raise end end # Dialog.logger.debug "#{map}" return map end |
.final(args) ⇒ Object
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/metamess/func.rb', line 187 def final(args) if args[:mmsg][:fqn].key?(:g) args[:mmsg].delete(:fqnrun) elsif args[:mmsg][:fqn].key?(:f) args[:mmsg][:fqnrun].key?(:g) ? args[:mmsg][:fqnrun].delete(:f) : nofinal(args, 'f->g') elsif args[:mmsg][:fqn].key?(:o) args[:mmsg][:fqnrun].key?(:f) ? args[:mmsg][:fqnrun].delete(:o) : nofinal(args, 'o->f') elsif args[:mmsg][:fqn].key?(:c) args[:mmsg][:fqnrun].key?(:o) ? args[:mmsg][:fqnrun].delete(:c) : nofinal(args, 'c->o') else Dialog.logger.error "### FINAL GOES WRONG" end return args[:mmsg] end |
.firstpoint(args) ⇒ Object
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 85 86 87 88 89 90 |
# File 'lib/metamess/_run.rb', line 39 def firstpoint(args) Dialog.clear(args) # args[:mmsg] = Concurrent::Hash.new init(args) fqnrun = {} fqnrun[:c] = Dialog::Naming::Class.Event case args[:rmsg].class.to_s when 'Telegram::Bot::Types::InlineQuery' fqnrun[:o] = Dialog::Naming::Class::Event::Order.Service fqnrun[:f] = Dialog::Naming::Class::Event::Order::Service::Family.Inline fqnrun[:g] = Dialog::Naming::Class::Event::Order::Service::Family::Inline::Genus.Query when 'Telegram::Bot::Types::ChosenInlineResult' fqnrun[:o] = Dialog::Naming::Class::Event::Order.Service fqnrun[:f] = Dialog::Naming::Class::Event::Order::Service::Family.Inline fqnrun[:g] = Dialog::Naming::Class::Event::Order::Service::Family::Inline::Genus.Cresult when 'Telegram::Bot::Types::CallbackQuery' fqnrun[:o] = Dialog::Naming::Class::Event::Order.Service fqnrun[:f] = Dialog::Naming::Class::Event::Order::Service::Family.Callback fqnrun[:g] = Dialog::Naming::Class::Event::Order::Service::Family::Callback::Genus.Query when 'Telegram::Bot::Types::Message' (args,fqnrun) end collect(args,fqnrun) Dialog.logger.info("## RESULT of Metamess: #{args[:mmsg]}\n") ##needs refactor to lambda args[:rmsg].to_h.each do |k1, v1| unless ['NilClass', 'Array', 'Integer', 'String'].include?(v1.class.to_s) v1.to_h.each do |k2, v2| args[:rmsgcheck][k1.to_sym] ||= {} rmsgcheckForm(args, k1, v1, k2, v2) end else rmsgcheckForm(args, k1, v1) end end ## # Dialog.logger.debug("################## rmsgcheck - #{args[:rmsgcheck]}") # Dialog.logger.debug("################## metacheck - #{args[:metacheck]}") diff = args[:rmsgcheck].diff(args[:metacheck]) unless diff == {} Dialog.logger.error("@@@@ !!!! Metacheck diff: #{diff}") Dialog.logger.info "RAW MSG:\n#{args[:rmsg].to_hash}\n" end args[:metacheck] = {} args[:rmsg] = {} args[:perf][:metamess] = Time.now Dialog::Canvas.run(args) end |
.getChatContext(args) ⇒ Object
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
# File 'lib/metamess/func.rb', line 152 def getChatContext(args) Dialog.clearRedis(args) case args[:mmsg][:fqndata][:o][:chat][:type] when 'private' context = Naming::ChatContext.Private when 'group' leaveGroup(args) when 'supergroup' args[:x][:redis][:region] = 'chat' args[:x][:redis][:territory] = 'context' context = Dialog::RedisCached.pullCached(args) when 'channel' context = 'unknown' end #Check args[:x][:metamess][:key] = 'context' context.nil? ? nodata(args: args, from: 'context') : args[:mmsg][:fqndata][:o][:chat][:context] = context end |
.getStep(method) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/metamess/func.rb', line 19 def getStep(method) step = {} case method.count(ALL_CAPS) when 1 step[:prev] = false step[:curr] = :c step[:next] = :o when 2 step[:prev] = :c step[:curr] = :o step[:next] = :f when 3 step[:prev] = :o step[:curr] = :f step[:next] = :g when 4 step[:prev] = :g step[:curr] = :g step[:next] = true end return step end |
.init(args) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/metamess/_run.rb', line 18 def init(args) args[:mmsg] = {actions: [], actionsd: {}, fqn: {}, fqndata: {}, fqnrun: {}} nestedHash = lambda {|h,k| h[k] = Hash.new(&nestedHash)} args[:rmsgcheck] = Hash.new args[:metacheck] = Hash.new(&nestedHash) end |
.leaveGroup(args) ⇒ Object
177 178 179 180 181 182 183 184 185 |
# File 'lib/metamess/func.rb', line 177 def leaveGroup(args) args[:api][:op] = 'Message' args[:smsg] = {} args[:smsg][:chat_id] = args[:rmsg].chat.id args[:smsg][:text] = I18n.t('_action_group2supergroup') Dialog::BotApi.apiActionSend(args) args[:api][:op] = 'leaveChat' Dialog::BotApi.apiAction(args) end |
.message_identificate(args, fqnrun) ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/metamess/_run.rb', line 93 def (args,fqnrun) rmsg= args[:rmsg] if rmsg.respond_to?(:new_chat_members) && !rmsg.new_chat_members.empty? || rmsg.respond_to?(:left_chat_member) && !rmsg.left_chat_member.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.ChatMember elsif rmsg.respond_to?(:new_chat_photo) && !rmsg.new_chat_photo.empty? || rmsg.respond_to?(:delete_chat_photo) && !rmsg.delete_chat_photo.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.ChatPhoto elsif rmsg.respond_to?(:new_chat_title) && !rmsg.new_chat_title.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.ChatTitle elsif rmsg.respond_to?(:group_chat_created)&& !rmsg.group_chat_created.nil? || rmsg.respond_to?(:supergroup_chat_created)&& !rmsg.supergroup_chat_created.nil? rmsg.respond_to?(:channel_chat_created) && !rmsg.channel_chat_created.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Create elsif rmsg.respond_to?(:migrate_to_chat_id)&& !rmsg.migrate_to_chat_id.nil? || rmsg.respond_to?(:migrate_from_chat_id) && !rmsg.migrate_from_chat_id.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Migrate elsif rmsg.respond_to?(:pinned_message) && !rmsg..nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Pinned elsif rmsg.respond_to?(:connected_website) && !rmsg.connected_website.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Login elsif rmsg.respond_to?(:passport_data) && !rmsg.passport_data.nil? fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Passport else fqnrun[:o] = Dialog::Naming::Class::Event::Order.Content end end |
.metamessGen(args, eval2mmsg) ⇒ Object
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/metamess/func.rb', line 48 def (args,eval2mmsg) toPrefix = 'args[:mmsg]' ## BUG !!!! EVAL!!! - migrate to instance_variable_set eval2mmsg[:to].each do |num, val| begin # Dialog.logger.debug "### checking hash: #{val}" val = "#{toPrefix}#{val}" eval("#{val}.length") rescue NoMethodError => @e # Dialog.logger.debug "### create hash: #{val}" eval("#{val} = {}") end end eval2mmsg[:map] = eval2mmsg_simplemap(eval2mmsg) unless eval2mmsg.has_key?(:map) eval2mmsg[:map].each do |mapType, mapTypeData| mapTypeData.each do |pk, pv| pk[1..-1] if mapType.to_s == 'opt' tFields = 'tFieldsOpt'; fFields = 'fFieldsOpt'; opt = true # Dialog.logger.debug "### 1 type: #{mapType}, tFields: #{tFields}, res: #{eval("#{eval2mmsg["#{tFields}".to_sym]}")}" else tFields = 'tFields'; fFields = 'fFields'; opt = false # Dialog.logger.debug "### 2 type: #{mapType}, tFields: #{tFields}, res: #{eval("#{eval2mmsg["#{tFields}".to_sym]}")}" end to = "#{toPrefix}#{eval2mmsg[:to][pv[:to].to_sym]}#{[eval2mmsg["#{tFields}".to_sym]["v#{pk[1..-1]}".to_sym]]}" if eval2mmsg.has_key?(:from) from = "#{eval2mmsg[:from][pv[:from].to_sym]}#{[eval2mmsg["#{fFields}".to_sym]["v#{pk[1..-1]}".to_sym]]}" else from = "#{[eval2mmsg["#{fFields}".to_sym]["v#{pk[1..-1]}".to_sym]]}" end ## refactor to lambda if opt == true begin eval("args[:rmsg]#{from}.nil?") ? = false : = "args[:metacheck]#{from}" rescue NoMethodError => @e = false end else = "args[:metacheck]#{from}" end # Dialog.logger.catch "### opt::#{opt}, from::#{from}, metacheck::#{metacheck}" eval("#{} = 1") unless == false from = "args[:rmsg]#{from}" # Dialog.logger.debug "### Metamessage - FROM #{from};\tTO: #{to}, type: #{mapType}" if mapType.to_s == 'opt' nilFunction = true else nilFunction = "nodata(args: args,from: from)" end begin eval("#{from}.nil? ? #{nilFunction} : #{to} = #{from}") rescue NoMethodError => @e Dialog.logger.debug "No method #{from}" if nilFunction == true rescue TypeError => @e Dialog.logger.error "Problems with mapping type: #{mapType}, #{tFields}->#{fFields}, may be optional?" raise end ## end end end |
.metaStep(args, method) ⇒ Object
209 210 211 212 213 214 215 216 |
# File 'lib/metamess/func.rb', line 209 def (args, method) method = method.split('_')[1] step = getStep(method) args[:mmsg][:fqn][step[:curr]] = args[:mmsg][:fqnrun][step[:curr]] args[:mmsg][:fqndata][step[:curr]] = {} args[:x][:metamess][:m] = method end |
.nodata(args:, from:) ⇒ Object
42 43 44 45 46 |
# File 'lib/metamess/func.rb', line 42 def nodata(args: , from: ) args[:x][:metamess][:nodata] = "### NO DATA FROM METAMESS RUNNER: Order '#{args[:x][:metamess][:o]}', method '#{args[:x][:metamess][:m]}' from '#{from}' ###" Dialog.logger.error "#{args[:x][:metamess][:nodata]}" raise TypeError end |
.nofinal(args, step) ⇒ Object
203 204 205 206 207 |
# File 'lib/metamess/func.rb', line 203 def nofinal(args, step) error = "### NO next FQN step (#{step}) for : '#{args[:mmsg]}' ###" Dialog.logger.error "#{error}" raise 'LostFQN' end |
.rmsgcheckForm(args, k1, v1, k2 = true, v2 = true) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/metamess/_run.rb', line 25 def rmsgcheckForm(args, k1, v1, k2=true, v2=true) vNext = true v2 == true ? value = v1 : value = v2 value.kind_of?(Array) ? vNext = value.empty? : vNext = value.nil? # Dialog.logger.debug "### k2 - #{k2}, value - #{value}, vNext - #{vNext}" if v2 == true args[:rmsgcheck][k1.to_sym] = 1 if vNext == false else args[:rmsgcheck][k1.to_sym][k2.to_sym] = 1 if vNext == false end end |