Module: Twsms2::Formatter
- Included in:
- Client
- Defined in:
- lib/twsms2/formatter.rb
Instance Method Summary collapse
- #format_balance_info(original_info) ⇒ Object
- #format_send_message_info(original_info) ⇒ Object
- #format_time_string(time) ⇒ Object
- #match_string(rule, string) ⇒ Object
- #to_asia_taipei_timezone(time) ⇒ Object
Instance Method Details
#format_balance_info(original_info) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/twsms2/formatter.rb', line 41 def format_balance_info(original_info) new_info = { access_success: false, message_quota: 0, error: nil } code_text = match_string(/<code>(?<code>\w+)<\/code>/, original_info) point_text = match_string(/<point>(?<point>\d+)<\/point>/, original_info) new_info[:access_success] = !code_text.nil? && !point_text.nil? && code_text == '00000' if new_info[:access_success] new_info[:message_quota] = point_text.to_i else new_info[:error] = code_text.nil? ? "TWSMS:CODE_NOT_FOUND" : "TWSMS:#{code_text}".upcase end new_info end |
#format_send_message_info(original_info) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/twsms2/formatter.rb', line 20 def (original_info) new_info = { access_success: false, message_id: nil, error: nil } code_text = match_string(/<code>(?<code>\w+)<\/code>/, original_info) = match_string(/<msgid>(?<message_id>\d+)<\/msgid>/, original_info) new_info[:access_success] = !code_text.nil? && !.nil? && code_text == '00000' if new_info[:access_success] new_info[:message_id] = else new_info[:error] = code_text.nil? ? "TWSMS:CODE_NOT_FOUND" : "TWSMS:#{code_text}".upcase end new_info end |
#format_time_string(time) ⇒ Object
8 9 10 11 12 |
# File 'lib/twsms2/formatter.rb', line 8 def format_time_string(time) return nil if time.nil? new_time = to_asia_taipei_timezone(time) new_time.strftime('%Y%m%d%H%M') end |
#match_string(rule, string) ⇒ Object
3 4 5 6 |
# File 'lib/twsms2/formatter.rb', line 3 def match_string(rule, string) match_data = rule.match(string) match_data.nil? ? nil : match_data[1] end |
#to_asia_taipei_timezone(time) ⇒ Object
14 15 16 17 18 |
# File 'lib/twsms2/formatter.rb', line 14 def to_asia_taipei_timezone(time) utc_time = time.utc? ? time.dup : time.dup.utc asia_taipei_time = utc_time.getlocal('+08:00') asia_taipei_time end |