Class: Mailtrap::TrackingOptOutsAPI
- Inherits:
-
Object
- Object
- Mailtrap::TrackingOptOutsAPI
- Includes:
- BaseAPI
- Defined in:
- lib/mailtrap/tracking_opt_outs_api.rb
Instance Attribute Summary
Attributes included from BaseAPI
Instance Method Summary collapse
-
#create(options) ⇒ TrackingOptOut
Adds an email address to the tracking opt-out list for a sending domain.
-
#delete(tracking_opt_out_id) ⇒ TrackingOptOut
Removes an email address from the tracking opt-out list.
-
#initialize(client = Mailtrap::Client.new) ⇒ TrackingOptOutsAPI
constructor
A new instance of TrackingOptOutsAPI.
-
#list(email: nil, start_time: nil, end_time: nil, last_id: nil) ⇒ TrackingOptOutsListResponse
Lists email addresses that have opted out of open and click tracking.
Methods included from BaseAPI
Constructor Details
#initialize(client = Mailtrap::Client.new) ⇒ TrackingOptOutsAPI
Returns a new instance of TrackingOptOutsAPI.
16 17 18 |
# File 'lib/mailtrap/tracking_opt_outs_api.rb', line 16 def initialize(client = Mailtrap::Client.new) @client = client end |
Instance Method Details
#create(options) ⇒ TrackingOptOut
Adds an email address to the tracking opt-out list for a sending domain
49 50 51 52 53 |
# File 'lib/mailtrap/tracking_opt_outs_api.rb', line 49 def create() (, ) response = client.post(base_path, ) build_entity(response[:data], TrackingOptOut) end |
#delete(tracking_opt_out_id) ⇒ TrackingOptOut
Removes an email address from the tracking opt-out list
59 60 61 62 |
# File 'lib/mailtrap/tracking_opt_outs_api.rb', line 59 def delete(tracking_opt_out_id) response = client.delete("#{base_path}/#{tracking_opt_out_id}") build_entity(response, TrackingOptOut) end |
#list(email: nil, start_time: nil, end_time: nil, last_id: nil) ⇒ TrackingOptOutsListResponse
Lists email addresses that have opted out of open and click tracking
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/mailtrap/tracking_opt_outs_api.rb', line 27 def list(email: nil, start_time: nil, end_time: nil, last_id: nil) query_params = {} query_params[:email] = email unless email.nil? query_params[:start_time] = start_time unless start_time.nil? query_params[:end_time] = end_time unless end_time.nil? query_params[:last_id] = last_id unless last_id.nil? response = client.get(base_path, query_params) TrackingOptOutsListResponse.new( data: Array(response[:data]).map { |item| build_entity(item, TrackingOptOut) }, last_id: response[:last_id] ) end |