kentaa-api 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +1 -1
  5. data/lib/kentaa/api.rb +1 -2
  6. data/lib/kentaa/api/clients/actions.rb +5 -5
  7. data/lib/kentaa/api/clients/all.rb +1 -1
  8. data/lib/kentaa/api/clients/base.rb +0 -4
  9. data/lib/kentaa/api/clients/donations.rb +5 -5
  10. data/lib/kentaa/api/clients/newsletter_subscriptions.rb +5 -5
  11. data/lib/kentaa/api/clients/projects.rb +5 -5
  12. data/lib/kentaa/api/clients/segments.rb +5 -5
  13. data/lib/kentaa/api/clients/sites.rb +3 -3
  14. data/lib/kentaa/api/clients/teams.rb +5 -5
  15. data/lib/kentaa/api/clients/users.rb +5 -5
  16. data/lib/kentaa/api/exception.rb +14 -0
  17. data/lib/kentaa/api/finder.rb +9 -0
  18. data/lib/kentaa/api/request.rb +8 -2
  19. data/lib/kentaa/api/resources/action.rb +19 -19
  20. data/lib/kentaa/api/resources/actions.rb +8 -3
  21. data/lib/kentaa/api/resources/activity.rb +1 -3
  22. data/lib/kentaa/api/resources/address.rb +1 -3
  23. data/lib/kentaa/api/resources/banner.rb +1 -3
  24. data/lib/kentaa/api/resources/base.rb +35 -11
  25. data/lib/kentaa/api/resources/consent.rb +1 -1
  26. data/lib/kentaa/api/resources/donation.rb +16 -17
  27. data/lib/kentaa/api/resources/donations.rb +8 -3
  28. data/lib/kentaa/api/resources/{pagination.rb → list.rb} +9 -3
  29. data/lib/kentaa/api/resources/location.rb +1 -1
  30. data/lib/kentaa/api/resources/newsletter_subscription.rb +11 -10
  31. data/lib/kentaa/api/resources/newsletter_subscriptions.rb +8 -3
  32. data/lib/kentaa/api/resources/photo.rb +1 -3
  33. data/lib/kentaa/api/resources/project.rb +14 -12
  34. data/lib/kentaa/api/resources/projects.rb +8 -3
  35. data/lib/kentaa/api/resources/question.rb +1 -3
  36. data/lib/kentaa/api/resources/registration_fee.rb +1 -1
  37. data/lib/kentaa/api/resources/resource.rb +12 -3
  38. data/lib/kentaa/api/resources/reward.rb +1 -3
  39. data/lib/kentaa/api/resources/segment.rb +8 -4
  40. data/lib/kentaa/api/resources/segments.rb +8 -3
  41. data/lib/kentaa/api/resources/site.rb +8 -4
  42. data/lib/kentaa/api/resources/team.rb +15 -14
  43. data/lib/kentaa/api/resources/teams.rb +8 -3
  44. data/lib/kentaa/api/resources/user.rb +8 -4
  45. data/lib/kentaa/api/resources/users.rb +8 -3
  46. data/lib/kentaa/api/resources/video.rb +1 -3
  47. data/lib/kentaa/api/response.rb +2 -2
  48. data/lib/kentaa/api/version.rb +1 -1
  49. metadata +4 -6
  50. data/lib/kentaa/api/resources/status.rb +0 -27
@@ -3,7 +3,7 @@
3
3
  module Kentaa
4
4
  module Api
5
5
  module Resources
6
- class RegistrationFee < Base
6
+ class RegistrationFee < Resource
7
7
  def amount
8
8
  data[:amount]
9
9
  end
@@ -5,9 +5,18 @@ require 'time'
5
5
  module Kentaa
6
6
  module Api
7
7
  module Resources
8
- module Resource
9
- def id
10
- data[:id]
8
+ class Resource < Base
9
+ attr_accessor :id
10
+
11
+ def initialize(config, options = {})
12
+ super(config, options)
13
+
14
+ if options.key?(:data)
15
+ @data = options.delete(:data) || {}
16
+ @id = @data.fetch(:id) if @data.key?(:id)
17
+ elsif options.key?(:id)
18
+ @id = options.delete(:id)
19
+ end
11
20
  end
