class Gmsgms_2

Attributes

gms_r_connector[RW]
gms_r_login[RW]
gms_r_password[RW]
gms_t_connector[RW]
gms_t_login[RW]
gms_t_password[RW]

Public Class Methods

new(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id) click to toggle source
# File lib/imperituroard/projects/mhub/gms.rb, line 9
def initialize(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
  @gms_t_login = gms_t_login
  @gms_t_password = gms_t_password
  @gms_r_login = gms_r_login
  @gms_r_password = gms_r_password

  @gms_t_connector = Gms_2.new(gms_t_login, gms_t_password, telegram_api_url, telegram_chat_id)
  @gms_r_connector = Gms_2.new(gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)

  @internal_func = InternalFunc.new
  @telegram_connector = Telegram_2.new(telegram_api_url, telegram_chat_id)

end

Public Instance Methods

get_r_status_external_2(external_id) click to toggle source
# File lib/imperituroard/projects/mhub/gms.rb, line 80
def get_r_status_external_2(external_id)
  output = {}
  begin
    ans = gms_r_connector.get_advanced_by_external(external_id)
    parsed = gms_parsing(ans)
    output = {:gms_answer => ans, :parsed_answer => parsed}
  rescue
    pars = {:code => "505", :result => "Failed", :body => {"status_code": "", "status": "", "phone_number": "", "message_id": ""}}
    output = {:gms_answer => ans, :parsed_answer => pars}
  end
  output
end
get_t_status_external_2(external_id) click to toggle source
# File lib/imperituroard/projects/mhub/gms.rb, line 66
def get_t_status_external_2(external_id)
  output = {}
  begin
    ans = gms_t_connector.get_advanced_by_external(external_id)
    parsed = gms_parsing(ans)
    output = {:gms_answer => ans, :parsed_answer => parsed}
  rescue
    pars = {:code => "505", :result => "Failed", :body => {"status_code": "", "status": "", "phone_number": "", "message_id": ""}}
    output = {:gms_answer => ans, :parsed_answer => pars}
  end
  output
end
gms_parsing(gms_answer) click to toggle source
# File lib/imperituroard/projects/mhub/gms.rb, line 23
def gms_parsing(gms_answer)
  output = {}

  status_dic = {
      12033 => 'Sent to Viber',
      36013 => 'Viber internal failure',
      36023 => 'Viber invalid service id',
      36033 => 'Viber invalid data',
      36043 => 'Viber blocked message type',
      36053 => 'Viber bad message type',
      36063 => 'Viber bad parameters',
      36073 => 'Viber timeout',
      36083 => 'Viber user blocked',
      36093 => 'Viber not viber user',
      36103 => 'Viber no suitable device',
      36113 => 'Viber unauthorized ip',
      36123 => 'Viber already sent',
      36133 => 'Viber not permitted',
      36143 => 'Viber billing failure',
      36153 => 'Viber word in black list',
      36163 => 'Viber internal process error',
      36173 => 'Viber wrong or missing Label',
      36183 => 'Viber invalid TTL value',
      23033 => 'Viber delivered',
      35015 => 'Viber expired',
      24013 => 'Viber delivered(seen)',
      28013 => 'Viber delivered(overdue)',
      -1 => 'in progress'
  }

  if gms_answer[:code] == 200
    dt1 = gms_answer[:body][:res_body]['reports'][0]
    hyber_status = dt1['hyber_status']
    output = {:code => 200, :result => 'Processed', :body => {'status_code': hyber_status, 'status': status_dic[hyber_status], 'phone_number': dt1['phone_number'], 'message_id': dt1['extra_id']}}
  elsif gms_answer[:code] == 404
    output = {:code => 404, :result => 'Not found', :body => {'status_code': '', 'status': '', 'phone_number': '', 'message_id': gms_answer[:body][:request_message][:external_id]}}
  else
    output = {:code => gms_answer[:code], :result => gms_answer[:result], :body => {'status_code': '', 'status': '', 'phone_number': '', 'message_id': gms_answer[:body][:request_message][:external_id]}}
  end
  output
end