Class: Freshmail::Client
- Inherits:
-
Object
- Object
- Freshmail::Client
- Defined in:
- lib/freshmail/client.rb
Constant Summary collapse
- URL =
'https://api.freshmail.com/'
Instance Attribute Summary collapse
-
#api_key ⇒ Object
Returns the value of attribute api_key.
-
#api_secret ⇒ Object
Returns the value of attribute api_secret.
Instance Method Summary collapse
- #add_subscriber(sub_info = {}) ⇒ Object
- #batch_add_subscriber(sub_info = {}) ⇒ Object
- #batch_delete_subscriber(sub_info = {}) ⇒ Object
- #create_list(list_info = {}) ⇒ Object
- #delete_list(list_info = {}) ⇒ Object
- #delete_subscriber(sub_info = {}) ⇒ Object
- #edit_subscriber(sub_info = {}) ⇒ Object
-
#initialize(api_key, api_secret) ⇒ Client
constructor
A new instance of Client.
- #lists ⇒ Object
- #mail(mail_data = {}) ⇒ Object
- #ping ⇒ Object
- #subscriber(sub_info = {}) ⇒ Object
- #subscribers(sub_info = {}) ⇒ Object
- #update_list(list_info = {}) ⇒ Object
Constructor Details
#initialize(api_key, api_secret) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 12 13 14 15 |
# File 'lib/freshmail/client.rb', line 7 def initialize(api_key, api_secret) @api_key = api_key || self.class.api_key || ENV['FRESHMAIL_API_KEY'] @api_key = @api_key.strip if @api_key @api_secret = api_secret || self.class.api_secret || ENV['FRESHMAIL_API_secret'] @api_secret = @api_secret.strip if @api_secret raise Freshmail::CredentialsMissingError, 'api_key or api_secret are missing' unless @api_secret or @api_key raise Freshmail::CredentialsInvalidError, 'api_key or api_secret are invalid' unless self.ping['data'] == 'pong' end |
Instance Attribute Details
#api_key ⇒ Object
Returns the value of attribute api_key.
3 4 5 |
# File 'lib/freshmail/client.rb', line 3 def api_key @api_key end |
#api_secret ⇒ Object
Returns the value of attribute api_secret.
3 4 5 |
# File 'lib/freshmail/client.rb', line 3 def api_secret @api_secret end |
Instance Method Details
#add_subscriber(sub_info = {}) ⇒ Object
36 37 38 |
# File 'lib/freshmail/client.rb', line 36 def add_subscriber(sub_info = {}) call_freshmail(:post, 'subscriber/add', sub_info) end |
#batch_add_subscriber(sub_info = {}) ⇒ Object
44 45 46 |
# File 'lib/freshmail/client.rb', line 44 def batch_add_subscriber(sub_info = {}) call_freshmail(:post, 'subscriber/addMultiple', sub_info) end |
#batch_delete_subscriber(sub_info = {}) ⇒ Object
52 53 54 |
# File 'lib/freshmail/client.rb', line 52 def batch_delete_subscriber(sub_info = {}) call_freshmail(:post, 'subscriber/deleteMultiple', sub_info) end |
#create_list(list_info = {}) ⇒ Object
60 61 62 |
# File 'lib/freshmail/client.rb', line 60 def create_list(list_info = {}) call_freshmail(:post, 'subscribers_list/create', list_info) end |
#delete_list(list_info = {}) ⇒ Object
68 69 70 |
# File 'lib/freshmail/client.rb', line 68 def delete_list(list_info = {}) call_freshmail(:post, 'subscribers_list/delete', list_info) end |
#delete_subscriber(sub_info = {}) ⇒ Object
48 49 50 |
# File 'lib/freshmail/client.rb', line 48 def delete_subscriber(sub_info = {}) call_freshmail(:post, 'subscriber/delete', sub_info) end |
#edit_subscriber(sub_info = {}) ⇒ Object
40 41 42 |
# File 'lib/freshmail/client.rb', line 40 def edit_subscriber(sub_info = {}) call_freshmail(:post, 'subscriber/edit', sub_info) end |
#lists ⇒ Object
56 57 58 |
# File 'lib/freshmail/client.rb', line 56 def lists call_freshmail(:get, 'subscribers_list/lists') end |
#mail(mail_data = {}) ⇒ Object
21 22 23 |
# File 'lib/freshmail/client.rb', line 21 def mail(mail_data = {}) call_freshmail(:post, 'mail', mail_data) end |
#ping ⇒ Object
17 18 19 |
# File 'lib/freshmail/client.rb', line 17 def ping call_freshmail(:get, 'ping') end |
#subscriber(sub_info = {}) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/freshmail/client.rb', line 25 def subscriber(sub_info = {}) list = sub_info[:list] email = sub_info[:email] call_freshmail(:get, "subscriber/get/#{list}/#{email}") end |
#subscribers(sub_info = {}) ⇒ Object
32 33 34 |
# File 'lib/freshmail/client.rb', line 32 def subscribers(sub_info = {}) call_freshmail(:post, 'subscriber/getMultiple', sub_info) end |
#update_list(list_info = {}) ⇒ Object
64 65 66 |
# File 'lib/freshmail/client.rb', line 64 def update_list(list_info = {}) call_freshmail(:post, 'subscribers_list/update', list_info) end |