12
21
 
13
22
  def created_at
@@ -3,9 +3,7 @@
3
3
  module Kentaa
4
4
  module Api
5
5
  module Resources
6
- class Reward < Base
7
- include Kentaa::Api::Resources::Resource
8
-
6
+ class Reward < Resource
9
7
  def type
10
8
  data[:type]
11
9
  end
@@ -6,9 +6,7 @@ require 'time'
6
6
  module Kentaa
7
7
  module Api
8
8
  module Resources
9
- class Segment < Base
10
- include Kentaa::Api::Resources::Resource
11
-
9
+ class Segment < Resource
12
10
  def object_key
13
11
  "Segment_#{id}"
14
12
  end
@@ -63,7 +61,7 @@ module Kentaa
63
61
 
64
62
  if data[:banners]
65
63
  data[:banners].each do |banner|
66
- banners << Kentaa::Api::Resources::Banner.new(config, banner)
64
+ banners << Kentaa::Api::Resources::Banner.new(config, data: banner)
67
65
  end
68
66
  end
69
67
 
@@ -74,6 +72,12 @@ module Kentaa
74
72
  def external_reference
75
73
  data[:external_reference]
76
74
  end
75
+
76
+ protected
77
+
78
+ def load_resource(options)
79
+ request.get("/segments/#{id}", options)
80
+ end
77
81
  end
78
82
  end
79
83
  end
@@ -3,14 +3,19 @@
3
3
  module Kentaa
4
4
  module Api
5
5
  module Resources
6
- class Segments < Base
6
+ class Segments < List
7
7
  include Enumerable
8
- include Kentaa::Api::Resources::Pagination
9
8
 
10
9
  def each(&block)
11
10
  segments.each(&block)
12
11
  end
13
12
 
13
+ protected
14
+
15
+ def load_resource(options)
16
+ request.get("/segments", options)
17
+ end
18
+
14
19
  private
15
20
 
16
21
  def segments
@@ -19,7 +24,7 @@ module Kentaa
19
24
 
20
25
  if data
21
26
  data.each do |segment|
22
- segments << Kentaa::Api::Resources::Segment.new(config, segment)
27
+ segments << Kentaa::Api::Resources::Segment.new(config, data: segment)
23
28
  end
24
29
  end
25
30
 
@@ -6,9 +6,7 @@ require 'time'
6
6
  module Kentaa
7
7
  module Api
8
8
  module Resources
9
- class Site < Base
10
- include Kentaa::Api::Resources::Resource
11
-
9
+ class Site < Resource
12
10
  def object_key
13
11
  "Site_#{id}"
14
12
  end
@@ -75,7 +73,7 @@ module Kentaa
75
73
 
76
74
  if data[:banners]
77
75
  data[:banners].each do |banner|
78
- banners << Kentaa::Api::Resources::Banner.new(config, banner)
76
+ banners << Kentaa::Api::Resources::Banner.new(config, data: banner)
79
77
  end
80
78
  end
81
79
 
@@ -86,6 +84,12 @@ module Kentaa
86
84
  def external_reference
87
85
  data[:external_reference]
88
86
  end
87
+
88
+ protected
89
+
90
+ def load_resource(options)
91
+ request.get("/sites/current", options)
92
+ end
89
93
  end
90
94
  end
91
95
  end
@@ -6,23 +6,18 @@ require 'time'
6
6
  module Kentaa
7
7
  module Api
8
8
  module Resources
9
- class Team < Base
10
- include Kentaa::Api::Resources::Resource
11
-
9
+ class Team < Resource
12
10
  def object_key
13
11
  "Team_#{id}"
14
12
  end
15
13
 
16
14
  def parent
17
15
  if project_id
18
- client = Kentaa::Api::Clients::Projects.new(config)
19
- client.get(project_id)
16
+ Kentaa::Api::Resources::Project.new(config, id: project_id)
20
17
  elsif segment_id
