class Postfixman::Api
Public Class Methods
new(endpoint_url, access_token)
click to toggle source
# File lib/postfixman/api.rb, line 3 def initialize(endpoint_url, access_token) @endpoint_url = endpoint_url @access_token = access_token end
Public Instance Methods
create_alias(params)
click to toggle source
# File lib/postfixman/api.rb, line 53 def create_alias(params) request = web_request('POST', '/aliases', params, default_headers) Postfixman::Alias.new(request[:body]) end
create_recipient_bccs(params)
click to toggle source
# File lib/postfixman/api.rb, line 78 def create_recipient_bccs(params) request = web_request('POST', '/recipient_bccs', params, default_headers) Postfixman::RecipientBcc.new(request[:body]) end
create_sender_bccs(params)
click to toggle source
# File lib/postfixman/api.rb, line 103 def create_sender_bccs(params) request = web_request('POST', '/sender_bccs', params, default_headers) Postfixman::SenderBcc.new(request[:body]) end
create_user(params)
click to toggle source
# File lib/postfixman/api.rb, line 28 def create_user(params) request = web_request('POST', '/users', params, default_headers) Postfixman::User.new(request[:body]) end
delete_alias(alias_id)
click to toggle source
# File lib/postfixman/api.rb, line 63 def delete_alias(alias_id) request = web_request('DELETE', "/aliases/#{alias_id}", { }, default_headers) request[:body]['success'] == true end
delete_recipient_bccs(recipient_bcc_id)
click to toggle source
# File lib/postfixman/api.rb, line 88 def delete_recipient_bccs(recipient_bcc_id) request = web_request('DELETE', "/recipient_bccs/#{recipient_bcc_id}", { }, default_headers) request[:body]['success'] == true end
delete_sender_bccs(sender_bcc_id)
click to toggle source
# File lib/postfixman/api.rb, line 113 def delete_sender_bccs(sender_bcc_id) request = web_request('DELETE', "/sender_bccs/#{sender_bcc_id}", { }, default_headers) request[:body]['success'] == true end
delete_user(user_id)
click to toggle source
# File lib/postfixman/api.rb, line 38 def delete_user(user_id) request = web_request('DELETE', "/users/#{user_id}", { }, default_headers) request[:body]['success'] == true end
get_alias(id)
click to toggle source
# File lib/postfixman/api.rb, line 48 def get_alias(id) request = web_request('GET', "/aliases/#{id}", { }, default_headers) Postfixman::Alias.new(request[:body]) end
get_aliases(domain_id, filters={})
click to toggle source
# File lib/postfixman/api.rb, line 43 def get_aliases(domain_id, filters={}) request = web_request('GET', "/domains/#{domain_id}/aliases", filters, default_headers) request[:body].map { |x| Postfixman::Alias.new(x) } end
get_domain(id)
click to toggle source
# File lib/postfixman/api.rb, line 13 def get_domain(id) request = web_request('GET', "/domains/#{id}", { }, default_headers) Postfixman::Domain.new(request[:body]) end
get_domains(filters={})
click to toggle source
# File lib/postfixman/api.rb, line 8 def get_domains(filters={}) request = web_request('GET', '/domains', filters, default_headers) request[:body].map { |x| Postfixman::Domain.new(x) } end
get_recipient_bcc(id)
click to toggle source
# File lib/postfixman/api.rb, line 73 def get_recipient_bcc(id) request = web_request('GET', "/recipient_bccs/#{id}", { }, default_headers) Postfixman::RecipientBcc.new(request[:body]) end
get_recipient_bccs(domain_id, filters={})
click to toggle source
# File lib/postfixman/api.rb, line 68 def get_recipient_bccs(domain_id, filters={}) request = web_request('GET', "/domains/#{domain_id}/recipient_bccs", filters, default_headers) request[:body].map { |x| Postfixman::RecipientBcc.new(x) } end
get_sender_bcc(id)
click to toggle source
# File lib/postfixman/api.rb, line 98 def get_sender_bcc(id) request = web_request('GET', "/sender_bccs/#{id}", { }, default_headers) Postfixman::SenderBcc.new(request[:body]) end
get_sender_bccs(domain_id, filters={})
click to toggle source
# File lib/postfixman/api.rb, line 93 def get_sender_bccs(domain_id, filters={}) request = web_request('GET', "/domains/#{domain_id}/sender_bccs", filters, default_headers) request[:body].map { |x| Postfixman::SenderBcc.new(x) } end
get_user(id)
click to toggle source
# File lib/postfixman/api.rb, line 23 def get_user(id) request = web_request('GET', "/users/#{id}", { }, default_headers) Postfixman::User.new(request[:body]) end
get_users(domain_id, filters={})
click to toggle source
# File lib/postfixman/api.rb, line 18 def get_users(domain_id, filters={}) request = web_request('GET', "/domains/#{domain_id}/users", filters, default_headers) request[:body].map { |x| Postfixman::User.new(x) } end
update_alias(alias_id, params)
click to toggle source
# File lib/postfixman/api.rb, line 58 def update_alias(alias_id, params) request = web_request('PUT', "/aliases/#{alias_id}", params, default_headers) Postfixman::Alias.new(request[:body]) end
update_recipient_bccs(recipient_bcc_id, params)
click to toggle source
# File lib/postfixman/api.rb, line 83 def update_recipient_bccs(recipient_bcc_id, params) request = web_request('PUT', "/recipient_bccs/#{recipient_bcc_id}", params, default_headers) Postfixman::RecipientBcc.new(request[:body]) end
update_sender_bccs(sender_bcc_id)
click to toggle source
# File lib/postfixman/api.rb, line 108 def update_sender_bccs(sender_bcc_id) request = web_request('PUT', "/sender_bccs/#{sender_bcc_id}", params, default_headers) Postfixman::SenderBcc.new(request[:body]) end
update_user(user_id, params)
click to toggle source
# File lib/postfixman/api.rb, line 33 def update_user(user_id, params) request = web_request('PUT', "/users/#{user_id}", params, default_headers) Postfixman::User.new(request[:body]) end
Private Instance Methods
default_headers()
click to toggle source
# File lib/postfixman/api.rb, line 120 def default_headers { content_type: :json, accept: :json, authorization: "Token token=\"#{@access_token}\"" } end
parse_response(response)
click to toggle source
# File lib/postfixman/api.rb, line 141 def parse_response(response) result = { headers: response.headers, body: (JSON.parse(response.body) rescue response.body), status_code: response.code } result end
web_request(uri_method, action, params={}, headers={})
click to toggle source
# File lib/postfixman/api.rb, line 128 def web_request(uri_method, action, params={}, headers={}) begin parse_response(RestClient::Request.execute({ method: uri_method, url: "#{@endpoint_url}#{action}", payload: params, headers: headers })) rescue => e parse_response(e.response) end end