Class: SBF::Client::NewsletterRecipientEndpoint
- Inherits:
-
EntityEndpoint
- Object
- EntityEndpoint
- SBF::Client::NewsletterRecipientEndpoint
- Defined in:
- lib/stbaldricks/endpoints/newsletter_recipient.rb
Instance Attribute Summary
Attributes inherited from EntityEndpoint
Instance Method Summary collapse
- #subscribe(entity_or_email, first_name = nil, last_name = nil, welcome_email = true) ⇒ Object
- #unsubscribe(entity_or_email) ⇒ Object
Methods inherited from EntityEndpoint
#aggregate, #create, #delete, #find, #find_first, #get, #initialize, #save, #update
Constructor Details
This class inherits a constructor from SBF::Client::EntityEndpoint
Instance Method Details
#subscribe(entity_or_email, first_name = nil, last_name = nil, welcome_email = true) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/stbaldricks/endpoints/newsletter_recipient.rb', line 6 def subscribe(entity_or_email, first_name = nil, last_name = nil, welcome_email = true) if entity_or_email.is_a?(String) && entity_or_email && first_name && last_name entity = target_class.new(email_address: entity_or_email, first_name: first_name, last_name: last_name, welcome_email: welcome_email) elsif entity_or_email.is_a?(SBF::Client::BaseEntity) entity = entity_or_email else raise SBF::Client::Error, 'Invalid Entity' end data = entity.to_hash response = SBF::Client::Api::Request.post_request("#{base_uri}/subscribe", data) error = SBF::Client::ErrorEntity.new(JSON.parse(response.body).symbolize!) unless ok?(response) SBF::Client::Api::Response.new(http_code: response.code, data: nil, error: error) end |
#unsubscribe(entity_or_email) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/stbaldricks/endpoints/newsletter_recipient.rb', line 23 def unsubscribe(entity_or_email) if entity_or_email.is_a?(String) entity = target_class.new(email_address: entity_or_email) elsif entity_or_email.is_a?(SBF::Client::BaseEntity) entity = entity_or_email else raise SBF::Client::Error, 'Invalid Entity' end data = entity.to_hash response = SBF::Client::Api::Request.post_request("#{base_uri}/unsubscribe", data) error = SBF::Client::ErrorEntity.new(JSON.parse(response.body).symbolize!) unless ok?(response) SBF::Client::Api::Response.new(http_code: response.code, data: nil, error: error) end |