class InvisibleCollector::Resources::SmsResource

Public Class Methods

new(options = {}) click to toggle source
# File lib/invisible_collector/resources/sms_resource.rb, line 8
def initialize(options = {})
  super(options)
  handle(400) { |response| raise InvisibleCollector::InvalidRequest.from_json(response.body) }
  handle(403) { |response| raise InvisibleCollector::Forbidden.from_json(response.body) }
  handle(404) { |response| raise InvisibleCollector::NotFound.from_json(response.body) }
  handle(409) { |response| raise InvisibleCollector::InvalidRequest.from_json(response.body) }
  handle(422) { |response| raise InvisibleCollector::InvalidRequest.from_json(response.body) }
end

Public Instance Methods

get(id, attrs = {}) click to toggle source
# File lib/invisible_collector/resources/sms_resource.rb, line 17
def get(id, attrs = {})
  response = @connection.get("sms/#{id}", attrs)
  if response.status == 404
    nil
  else
    build_response(response)
  end
end
save(sms) click to toggle source
# File lib/invisible_collector/resources/sms_resource.rb, line 26
def save(sms)
  response = execute_post('sms', sms)
  build_list_response(response)
end

Private Instance Methods

build_list_response(response) click to toggle source
# File lib/invisible_collector/resources/sms_resource.rb, line 33
def build_list_response(response)
  body = JSON.parse(response.body).map { |j| Model::Sms.new(j.deep_transform_keys(&:underscore)) }
  Response.new(response, body)
end
build_response(response) click to toggle source
# File lib/invisible_collector/resources/sms_resource.rb, line 38
def build_response(response)
  body = Model::Sms.new(JSON.parse(response.body).deep_transform_keys(&:underscore))
  Response.new(response, body)
end