class Clickatell::Catcher::Rack::MessageAdder
Public Class Methods
new(messages)
click to toggle source
# File lib/clickatell/catcher/rack/message_adder.rb, line 7 def initialize(messages) @messages = messages @message_id = 1 end
Public Instance Methods
add(request_body)
click to toggle source
# File lib/clickatell/catcher/rack/message_adder.rb, line 12 def add(request_body) message = MultiJson.load(request_body) @messages << message.merge('added_at' => Time.now) response = { 'data' => { 'message' => build_messages_response(message) } } @json_body = MultiJson.dump(response) end
rack_response()
click to toggle source
# File lib/clickatell/catcher/rack/message_adder.rb, line 19 def rack_response [200, { 'Content-Type' => 'application/json' }, [@json_body]] end
Private Instance Methods
build_messages_response(message)
click to toggle source
# File lib/clickatell/catcher/rack/message_adder.rb, line 25 def build_messages_response(message) start_index = @message_id @message_id += message['to'].size message['to'].map.with_index(start_index) do |to, i| { 'accepted' => true, 'to' => to, 'apiMessageId' => i.to_s } end end