class InvisibleCollector::Resources::EmailResource

Public Class Methods

new(options = {}) click to toggle source
# File lib/invisible_collector/resources/email_resource.rb, line 8
def initialize(options = {})
  super(options)
  handle(400) { |response| raise InvisibleCollector::InvalidRequest.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

find(params = {}) click to toggle source
# File lib/invisible_collector/resources/email_resource.rb, line 16
def find(params = {})
  response = execute_get('email/find', params)
  Response.new(response, Model::EmailList.new(JSON.parse(response.body).deep_transform_keys(&:underscore)))
end
get(id, attrs = {}) click to toggle source
# File lib/invisible_collector/resources/email_resource.rb, line 21
def get(id, attrs = {})
  response = @connection.get("email/#{id}", attrs)
  if response.status == 404
    nil
  else
    build_response(response)
  end
end

Private Instance Methods

build_response(response) click to toggle source
# File lib/invisible_collector/resources/email_resource.rb, line 32
def build_response(response)
  body = Model::Email.new(JSON.parse(response.body).deep_transform_keys(&:underscore))
  Response.new(response, body)
end