Module: TextMagic::API::Response

Defined in:
lib/textmagic/response.rb

Class Method Summary collapse

Class Method Details

.account(hash) ⇒ Object



11
12
13
14
15
16
# File 'lib/textmagic/response.rb', line 11

def (hash)
  response = OpenStruct.new(hash)
  response.balance = response.balance.to_f
  response.balance = response.balance.to_i if (response.balance % 1).zero?
  response
end

.check_number(hash, single) ⇒ Object



66
67
68
69
70
71
72
# File 'lib/textmagic/response.rb', line 66

def check_number(hash, single)
  response = {}
  hash.each do |phone, check_hash|
    response[phone] = OpenStruct.new(check_hash)
  end
  single ? response.values.first : response
end

.message_status(hash, single) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/textmagic/response.rb', line 32

def message_status(hash, single)
  response = {}
  hash.each do |message_id, message_hash|
    status = message_hash["status"].dup
    metaclass = class << status; self; end
    metaclass.send :attr_accessor, :text, :credits_cost, :reply_number, :status, :created_time, :completed_time
    status.text = message_hash["text"]
    status.credits_cost = message_hash["credits_cost"]
    status.reply_number = message_hash["reply_number"]
    status.status = message_hash["status"]
    status.created_time = Time.at(message_hash["created_time"].to_i) if message_hash["created_time"]
    status.completed_time = Time.at(message_hash["completed_time"].to_i) if message_hash["completed_time"]
    response[message_id] = status
  end
  single ? response.values.first : response
end

.receive(hash) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/textmagic/response.rb', line 49

def receive(hash)
  response = hash["messages"].collect do |message_hash|
    message = "#{message_hash["from"]}: #{message_hash["text"]}"
    metaclass = class << message; self; end
    metaclass.send :attr_accessor, :timestamp, :message_id, :text, :from
    message.text = message_hash["text"]
    message.from = message_hash["from"]
    message.message_id = message_hash["message_id"]
    message.timestamp = Time.at(message_hash["timestamp"].to_i)
    message
  end
  metaclass = class << response; self; end
  metaclass.send :attr_accessor, :unread
  response.unread = hash["unread"]
  response
end

.send(hash, single) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/textmagic/response.rb', line 18

def send(hash, single)
  response = if single
    hash["message_id"].keys.first.dup
  else
    hash["message_id"].invert
  end
  metaclass = class << response; self; end
  metaclass.send :attr_accessor, :sent_text, :parts_count, :message_id
  response.sent_text = hash["sent_text"]
  response.parts_count = hash["parts_count"]
  response.message_id = hash["message_id"]
  response
end