Class: Zaius::Subscription
Constant Summary
collapse
- OBJECT_NAME =
"subscription".freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from APIResource
class_name, #refresh, retrieve, save_nested_resource
included
Methods inherited from ZaiusObject
#==, #[], #[]=, #as_json, construct_from, #deleted?, #dirty!, #each, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #refresh_from, #serialize_params, serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Zaius::ZaiusObject
Class Method Details
.list(params = {}, opts = {}) ⇒ Object
9
10
11
12
13
|
# File 'lib/zaius/subscription.rb', line 9
def self.list(params = {}, opts = {})
resp, opts = request(:get, resource_url, params, opts)
ZaiusObject.construct_from(resp.data, opts)
end
|
.opt_in(params = {}, opts = {}) ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/zaius/subscription.rb', line 47
def self.opt_in(params = {}, opts = {})
params[:opted_in] = true
resp, opts = request(:post, resource_url, params, opts)
ZaiusObject.construct_from(resp.data, opts)
end
|
.opt_out(params = {}, opts = {}) ⇒ Object
40
41
42
43
44
45
|
# File 'lib/zaius/subscription.rb', line 40
def self.opt_out(params = {}, opts = {})
params[:opted_in] = false
resp, opts = request(:post, resource_url, params, opts)
ZaiusObject.construct_from(resp.data, opts)
end
|
.resource_url ⇒ Object
5
6
7
|
# File 'lib/zaius/subscription.rb', line 5
def self.resource_url
"/lists/subscriptions"
end
|
.update(email: nil, list_id: nil, subscribed: false) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/zaius/subscription.rb', line 21
def self.update(email: nil, list_id: nil, subscribed: false)
params = { email: email, list_id: list_id, subscribed: subscribed }
resp, opts = request(:post, resource_url, params)
ZaiusObject.construct_from(resp.data, opts)
end
|
.update_list(opted_in: true, email:, lists: []) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/zaius/subscription.rb', line 28
def self.update_list(opted_in: true, email:, lists: [])
body = lists.map do |list|
[
{ opted_in: opted_in, email: email },
{ list_id: list[:id], email: email, subscribed: list[:subscribed] }
]
end.flatten
resp, opts = request(:post, resource_url, body)
ZaiusObject.construct_from(resp.data, opts)
end
|
.update_opt_in(params = {}, opts = {}) ⇒ Object
15
16
17
18
19
|
# File 'lib/zaius/subscription.rb', line 15
def self.update_opt_in(params = {}, opts = {})
resp, opts = request(:post, resource_url, params, opts)
ZaiusObject.construct_from(resp.data, opts)
end
|
Instance Method Details
#resource_url ⇒ Object
55
56
57
|
# File 'lib/zaius/subscription.rb', line 55
def resource_url
self.class.resource_url
end
|