Class: Midwife::Client

Inherits:
Object
  • Object
show all
Includes:
Request
Defined in:
lib/midwife/client.rb,
lib/midwife/client/version.rb

Constant Summary collapse

VERSION =
"0.0.11"

Instance Method Summary collapse

Constructor Details

#initialize(endpoint = 'http://localhost:3000/') ⇒ Client

Returns a new instance of Client.



65
66
67
# File 'lib/midwife/client.rb', line 65

def initialize(endpoint = 'http://localhost:3000/')
  @endpoint = endpoint
end

Instance Method Details

#create_campaign(attributes) ⇒ Object



81
82
83
# File 'lib/midwife/client.rb', line 81

def create_campaign(attributes)
  request "/campaigns", attributes
end

#create_list(attributes) ⇒ Object



69
70
71
# File 'lib/midwife/client.rb', line 69

def create_list(attributes)
  request "/lists", attributes
end

#create_recipient(attributes) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/midwife/client.rb', line 73

def create_recipient(attributes)
  list_id = attributes.delete(:list_id) {
    raise ArgumentError, "list_id is required"
  }

  request "/lists/#{list_id}/recipients", attributes
end

#deliver_campaign(attributes) ⇒ Object



85
86
87
88
89
90
91
# File 'lib/midwife/client.rb', line 85

def deliver_campaign(attributes)
  campaign_id = attributes.delete(:campaign_id) {
    raise ArgumentError, "campaign_id is required"
  }

  request "/campaigns/#{campaign_id}/deliver", attributes
end

#deliver_campaign_test(attributes) ⇒ Object



93
94
95
96
97
# File 'lib/midwife/client.rb', line 93

def deliver_campaign_test(attributes)
  campaign_id = attributes.delete(:campaign_id)

  request "/campaigns/#{campaign_id}/deliver_test", attributes
end

#unsubscribe(attributes) ⇒ Object



99
100
101
# File 'lib/midwife/client.rb', line 99

def unsubscribe(attributes)
  request "/unsubscribe", attributes
end