kentaa-api 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/Gemfile.lock +1 -1
- data/README.md +13 -12
- data/lib/kentaa/api.rb +42 -39
- data/lib/kentaa/api/client.rb +10 -10
- data/lib/kentaa/api/{requests → clients}/actions.rb +4 -4
- data/lib/kentaa/api/{requests → clients}/all.rb +1 -1
- data/lib/kentaa/api/clients/base.rb +19 -0
- data/lib/kentaa/api/{requests → clients}/donations.rb +4 -4
- data/lib/kentaa/api/{requests → clients}/newsletter_subscriptions.rb +4 -4
- data/lib/kentaa/api/{requests → clients}/projects.rb +4 -4
- data/lib/kentaa/api/{requests → clients}/segments.rb +4 -4
- data/lib/kentaa/api/{requests → clients}/sites.rb +2 -2
- data/lib/kentaa/api/{requests → clients}/teams.rb +4 -4
- data/lib/kentaa/api/{requests → clients}/users.rb +4 -4
- data/lib/kentaa/api/config.rb +39 -0
- data/lib/kentaa/api/exception.rb +8 -0
- data/lib/kentaa/api/finder.rb +35 -0
- data/lib/kentaa/api/request.rb +15 -24
- data/lib/kentaa/api/{responses → resources}/action.rb +34 -10
- data/lib/kentaa/api/{responses → resources}/actions.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/activity.rb +2 -2
- data/lib/kentaa/api/{responses → resources}/address.rb +2 -2
- data/lib/kentaa/api/{responses → resources}/banner.rb +2 -2
- data/lib/kentaa/api/{responses → resources}/base.rb +6 -6
- data/lib/kentaa/api/{responses → resources}/consent.rb +1 -1
- data/lib/kentaa/api/{responses → resources}/donation.rb +45 -6
- data/lib/kentaa/api/{responses → resources}/donations.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/location.rb +1 -1
- data/lib/kentaa/api/{responses → resources}/newsletter_subscription.rb +24 -3
- data/lib/kentaa/api/{responses → resources}/newsletter_subscriptions.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/pagination.rb +1 -1
- data/lib/kentaa/api/{responses → resources}/photo.rb +2 -2
- data/lib/kentaa/api/{responses → resources}/project.rb +25 -7
- data/lib/kentaa/api/{responses → resources}/projects.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/question.rb +2 -2
- data/lib/kentaa/api/{responses → resources}/registration_fee.rb +1 -1
- data/lib/kentaa/api/{responses → resources}/resource.rb +1 -1
- data/lib/kentaa/api/{responses → resources}/reward.rb +2 -2
- data/lib/kentaa/api/{responses → resources}/segment.rb +11 -3
- data/lib/kentaa/api/{responses → resources}/segments.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/site.rb +7 -3
- data/lib/kentaa/api/{responses → resources}/status.rb +4 -4
- data/lib/kentaa/api/{responses → resources}/team.rb +28 -7
- data/lib/kentaa/api/{responses → resources}/teams.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/user.rb +11 -3
- data/lib/kentaa/api/{responses → resources}/users.rb +3 -3
- data/lib/kentaa/api/{responses → resources}/video.rb +2 -2
- data/lib/kentaa/api/response.rb +12 -0
- data/lib/kentaa/api/version.rb +1 -1
- metadata +44 -41
- data/lib/kentaa/api/requests/base.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c62a6f7a4458cfe09d6ae1c9afc27460f05c58c8e23d59462a03ef2d59f16cc
|
4
|
+
data.tar.gz: f9b555b9a83ae084ca35ca3690f7dd4c85119bcb4aa7984fee0e32ab9e9eadf9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cdf39593639b4e11f13006bc602f084daa45c4fda1770c6a6b827d66bad3f587cafe82cb1f4cea7b8e3a76d4d4aa1afacc39d6fce9fb85c3434efaf69c27131
|
7
|
+
data.tar.gz: c7b0cb509e5ab3215dbdddfb671e6127b3897470edc794e728ca32d21f436e2636afaad21b8d1256b6015b020d1b6af54d31f0ef80cad9622dcb09edb65635dd
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -31,14 +31,15 @@ Create the client with your API key:
|
|
31
31
|
```ruby
|
32
32
|
require 'kentaa/api'
|
33
33
|
|
34
|
-
|
34
|
+
config = Kentaa::Api::Config.new('your_api_key')
|
35
|
+
client = Kentaa::Api::Client.new(config)
|
35
36
|
```
|
36
37
|
|
37
38
|
### Retrieving data
|
38
39
|
|
39
40
|
All endpoints use the same convention for retrieving data. The methods `list` and `all` are used for retrieving multiple resources. The method `get` is used for retrieving a single resource.
|
40
41
|
|
41
|
-
The `list` method on the endpoint returns an [Enumerable](https://ruby-doc.org/core
|
42
|
+
The `list` method on the endpoint returns an [Enumerable](https://ruby-doc.org/core/Enumerable.html) object:
|
42
43
|
|
43
44
|
```ruby
|
44
45
|
actions = client.actions.list
|
@@ -53,9 +54,9 @@ The results might be part of a paginated set. You can query the next page by doi
|
|
53
54
|
actions = client.actions.list(page: actions.next_page) if actions.next_page?
|
54
55
|
```
|
55
56
|
|
56
|
-
See also `Kentaa::Api::
|
57
|
+
See also `Kentaa::Api::Resources::Pagination` for the available methods for pagination.
|
57
58
|
|
58
|
-
The `all` method on the endpoint returns an [Enumerator](https://ruby-doc.org/core
|
59
|
+
The `all` method on the endpoint returns an [Enumerator](https://ruby-doc.org/core/Enumerator.html) and will iterate automatically through all pages to retrieve the requested data.
|
59
60
|
|
60
61
|
```ruby
|
61
62
|
actions = client.actions.all
|
@@ -78,7 +79,7 @@ action = client.actions.get(1) # query action by ID
|
|
78
79
|
action = client.actions.get("john-doe") # query action by slug
|
79
80
|
```
|
80
81
|
|
81
|
-
See also the [Kentaa API
|
82
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/actions).
|
82
83
|
|
83
84
|
#### Donations
|
84
85
|
|
@@ -89,7 +90,7 @@ donations = client.donations.all # get all donations (non-paginated)
|
|
89
90
|
donation = client.donations.get(1) # query donation by ID
|
90
91
|
```
|
91
92
|
|
92
|
-
See also the [Kentaa API
|
93
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/donations).
|
93
94
|
|
94
95
|
#### Newsletter subscriptions
|
95
96
|
|
@@ -101,7 +102,7 @@ newsletter_subscriptions = client.newsletter_subscriptions.list # get all news
|
|
101
102
|
newsletter_subscriptions = client.newsletter_subscriptions.get(1) # query newsletter subscription by ID
|
102
103
|
```
|
103
104
|
|
104
|
-
See also the [Kentaa API
|
105
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/newsletter-subscriptions).
|
105
106
|
|
106
107
|
#### Projects
|
107
108
|
|
@@ -113,7 +114,7 @@ project = client.projects.get(1) # query project by ID
|
|
113
114
|
project = client.projects.get("project") # query project by slug
|
114
115
|
```
|
115
116
|
|
116
|
-
See also the [Kentaa API
|
117
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/projects).
|
117
118
|
|
118
119
|
#### Segments
|
119
120
|
|
@@ -124,7 +125,7 @@ segments = client.segments.all # get all segments (non-paginated)
|
|
124
125
|
segment = client.segments.get(1) # query segment by ID
|
125
126
|
```
|
126
127
|
|
127
|
-
See also the [Kentaa API
|
128
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/segments).
|
128
129
|
|
129
130
|
#### Sites
|
130
131
|
|
@@ -134,7 +135,7 @@ The only method here is `current`, since there is only one site.
|
|
134
135
|
site = client.sites.current # get the current site
|
135
136
|
```
|
136
137
|
|
137
|
-
See also the [Kentaa API
|
138
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/sites).
|
138
139
|
|
139
140
|
#### Teams
|
140
141
|
|
@@ -146,7 +147,7 @@ team = client.teams.get(1) # query team by ID
|
|
146
147
|
team = client.teams.get("team") # query team by slug
|
147
148
|
```
|
148
149
|
|
149
|
-
See also the [Kentaa API
|
150
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/teams).
|
150
151
|
|
151
152
|
|
152
153
|
#### Users
|
@@ -158,7 +159,7 @@ users = client.users.all # get all users (non-paginated)
|
|
158
159
|
user = client.users.get(1) # query user by ID
|
159
160
|
```
|
160
161
|
|
161
|
-
See also the [Kentaa API
|
162
|
+
See also the [Kentaa API docs](https://api.kentaa.nl/v1/doc/users).
|
162
163
|
|
163
164
|
|
164
165
|
## Development
|
data/lib/kentaa/api.rb
CHANGED
@@ -1,49 +1,52 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative "api/
|
4
|
-
require_relative "api/
|
3
|
+
require_relative "api/clients/base"
|
4
|
+
require_relative "api/clients/all"
|
5
5
|
|
6
|
-
require_relative "api/
|
7
|
-
require_relative "api/
|
8
|
-
require_relative "api/
|
9
|
-
require_relative "api/
|
10
|
-
require_relative "api/
|
11
|
-
require_relative "api/
|
12
|
-
require_relative "api/
|
13
|
-
require_relative "api/
|
6
|
+
require_relative "api/clients/actions"
|
7
|
+
require_relative "api/clients/donations"
|
8
|
+
require_relative "api/clients/newsletter_subscriptions"
|
9
|
+
require_relative "api/clients/projects"
|
10
|
+
require_relative "api/clients/segments"
|
11
|
+
require_relative "api/clients/sites"
|
12
|
+
require_relative "api/clients/teams"
|
13
|
+
require_relative "api/clients/users"
|
14
14
|
|
15
|
-
require_relative "api/
|
16
|
-
require_relative "api/
|
17
|
-
require_relative "api/
|
18
|
-
require_relative "api/
|
15
|
+
require_relative "api/resources/base"
|
16
|
+
require_relative "api/resources/pagination"
|
17
|
+
require_relative "api/resources/resource"
|
18
|
+
require_relative "api/resources/status"
|
19
19
|
|
20
|
-
require_relative "api/
|
21
|
-
require_relative "api/
|
22
|
-
require_relative "api/
|
23
|
-
require_relative "api/
|
24
|
-
require_relative "api/
|
25
|
-
require_relative "api/
|
26
|
-
require_relative "api/
|
27
|
-
require_relative "api/
|
28
|
-
require_relative "api/
|
29
|
-
require_relative "api/
|
30
|
-
require_relative "api/
|
31
|
-
require_relative "api/
|
32
|
-
require_relative "api/
|
33
|
-
require_relative "api/
|
34
|
-
require_relative "api/
|
35
|
-
require_relative "api/
|
36
|
-
require_relative "api/
|
37
|
-
require_relative "api/
|
38
|
-
require_relative "api/
|
39
|
-
require_relative "api/
|
40
|
-
require_relative "api/
|
41
|
-
require_relative "api/
|
42
|
-
require_relative "api/
|
43
|
-
require_relative "api/
|
44
|
-
require_relative "api/
|
20
|
+
require_relative "api/resources/action"
|
21
|
+
require_relative "api/resources/actions"
|
22
|
+
require_relative "api/resources/activity"
|
23
|
+
require_relative "api/resources/address"
|
24
|
+
require_relative "api/resources/banner"
|
25
|
+
require_relative "api/resources/consent"
|
26
|
+
require_relative "api/resources/donation"
|
27
|
+
require_relative "api/resources/donations"
|
28
|
+
require_relative "api/resources/location"
|
29
|
+
require_relative "api/resources/newsletter_subscription"
|
30
|
+
require_relative "api/resources/newsletter_subscriptions"
|
31
|
+
require_relative "api/resources/photo"
|
32
|
+
require_relative "api/resources/project"
|
33
|
+
require_relative "api/resources/projects"
|
34
|
+
require_relative "api/resources/question"
|
35
|
+
require_relative "api/resources/registration_fee"
|
36
|
+
require_relative "api/resources/reward"
|
37
|
+
require_relative "api/resources/segment"
|
38
|
+
require_relative "api/resources/segments"
|
39
|
+
require_relative "api/resources/site"
|
40
|
+
require_relative "api/resources/team"
|
41
|
+
require_relative "api/resources/teams"
|
42
|
+
require_relative "api/resources/user"
|
43
|
+
require_relative "api/resources/users"
|
44
|
+
require_relative "api/resources/video"
|
45
45
|
|
46
46
|
require_relative "api/client"
|
47
|
+
require_relative "api/config"
|
48
|
+
require_relative "api/exception"
|
49
|
+
require_relative "api/finder"
|
47
50
|
require_relative "api/request"
|
48
51
|
require_relative "api/response"
|
49
52
|
|
data/lib/kentaa/api/client.rb
CHANGED
@@ -3,40 +3,40 @@
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
5
|
class Client
|
6
|
-
def initialize(
|
7
|
-
@
|
6
|
+
def initialize(config)
|
7
|
+
@config = config
|
8
8
|
end
|
9
9
|
|
10
10
|
def actions
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Clients::Actions.new(@config)
|
12
12
|
end
|
13
13
|
|
14
14
|
def donations
|
15
|
-
Kentaa::Api::
|
15
|
+
Kentaa::Api::Clients::Donations.new(@config)
|
16
16
|
end
|
17
17
|
|
18
18
|
def newsletter_subscriptions
|
19
|
-
Kentaa::Api::
|
19
|
+
Kentaa::Api::Clients::NewsletterSubscriptions.new(@config)
|
20
20
|
end
|
21
21
|
|
22
22
|
def projects
|
23
|
-
Kentaa::Api::
|
23
|
+
Kentaa::Api::Clients::Projects.new(@config)
|
24
24
|
end
|
25
25
|
|
26
26
|
def segments
|
27
|
-
Kentaa::Api::
|
27
|
+
Kentaa::Api::Clients::Segments.new(@config)
|
28
28
|
end
|
29
29
|
|
30
30
|
def sites
|
31
|
-
Kentaa::Api::
|
31
|
+
Kentaa::Api::Clients::Sites.new(@config)
|
32
32
|
end
|
33
33
|
|
34
34
|
def teams
|
35
|
-
Kentaa::Api::
|
35
|
+
Kentaa::Api::Clients::Teams.new(@config)
|
36
36
|
end
|
37
37
|
|
38
38
|
def users
|
39
|
-
Kentaa::Api::
|
39
|
+
Kentaa::Api::Clients::Users.new(@config)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class Actions < Base
|
7
|
-
include Kentaa::Api::
|
7
|
+
include Kentaa::Api::Clients::All
|
8
8
|
|
9
9
|
def list(options = {})
|
10
10
|
response = request.get("/actions", options)
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Resources::Actions.new(config, response)
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(id)
|
15
15
|
response = request.get("/actions/#{id}")
|
16
|
-
Kentaa::Api::
|
16
|
+
Kentaa::Api::Resources::Action.new(config, response)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Kentaa
|
4
|
+
module Api
|
5
|
+
module Clients
|
6
|
+
class Base
|
7
|
+
attr_reader :config
|
8
|
+
|
9
|
+
def initialize(config)
|
10
|
+
@config = config
|
11
|
+
end
|
12
|
+
|
13
|
+
def request
|
14
|
+
@request ||= Kentaa::Api::Request.new(config)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class Donations < Base
|
7
|
-
include Kentaa::Api::
|
7
|
+
include Kentaa::Api::Clients::All
|
8
8
|
|
9
9
|
def list(options = {})
|
10
10
|
response = request.get("/donations", options)
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Resources::Donations.new(config, response)
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(id)
|
15
15
|
response = request.get("/donations/#{id}")
|
16
|
-
Kentaa::Api::
|
16
|
+
Kentaa::Api::Resources::Donation.new(config, response)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class NewsletterSubscriptions < Base
|
7
|
-
include Kentaa::Api::
|
7
|
+
include Kentaa::Api::Clients::All
|
8
8
|
|
9
9
|
def list(options = {})
|
10
10
|
response = request.get("/newsletter-subscriptions", options)
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Resources::NewsletterSubscriptions.new(config, response)
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(id)
|
15
15
|
response = request.get("/newsletter-subscriptions/#{id}")
|
16
|
-
Kentaa::Api::
|
16
|
+
Kentaa::Api::Resources::NewsletterSubscription.new(config, response)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class Projects < Base
|
7
|
-
include Kentaa::Api::
|
7
|
+
include Kentaa::Api::Clients::All
|
8
8
|
|
9
9
|
def list(options = {})
|
10
10
|
response = request.get("/projects", options)
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Resources::Projects.new(config, response)
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(id)
|
15
15
|
response = request.get("/projects/#{id}")
|
16
|
-
Kentaa::Api::
|
16
|
+
Kentaa::Api::Resources::Project.new(config, response)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class Segments < Base
|
7
|
-
include Kentaa::Api::
|
7
|
+
include Kentaa::Api::Clients::All
|
8
8
|
|
9
9
|
def list(options = {})
|
10
10
|
response = request.get("/segments", options)
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Resources::Segments.new(config, response)
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(id)
|
15
15
|
response = request.get("/segments/#{id}")
|
16
|
-
Kentaa::Api::
|
16
|
+
Kentaa::Api::Resources::Segment.new(config, response)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class Sites < Base
|
7
7
|
def current
|
8
8
|
response = request.get("/sites/current")
|
9
|
-
Kentaa::Api::
|
9
|
+
Kentaa::Api::Resources::Site.new(config, response)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
module Kentaa
|
4
4
|
module Api
|
5
|
-
module
|
5
|
+
module Clients
|
6
6
|
class Teams < Base
|
7
|
-
include Kentaa::Api::
|
7
|
+
include Kentaa::Api::Clients::All
|
8
8
|
|
9
9
|
def list(options = {})
|
10
10
|
response = request.get("/teams", options)
|
11
|
-
Kentaa::Api::
|
11
|
+
Kentaa::Api::Resources::Teams.new(config, response)
|
12
12
|
end
|
13
13
|
|
14
14
|
def get(id)
|
15
15
|
response = request.get("/teams/#{id}")
|
16
|
-
Kentaa::Api::
|
16
|
+
Kentaa::Api::Resources::Team.new(config, response)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|