Class: Mailgun::List
- Inherits:
-
Object
- Object
- Mailgun::List
- Defined in:
- lib/mailgun/list.rb
Instance Attribute Summary collapse
-
#properties ⇒ Object
Returns the value of attribute properties.
Instance Method Summary collapse
- #add_member(params = {}) ⇒ Object
-
#create(list_name, options = {}) ⇒ Object
Create a mailing list with a given address.
-
#delete ⇒ Object
Deletes a mailing list with a given address.
-
#find(list_name) ⇒ Object
List a single mailing list by a given address.
- #find_member(address) ⇒ Object
-
#initialize(mailgun) ⇒ List
constructor
Used internally.
-
#list(options = {}) ⇒ Object
List all mailing lists.
- #members ⇒ Object
- #method_missing(name, *args) ⇒ Object
- #remove_member(address) ⇒ Object
- #send_message(message, params = {}) ⇒ Object
- #stats ⇒ Object
-
#update(params = {}) ⇒ Object
Update a mailing list with a given address with an optional new address, name or description.
- #update_member(address, params = {}) ⇒ Object
Constructor Details
#initialize(mailgun) ⇒ List
Used internally
11 12 13 |
# File 'lib/mailgun/list.rb', line 11 def initialize(mailgun) @mailgun = mailgun end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
105 106 107 108 109 |
# File 'lib/mailgun/list.rb', line 105 def method_missing(name, *args) if properties.has_key?(name.to_s) @properties[name.to_s] end end |
Instance Attribute Details
#properties ⇒ Object
Returns the value of attribute properties.
8 9 10 |
# File 'lib/mailgun/list.rb', line 8 def properties @properties end |
Instance Method Details
#add_member(params = {}) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/mailgun/list.rb', line 59 def add_member(params={}) if params.class == String add_member_by_name(params) end if params.class == Hash add_member_by_hash(params) end if params.class == Array add_members(params) end find(self.address) end |
#create(list_name, options = {}) ⇒ Object
Create a mailing list with a given address
27 28 29 30 31 32 |
# File 'lib/mailgun/list.rb', line 27 def create(list_name, ={}) params = {:address => list_name} @mailgun.response = Mailgun::Base.fire(:post, list_url, params.merge()) find(list_name) self end |
#delete ⇒ Object
Deletes a mailing list with a given address
44 45 46 |
# File 'lib/mailgun/list.rb', line 44 def delete @mailgun.response = Mailgun::Base.fire(:delete, list_url(self.address)) end |
#find(list_name) ⇒ Object
List a single mailing list by a given address
21 22 23 24 |
# File 'lib/mailgun/list.rb', line 21 def find(list_name) response = Mailgun::Base.fire(:get, list_url(list_name)) @properties = response["list"] end |
#find_member(address) ⇒ Object
86 87 88 |
# File 'lib/mailgun/list.rb', line 86 def find_member(address) @mailgun.response = Mailgun::Base.fire(:get, list_url(self.address) + "/members/#{address}") end |
#list(options = {}) ⇒ Object
List all mailing lists
16 17 18 |
# File 'lib/mailgun/list.rb', line 16 def list(={}) @mailgun.response = Mailgun::Base.fire(:get, list_url, )["items"] || [] end |
#members ⇒ Object
49 50 51 |
# File 'lib/mailgun/list.rb', line 49 def members @mailgun.response = Mailgun::Base.fire(:get, list_url(self.address) + "/members")["items"] || [] end |
#remove_member(address) ⇒ Object
91 92 93 94 95 |
# File 'lib/mailgun/list.rb', line 91 def remove_member(address) @mailgun.response = Mailgun::Base.fire(:delete, list_url(self.address) + "/members/#{address}") find(self.address) self end |
#send_message(message, params = {}) ⇒ Object
98 99 100 101 102 |
# File 'lib/mailgun/list.rb', line 98 def (, params={}) params[:to] = self.address params.merge!(.parameters) @mailgun.response = Mailgun::Base.fire(:post, "#{@mailgun.api_url}/#{@mailgun.domain}/messages", params) end |
#stats ⇒ Object
54 55 56 |
# File 'lib/mailgun/list.rb', line 54 def stats @mailgun.response = Mailgun::Base.fire(:get, list_url(self.address) + "/stats") end |
#update(params = {}) ⇒ Object
Update a mailing list with a given address with an optional new address, name or description
36 37 38 39 40 41 |
# File 'lib/mailgun/list.rb', line 36 def update(params={}) return unless !params.empty? @mailgun.response = Mailgun::Base.fire(:put, list_url(self.address), params) find(self.address) self end |
#update_member(address, params = {}) ⇒ Object
78 79 80 81 82 83 |
# File 'lib/mailgun/list.rb', line 78 def update_member(address, params={}) return unless !params.empty? @mailgun.response = Mailgun::Base.fire(:put, list_url(self.address) + "/members/#{address}", params) find(self.address) self end |