21
- client = Kentaa::Api::Clients::Segments.new(config)
22
- client.get(segment_id)
18
+ Kentaa::Api::Resources::Segment.new(config, id: segment_id)
23
19
  else
24
- client = Kentaa::Api::Clients::Sites.new(config)
25
- client.current
20
+ Kentaa::Api::Resources::Site.new(config, id: site_id)
26
21
  end
27
22
  end
28
23
 
@@ -43,7 +38,7 @@ module Kentaa
43
38
  end
44
39
 
45
40
  def owner
46
- @owner ||= Kentaa::Api::Resources::User.new(config, data[:owner])
41
+ @owner ||= Kentaa::Api::Resources::User.new(config, data: data[:owner])
47
42
  end
48
43
 
49
44
  def members
@@ -52,7 +47,7 @@ module Kentaa
52
47
 
53
48
  if data[:members]
54
49
  data[:members].each do |member|
55
- members << Kentaa::Api::Resources::Action.new(config, member)
50
+ members << Kentaa::Api::Resources::Action.new(config, data: member)
56
51
  end
57
52
  end
58
53
 
@@ -122,7 +117,7 @@ module Kentaa
122
117
 
123
118
  if data[:photos]
124
119
  data[:photos].each do |photo|
125
- photos << Kentaa::Api::Resources::Photo.new(config, photo)
120
+ photos << Kentaa::Api::Resources::Photo.new(config, data: photo)
126
121
  end
127
122
  end
128
123
 
@@ -136,7 +131,7 @@ module Kentaa
136
131
 
137
132
  if data[:videos]
138
133
  data[:videos].each do |video|
139
- videos << Kentaa::Api::Resources::Video.new(config, video)
134
+ videos << Kentaa::Api::Resources::Video.new(config, data: video)
140
135
  end
141
136
  end
142
137
 
@@ -150,7 +145,7 @@ module Kentaa
150
145
 
151
146
  if data[:questions]
152
147
  data[:questions].each do |question|
153
- questions << Kentaa::Api::Resources::Question.new(config, question)
148
+ questions << Kentaa::Api::Resources::Question.new(config, data: question)
154
149
  end
155
150
  end
156
151
 
@@ -161,6 +156,12 @@ module Kentaa
161
156
  def external_reference
162
157
  data[:external_reference]
163
158
  end
159
+
160
+ protected
161
+
162
+ def load_resource(options)
163
+ request.get("/teams/#{id}", options)
164
+ end
164
165
  end
165
166
  end
166
167
  end
@@ -3,14 +3,19 @@
3
3
  module Kentaa
4
4
  module Api
5
5
  module Resources
6
- class Teams < Base
6
+ class Teams < List
7
7
  include Enumerable
8
- include Kentaa::Api::Resources::Pagination
9
8
 
10
9
  def each(&block)
11
10
  teams.each(&block)
12
11
  end
13
12
 
13
+ protected
14
+
15
+ def load_resource(options)
16
+ request.get("/teams", options)
17
+ end
18
+
14
19
  private
15
20
 
16
21
  def teams
@@ -19,7 +24,7 @@ module Kentaa
19
24
 
20
25
  if data
21
26
  data.each do |team|
22
- teams << Kentaa::Api::Resources::Team.new(config, team)
27
+ teams << Kentaa::Api::Resources::Team.new(config, data: team)
23
28
  end
24
29
  end
25
30
 
@@ -5,9 +5,7 @@ require 'time'
5
5
  module Kentaa
6
6
  module Api
7
7
  module Resources
8
- class User < Base
9
- include Kentaa::Api::Resources::Resource
10
-
8
+ class User < Resource
11
9
  def object_key
12
10
  "User_#{id}"
13
11
  end
@@ -89,7 +87,13 @@ module Kentaa
89
87
  end
90
88
 
91
89
  def consent
