-
Notifications
You must be signed in to change notification settings - Fork 0
/
site.rb
142 lines (109 loc) · 3.12 KB
/
site.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# frozen_string_literal: true
require 'bigdecimal'
require 'time'
module Kentaa
module Api
module Resources
class Site < Resource
def object_key
"Site_#{id}"
end
def host
data[:host]
end
def name
data[:name]
end
def title
data[:title]
end
def description
data[:description]
end
def target_amount
data[:target_amount]
end
def total_amount
BigDecimal(data[:total_amount])
end
def total_donations
data[:total_donations]
end
def end_date
Time.parse(data[:end_date]) if data[:end_date]
end
def url
data[:url]
end
def donate_url
data[:donate_url]
end
def video_url
data[:video_url]
end
def owner_name
data[:owner_name]
end
def owner_email
data[:owner_email]
end
def default_currency
data[:default_currency]
end
def banners
@banners ||= begin
banners = []
if data[:banners]
data[:banners].each do |banner|
banners << Kentaa::Api::Resources::Banner.new(banner)
end
end
banners
end
end
def logos
@logos ||= begin
logos = []
if data[:logos]
data[:logos].map do |logo|
logos << Kentaa::Api::Resources::Logo.new(logo)
end
end
logos
end
end
def external_reference
data[:external_reference]
end
def background_image_url
data[:background_image_url]
end
def sign_up_flow_background_image_url
data[:sign_up_flow_background_image_url]
end
def theme
@theme ||= Kentaa::Api::Resources::Theme.new(data[:theme])
end
def donations
@donations ||= Kentaa::Api::Resources::List.new(config, resource_class: Kentaa::Api::Resources::Donation, endpoint_path: '/donations')
end
def manual_donations
@manual_donations ||= Kentaa::Api::Resources::List.new(config, resource_class: Kentaa::Api::Resources::ManualDonation, endpoint_path: '/manual-donations')
end
def newsletter_subscriptions
@newsletter_subscriptions ||= Kentaa::Api::Resources::List.new(config, resource_class: Kentaa::Api::Resources::NewsletterSubscription, endpoint_path: '/newsletter-subscriptions')
end
def orders
@orders ||= Kentaa::Api::Resources::List.new(config, resource_class: Kentaa::Api::Resources::Order, endpoint_path: '/orders')
end
def activities
@activities ||= Kentaa::Api::Resources::List.new(config, resource_class: Kentaa::Api::Resources::Activity, endpoint_path: '/activities')
end
private
def load_resource
request.get('/sites/current', options)
end
end
end
end
end