kentaa-api 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|