92
- @consent ||= Kentaa::Api::Resources::Consent.new(config, data[:consent]) if data[:consent]
90
+ @consent ||= Kentaa::Api::Resources::Consent.new(config, data: data[:consent]) if data[:consent]
91
+ end
92
+
93
+ protected
94
+
95
+ def load_resource(options)
96
+ request.get("/users/#{id}", options)
93
97
  end
94
98
  end
95
99
  end
@@ -3,14 +3,19 @@
3
3
  module Kentaa
4
4
  module Api
5
5
  module Resources
6
- class Users < Base
6
+ class Users < List
7
7
  include Enumerable
8
- include Kentaa::Api::Resources::Pagination
9
8
 
10
9
  def each(&block)
11
10
  users.each(&block)
12
11
  end
13
12
 
13
+ protected
14
+
15
+ def load_resource(options)
16
+ request.get("/users", options)
17
+ end
18
+
14
19
  private
15
20
 
16
21
  def users
@@ -19,7 +24,7 @@ module Kentaa
19
24
 
20
25
  if data
21
26
  data.each do |user|
22
- users << Kentaa::Api::Resources::User.new(config, user)
27
+ users << Kentaa::Api::Resources::User.new(config, data: user)
23
28
  end
24
29
  end
25
30
 
@@ -3,9 +3,7 @@
3
3
  module Kentaa
4
4
  module Api
5
5
  module Resources
6
- class Video < Base
7
- include Kentaa::Api::Resources::Resource
8
-
6
+ class Video < Resource
9
7
  def url
10
8
  data[:url]
11
9
  end
@@ -13,14 +13,14 @@ module Kentaa
13
13
  end
14
14
 
15
15
  def success?
16
- (code == 200 || code == 201) && !message
16
+ (http_code == 200 || http_code == 201) && !message
17
17
  end
18
18
 
19
19
  def error?
20
20
  !success?
21
21
  end
22
22
 
23
- def code
23
+ def http_code
24
24
  response.code.to_i
25
25
  end
26
26
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kentaa
4
4
  module Api
5
- VERSION = "0.2.1"
5
+ VERSION = "0.3.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kentaa-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-12 00:00:00.000000000 Z
11
+ date: 2019-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -116,10 +116,10 @@ files:
116
116
  - lib/kentaa/api/resources/consent.rb
117
117
  - lib/kentaa/api/resources/donation.rb
118
118
  - lib/kentaa/api/resources/donations.rb
119
+ - lib/kentaa/api/resources/list.rb
119
120
  - lib/kentaa/api/resources/location.rb
120
121
  - lib/kentaa/api/resources/newsletter_subscription.rb
121
122
  - lib/kentaa/api/resources/newsletter_subscriptions.rb
122
- - lib/kentaa/api/resources/pagination.rb
123
123
  - lib/kentaa/api/resources/photo.rb
124
124
  - lib/kentaa/api/resources/project.rb
125
125
  - lib/kentaa/api/resources/projects.rb
@@ -130,7 +130,6 @@ files:
130
130
  - lib/kentaa/api/resources/segment.rb
131
131
  - lib/kentaa/api/resources/segments.rb
132
132
  - lib/kentaa/api/resources/site.rb
133
- - lib/kentaa/api/resources/status.rb
134
133
  - lib/kentaa/api/resources/team.rb
135
134
  - lib/kentaa/api/resources/teams.rb
136
135
  - lib/kentaa/api/resources/user.rb
@@ -157,8 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
156
  - !ruby/object:Gem::Version
158
157
  version: '0'
159
158
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.7.9
159
+ rubygems_version: 3.0.6
162
160
  signing_key:
163
161
  specification_version: 4
164
162
  summary: Ruby library for communicating with the Kentaa API
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Kentaa
4
- module Api
5
- module Resources
6
- module Status
7
- attr_accessor :response
8
-
9
- def success?
10
- response.success?
11
- end
12
-
13
- def error?
14
- response.error?
15
- end
16
-
17
- def body
18
- response.body
19
- end
20
-
21
- def message
22
- response.message
23
- end
24
- end
25
- end
26
- end
27
- end