Class: Mailgun::List::Member

Inherits:
Object
  • Object
show all
Defined in:
lib/mailgun/list/member.rb

Instance Method Summary collapse

Constructor Details

#initialize(mailgun) ⇒ Member

Used internally, called from Mailgun::Base



4
5
6
# File 'lib/mailgun/list/member.rb', line 4

def initialize(mailgun)
  @mailgun = mailgun
end

Instance Method Details

#add(address, member_address, name = nil, vars = {}, subscribed = 'yes', upsert = 'no') ⇒ Object

Adds a mailing list member with a given address TODO add name, vars, subscribed, upsert



27
28
29
30
31
32
# File 'lib/mailgun/list/member.rb', line 27

def add(address, member_address, name=nil, vars={}, subscribed='yes', upsert='no')
  params = {:address => member_address, :subscribed => subscribed, :upsert => 'no'}
  params[:name] = name if name
  params[:vars] = vars unless vars.empty?
  Mailgun.submit :post, list_member_url(address), params
end

#find(address, member_address) ⇒ Object

List a single mailing list member by a given address



21
22
23
# File 'lib/mailgun/list/member.rb', line 21

def find(address, member_address)
  Mailgun.submit :get, list_member_url(address, member_address)
end

#list(address) ⇒ Object

List all mailing list members TODO add parameters: subscribed, limit, skip



12
13
14
15
16
17
18
# File 'lib/mailgun/list/member.rb', line 12

def list(address)
  response = Mailgun.submit :get, list_member_url(address)

  if response
    response["items"].collect {|item| item["address"]}
  end
end

#remove(address, member_address) ⇒ Object

Deletes a mailing list member with a given address



44
45
46
# File 'lib/mailgun/list/member.rb', line 44

def remove(address, member_address)
  Mailgun.submit :delete, list_member_url(address, member_address)
end

#update(address, member_address, name = nil, vars = {}, subscribed = 'yes') ⇒ Object

Update a mailing list member with a given address with an optional new member_address, name, vars and subscribed



36
37
38
39
40
41
# File 'lib/mailgun/list/member.rb', line 36

def update(address, member_address, name=nil, vars={}, subscribed='yes')
  params = {:address => member_address, :subscribed => subscribed}
  params[:name] = name if name
  params[:vars] = vars unless vars.empty?
  Mailgun.submit :put, list_member_url(address, member_address), params
end