Class: Catapult::Subscription
- Inherits:
-
Object
- Object
- Catapult::Subscription
- Extended by:
- CatapultMethods
- Defined in:
- lib/catapult/subscription.rb
Class Method Summary collapse
-
.create_subscription(campaign, phone) ⇒ Object
returns: true on success hash on false.
-
.delete_subscriber(campaign, phone, suppress_message = false) ⇒ Object
returns: true on success hash on false.
- .list_subscribers(campaign) ⇒ Object
-
.read_subscription(campaign, phone) ⇒ Object
returns: true on success hash on false.
-
.update_subscriber(campaign, phone, options = {}) ⇒ Object
options = { ‘birthday-on’ => ‘02/18/1978’, ‘email’ => ‘[email protected]’, ‘gender’ => “M” }.
Methods included from CatapultMethods
build_request, handle_response
Class Method Details
.create_subscription(campaign, phone) ⇒ Object
returns:
true on success
hash on false
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/catapult/subscription.rb', line 15 def self.create_subscription(campaign, phone) http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions.xml", "POST") xml = Nokogiri::XML::Builder.new do |x| x.subscription{ x.user{ x.send(:'mobile-phone', phone) } } end request.body = xml.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION).strip response = http.request(request) handle_response(response) end |
.delete_subscriber(campaign, phone, suppress_message = false) ⇒ Object
returns:
true on success
hash on false
43 44 45 46 47 |
# File 'lib/catapult/subscription.rb', line 43 def self.delete_subscriber(campaign, phone, = false) http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions/#{phone}.xml?suppress_message=#{suppress_message}", "DELETE") response = http.request(request) handle_response(response) end |
.list_subscribers(campaign) ⇒ Object
5 6 7 8 9 |
# File 'lib/catapult/subscription.rb', line 5 def self.list_subscribers(campaign) http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions.xml") response = http.request(request) Hash.from_xml(response.body) end |
.read_subscription(campaign, phone) ⇒ Object
returns:
true on success
hash on false
33 34 35 36 37 |
# File 'lib/catapult/subscription.rb', line 33 def self.read_subscription(campaign, phone) http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions/#{phone}.xml", "GET") response = http.request(request) handle_response(response) end |
.update_subscriber(campaign, phone, options = {}) ⇒ Object
options =
'birthday-on' => '02/18/1978',
'email' => '[email protected]',
'gender' => "M"
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/catapult/subscription.rb', line 54 def self.update_subscriber(campaign, phone, = {}) http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions/#{phone}.xml", "PUT") xml = Nokogiri::XML::Builder.new do |x| x.subscription{ x.user{ x.send(:'mobile-phone', phone) x.send(:'carrier_id', ['carrier_id']) if ['carrier_id'] x.send(:'first-name', ['first-name']) if ['first-name'] x.send(:'last-name', ['last-name']) if ['last-name'] x.send(:'birthday-on', ['birthday-on']) if ['birthday-on'] x.send(:'email', ['email']) if ['email'] x.send(:'gender', ['gender']) if ['gender'] x.send(:'postal-code', ['postal-code']) if ['postal-code'] x.send(:'timezone-id', ['timezone-id']) if ['timezone-id'] } } end request.body = xml.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION).strip response = http.request(request) handle_response(response) end |