ecoportal-api-graphql 0.3.18 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53a6919bd12fe2569c78660a80f9ee90b8d23832b2dcb4d4d1cb1daeaf64c085
4
- data.tar.gz: 812287102b4972106660f7983ca9bc1c803dcfef4c152b5fd3890b326954226d
3
+ metadata.gz: 927df3da8239c448be76b32066894a9bb2b8d0aa1f011033da69cf2b7878aa26
4
+ data.tar.gz: 15825f1ab4dc7a5a366d8e504d07a377650422cf8a1e49a5c21494089719ffae
5
5
  SHA512:
6
- metadata.gz: 845f6fc09d069ea63cdf465583b07fcb8ebfad0a8426059a0917a085809a08cda0ed35e5b4d0338fb917a330ba209af4039178dc823d7d686e106cb19aaf646f
7
- data.tar.gz: f9699d1df470991e24fc9b262a711dea88986ece3fd5eab8cc2176e57b4637b236f7f9aac705768b49dbd398881d034904c5d2e247427c5356b196a65ca15a53
6
+ metadata.gz: 2020d06df814fb28f2b1592d7107d2368ec23eed3731999964202259f7f486dabb7eff70e7105e5c688e02517e1f8784fc09d682a5c0a5f21234a372cd7e8171
7
+ data.tar.gz: d58a1c29ff883c7ea7c26fe931163f9ab4a7b7d81798d69648482bee8d2377fd5866a1b616f264aa530d9dd76c46a812cc51fb2acaaf2f9a61c3614388f3a4eb
@@ -0,0 +1,4 @@
1
+ {
2
+ "MD013": false,
3
+ "MD024": false
4
+ }
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.7.8
2
+ TargetRubyVersion: 3.2.2
3
3
  Exclude:
4
4
  - 'config/routes.rb'
5
5
  NewCops: enable
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/CHANGELOG.md CHANGED
@@ -1,238 +1,286 @@
1
1
  # Change Log
2
+
2
3
  All notable changes to this project will be documented in this file.
3
4
 
5
+ ## ToDo
4
6
 
5
- ### ToDo
6
- - Add update operation for `ContractorEntity`
7
- - Add currentOrganization.action
8
- - Analyse how to "DSL" currentOrganization.action.activities
9
- - review `path` tracking
7
+ - Add update operation for `ContractorEntity`
8
+ - Add currentOrganization.action
9
+ - Analyse how to "DSL" currentOrganization.action.activities
10
+ - review `path` tracking
10
11
 
11
- ## [0.3.19] - 2024-05-xx
12
+ ## [0.4.0] - 2024-08-01
12
13
 
13
14
  ### Added
15
+
14
16
  ### Changed
17
+
18
+ - require `ruby 3`
19
+
15
20
  ### Fixed
16
21
 
17
22
  ## [0.3.18] - 2024-05-16
18
23
 
19
24
  ### Fixed
20
- - `Ecoportal::API::GraphQL::Payload::LocationStructure::CommandExecutionResult`
21
- - Error is nullable
25
+
26
+ - `Ecoportal::API::GraphQL::Payload::LocationStructure::CommandExecutionResult`
27
+ - Error is nullable
22
28
 
23
29
  ## [0.3.17] - 2024-05-14
24
30
 
25
31
  ### Fixed
26
- - `field_name` should add up to the path
32
+
33
+ - `field_name` should add up to the path
27
34
 
28
35
  ## [0.3.16] - 2024-04-29
29
36
 
30
37
  ### Added
31
- - Exposed `graphql` `ContractorEntity` `destroy`
38
+
39
+ - Exposed `graphql` `ContractorEntity` `destroy`
40
+
32
41
  ### Fixed
33
- - incorrect loading
42
+
43
+ - incorrect loading
34
44
 
35
45
  ### Changed
36
- - Input for ContractorEntity create moved as `update` (as it wasn't correct)
46
+
47
+ - Input for ContractorEntity create moved as `update` (as it wasn't correct)
37
48
 
38
49
  ## [0.3.15] - 2024-04-13
39
50
 
40
51
  ### Added
41
- - `Ecoportal::API::GraphQL::Logic::BaseQuery`
42
- - `::base_path` class instance var.
43
- - query to retrieve `currentOrganization.classifications`
52
+
53
+ - `Ecoportal::API::GraphQL::Logic::BaseQuery`
54
+ - `::base_path` class instance var.
55
+ - query to retrieve `currentOrganization.classifications`
44
56
 
45
57
  ### Fixed
46
- - upgraded `ecoportal-api-v2` gem
58
+
59
+ - upgraded `ecoportal-api-v2` gem
47
60
 
48
61
  ## [0.3.14] - 2024-03-13
49
62
 
50
63
  ### Added
51
- - some benchmarking on
52
- 1. core graphql base `query`
53
- - `#parent_id` to location node model
64
+
65
+ - some benchmarking on
66
+ 1. core graphql base `query`
67
+ - `#parent_id` to location node model
54
68
 
55
69
  ### Changed
56
- - upgraded `ecoportal-v2-api` gem
70
+
71
+ - upgraded `ecoportal-v2-api` gem
57
72
 
58
73
  ### Fixed
59
- - Optimized `treeify` and locations structure class
74
+
75
+ - Optimized `treeify` and locations structure class
60
76
 
61
77
  ## [0.3.13] - 2024-02-03
62
78
 
63
79
  ### Changed
64
- - upgrade `ecoportal-api-v2`
80
+
81
+ - upgrade `ecoportal-api-v2`
65
82
 
66
83
  ## [0.3.12] - 2024-01-27
67
84
 
68
85
  ### Added
69
- - Exposed `graphql` `Action` `update` and get a single `action`
86
+
87
+ - Exposed `graphql` `Action` `update` and get a single `action`
70
88
 
71
89
  ## [0.3.11] - 2023-09-19
72
90
 
73
91
  ### Added
74
- - Exposed `graphql` `ContractorEntity` `create` and `update`
92
+
93
+ - Exposed `graphql` `ContractorEntity` `create` and `update`
75
94
 
76
95
  ## [0.3.10] - 2023-08-12
77
96
 
78
97
  ### Fixed
79
- - `Ecopotal::API::GraphQL::Query::LocationStructure`
80
- - `query` in basic_block missed an explicitly declared parameter.
98
+
99
+ - `Ecopotal::API::GraphQL::Query::LocationStructure`
100
+ - `query` in basic_block missed an explicitly declared parameter.
81
101
 
82
102
  ## [0.3.9] - 2023-08-03
83
103
 
84
104
  ### Added
85
- - `Ecoportal::API::GraphQL::Logic::BaseQuery`
86
- - Added support for **default** values.
105
+
106
+ - `Ecoportal::API::GraphQL::Logic::BaseQuery`
107
+ - Added support for **default** values.
87
108
 
88
109
  ## [0.3.8] - 2023-07-18
89
110
 
90
111
  ### Added
91
- - Integration for archiving actions.
92
- - `LocationNodeInterface` -> support for `classifications`
93
- - `Treeify` to dump more data per node (classifications)
112
+
113
+ - Integration for archiving actions.
114
+ - `LocationNodeInterface` -> support for `classifications`
115
+ - `Treeify` to dump more data per node (classifications)
94
116
 
95
117
  ### Fixed
96
- - Silenced waning messages when redefining `Fragment`s
118
+
119
+ - Silenced waning messages when redefining `Fragment`s
97
120
 
98
121
  ## [0.3.7] - 2023-05-23
99
122
 
100
123
  ### Fixed
101
- - `Ecoportal::API::Common::GraphQL::Client` adjusted `read_timeout` and `write_timeout` to `90` seconds.
124
+
125
+ - `Ecoportal::API::Common::GraphQL::Client` adjusted `read_timeout` and `write_timeout` to `90` seconds.
102
126
 
103
127
  ## [0.3.6] - 2023-04-17
104
128
 
105
129
  ### Changed
106
- - Softened max version of **gem** dependencies
130
+
131
+ - Softened max version of **gem** dependencies
107
132
 
108
133
  ### Fixed
109
- - `Ecoportal::API::GraphQL::Fragment#define` was not removing previous constants
110
- - Changed check method to be `::const_defined?`
134
+
135
+ - `Ecoportal::API::GraphQL::Fragment#define` was not removing previous constants
136
+ - Changed check method to be `::const_defined?`
111
137
 
112
138
  ## [0.3.5] - 2023-04-03
113
139
 
114
140
  ### Fixed
115
- - `Ecoportal::API::GraphQL::Helpers::LocationsTree#treeify`
116
- - Make it real id-case-insensitive (parents in lower case were being missed due to this)
141
+
142
+ - `Ecoportal::API::GraphQL::Helpers::LocationsTree#treeify`
143
+ - Make it real id-case-insensitive (parents in lower case were being missed due to this)
117
144
 
118
145
  ## [0.3.4] - 2023-04-03
119
146
 
120
147
  ### Added
121
- - `Ecoportal::API::Common::GraphQL::AuthService`
122
- - `#session_token` added **token auto-renew** functionality (when token expires in less than 90 minutes)
123
- - `#session_token_renewed`
148
+
149
+ - `Ecoportal::API::Common::GraphQL::AuthService`
150
+ - `#session_token` added **token auto-renew** functionality (when token expires in less than 90 minutes)
151
+ - `#session_token_renewed`
124
152
 
125
153
  ### Fixed
126
- - Enabled to specify `host` (other than `live.ecoportal.com`) by the user
154
+
155
+ - Enabled to specify `host` (other than `live.ecoportal.com`) by the user
127
156
 
128
157
  ## [0.3.3] - 2023-04-02
129
158
 
130
159
  ### Fixed
131
- - `Ecoportal::API::GraphQL::Base::LocationNode` **added** attribute `archivedToken`
160
+
161
+ - `Ecoportal::API::GraphQL::Base::LocationNode` **added** attribute `archivedToken`
132
162
 
133
163
  ## [0.3.2] - 2023-04-02
134
164
 
135
165
  ### Changed
136
- - `Ecoportal::API::GraphQL::Helpers::LocationsTree#treeify` added support for `archived_token`
166
+
167
+ - `Ecoportal::API::GraphQL::Helpers::LocationsTree#treeify` added support for `archived_token`
137
168
 
138
169
  ## [0.3.1] - 2023-03-09
139
170
 
140
- ### Added
141
171
  ### Changed
142
- - Upgraded core gem dependency `ecoportal-api-v2`
143
172
 
173
+ - Upgraded core gem dependency `ecoportal-api-v2`
144
174
 
145
175
  ## [0.2.3] - 2023-02-27
146
176
 
147
177
  ### Fixed
148
- - Typo in tests LocationsStructures... should read `locationStructures`
178
+
179
+ - Typo in tests LocationsStructures... should read `locationStructures`
149
180
 
150
181
  ## [0.2.2] - 2023-02-24
151
182
 
152
183
  ### Fixed
153
- - Build gem correctly
184
+
185
+ - Build gem correctly
154
186
 
155
187
  ## [0.2.1] - 2023-02-24
156
188
 
157
189
  ### Changed
158
- - Migrate from TagTrees to **reporting structures** (breaking change)
190
+
191
+ - Migrate from TagTrees to **reporting structures** (breaking change)
159
192
 
160
193
  ### Added
161
- - Basics for reporting structure mutations
194
+
195
+ - Basics for reporting structure mutations
162
196
 
163
197
  ## [0.1.11] - 2022-11-29
164
198
 
165
199
  ### Added
166
- - `Ecoportal::API::GraphQL::Base::Mutation`
167
- - Added `createContractorEntity`
200
+
201
+ - `Ecoportal::API::GraphQL::Base::Mutation`
202
+ - Added `createContractorEntity`
168
203
 
169
204
  ### Changed
170
- - **upgraded** `graphlient` gem dependency (support for framents)
171
- - removed patch in this gem
172
- - Slight internal refactor of `Ecoportal::API::GraphQL::Base::Query`
173
- - Upgraded `ecoportal-api-v2` **gem** dependency
205
+
206
+ - **upgraded** `graphlient` gem dependency (support for framents)
207
+ - removed patch in this gem
208
+ - Slight internal refactor of `Ecoportal::API::GraphQL::Base::Query`
209
+ - Upgraded `ecoportal-api-v2` **gem** dependency
174
210
 
175
211
  ## [0.1.10] - 2022-09-29
176
212
 
177
213
  ### Changed
178
- - **upgraded** `ecoportal-api-v2` gem dependency
214
+
215
+ - **upgraded** `ecoportal-api-v2` gem dependency
179
216
 
180
217
  ### Fixed
181
- - Remove debugging message
218
+
219
+ - Remove debugging message
182
220
 
183
221
  ## [0.1.9] - 2022-09-26
184
222
 
185
223
  ### Added
186
- - `Ecoportal::API::GraphQL::Query::TagTree`
224
+
225
+ - `Ecoportal::API::GraphQL::Query::TagTree`
187
226
 
188
227
  ### Changed
189
- - **upgraded** `ecoportal-api-v2` gem dependency
190
- - added `Ecoportal::API::Common::GraphQL::QueryIntegration`
191
- - restructured `Ecoportal::API::GraphQL::Model::Organization` class
192
- - **Patch** on `Graphlient::Query` for fragments support (**pull request**: https://github.com/ashkan18/graphlient/pull/94)
228
+
229
+ - **upgraded** `ecoportal-api-v2` gem dependency
230
+ - added `Ecoportal::API::Common::GraphQL::QueryIntegration`
231
+ - restructured `Ecoportal::API::GraphQL::Model::Organization` class
232
+ - **Patch** on `Graphlient::Query` for fragments support (**pull request**: <https://github.com/ashkan18/graphlient/pull/94>)
193
233
 
194
234
  ## [0.1.8] - 2022-09-23
195
235
 
196
236
  ### Added
197
- - `currentOrganization.tagTrees` query
237
+
238
+ - `currentOrganization.tagTrees` query
198
239
 
199
240
  ### Changed
200
- - **upgraded** `ecoportal-api-v2` gem dependency
201
- - Restructured the `Query` inheritance chain to make things simpler
241
+
242
+ - **upgraded** `ecoportal-api-v2` gem dependency
243
+ - Restructured the `Query` inheritance chain to make things simpler
202
244
 
203
245
  ## [0.1.6] - 2022-09-19
204
246
 
205
247
  ### Fixed
206
- - Call to **private** method `remove_const` in `Ecoportal::API::GraphQL::Fragment#define`
248
+
249
+ - Call to **private** method `remove_const` in `Ecoportal::API::GraphQL::Fragment#define`
207
250
 
208
251
  ## [0.1.5] - 2022-09-19
209
252
 
210
253
  ### Added
211
- - Patch `GraphQL::Query#append_node` so we can use Fragments in blocks using `___` as start of the constant, and `__` for namespace separator
212
- - Issue/feature request: https://github.com/ashkan18/graphlient/issues/93
213
- - `Ecoportal::API::GraphQL::Fragment#define` provided that client scripts can create their own fragments in their own namespace
214
- - Exposed `Ecoportal::API::GraphQL#fragments`
215
- - It will always (re)define in the `Fragment` root namespace
254
+
255
+ - Patch `GraphQL::Query#append_node` so we can use Fragments in blocks using `___` as start of the constant, and `__` for namespace separator
256
+ - Issue/feature request: <https://github.com/ashkan18/graphlient/issues/93>
257
+ - `Ecoportal::API::GraphQL::Fragment#define` provided that client scripts can create their own fragments in their own namespace
258
+ - Exposed `Ecoportal::API::GraphQL#fragments`
259
+ - It will always (re)define in the `Fragment` root namespace
216
260
 
217
261
  ## [0.1.4] - 2022-09-16
218
262
 
219
263
  ### Fixed
220
- - Able to inject connection block to `each`
221
- - Error handling delegated to parent class (`QueryConnection`)
222
- - Retrieve `id` on elements of `Array`
264
+
265
+ - Able to inject connection block to `each`
266
+ - Error handling delegated to parent class (`QueryConnection`)
267
+ - Retrieve `id` on elements of `Array`
223
268
 
224
269
  ## [0.1.3] - 2022-09-15
225
270
 
226
271
  ### Fixed
227
- - Fixed circular reference to `org_id` in `Ecoportal::API::Common::GraphQL::Client`
272
+
273
+ - Fixed circular reference to `org_id` in `Ecoportal::API::Common::GraphQL::Client`
228
274
 
229
275
  ## [0.1.2] - 2022-09-15
230
276
 
231
277
  ### Changed
232
- - `Ecoportal::API::GraphQL` addded `email` and `pass` parameters on initialization
233
- - This allows for integration in some client lib
278
+
279
+ - `Ecoportal::API::GraphQL` addded `email` and `pass` parameters on initialization
280
+ - This allows for integration in some client lib
234
281
 
235
282
  ## [0.1.0] - 2022-09-15
236
283
 
237
284
  ### Added
238
- - First commit with some basic structure
285
+
286
+ - First commit with some basic structure
@@ -1,5 +1,4 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "ecoportal/api/graphql_version"
5
4
 
@@ -9,26 +8,27 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["Oscar Segura"]
10
9
  spec.email = ["oscar@ecoportal.co.nz"]
11
10
 
12
- spec.summary = %q{A collection of helpers for interacting with the ecoPortal GraphQL API}
11
+ spec.summary = "A collection of helpers for interacting with the ecoPortal GraphQL API"
13
12
  spec.homepage = "https://www.ecoportal.com"
14
13
  spec.licenses = %w[MIT]
15
14
 
16
- spec.required_ruby_version = '>= 2.7.0'
15
+ spec.metadata['rubygems_mfa_required'] = 'true'
16
+
17
+ spec.required_ruby_version = '>= 3.2.2'
17
18
 
18
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
20
  f.match(%r{^(test|spec|features)/})
20
21
  end
21
22
  spec.bindir = "exe"
22
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
24
  spec.require_paths = ["lib"]
24
25
 
25
- spec.add_development_dependency "bundler", ">= 2.4.12", "< 3"
26
26
  spec.add_development_dependency "rspec", ">= 3.12.0", "< 4"
27
27
  spec.add_development_dependency "rake", ">= 13.0.3", "< 14"
28
28
  spec.add_development_dependency "yard", ">= 0.9.34", "< 1"
29
29
  spec.add_development_dependency "redcarpet", ">= 3.6.0", "< 4"
30
30
  spec.add_development_dependency "pry" , ">= 0.14"
31
31
 
32
- spec.add_dependency 'ecoportal-api-v2', '>= 1.1.8', '< 1.2'
32
+ spec.add_dependency 'ecoportal-api-v2', '~> 2.0'
33
33
  spec.add_dependency 'graphlient', '>= 0.8.0', '< 0.9'
34
34
  end
@@ -3,15 +3,20 @@ module Ecoportal
3
3
  module Common
4
4
  module GraphQL
5
5
  module AuthService
6
- DEFAULT_SERVER = "live.ecoportal.com"
6
+ DEFAULT_SERVER = "live.ecoportal.com".freeze
7
7
  TOKEN_AUTORENEW = 90 # minutes
8
8
 
9
9
  module InstanceMethods
10
10
  def session_token(host: server, version: nil, auto_renew: true)
11
- session_token_data(host: host, version: version).yield_self do |body|
12
- return nil unless body
11
+ session_token_data(host: host, version: version).then do |body|
12
+ next unless body
13
+
13
14
  if auto_renew && token_renew?(body["expires_in"])
14
- session_token_renewed(host: host, version: version, refresh_token: body["refresh_token"])
15
+ session_token_renewed(
16
+ host: host,
17
+ version: version,
18
+ refresh_token: body["refresh_token"]
19
+ )
15
20
  else
16
21
  body["access_token"]
17
22
  end
@@ -20,41 +25,43 @@ module Ecoportal
20
25
 
21
26
  def session_token_renewed(host: server, version: nil, refresh_token: nil)
22
27
  unless refresh_token
23
- return nil unless body = session_token_data(host: host, version: version)
24
- return nil unless refresh_token = body["resfresh_token"]
28
+ return unless (body = session_token_data(host: host, version: version))
29
+ return unless (refresh_token = body["resfresh_token"])
25
30
  end
26
- session_refresh_token_data(host: host, version: version, refresh_token: refresh_token).yield_self do |body|
27
- return nil unless body
28
- body["access_token"] if body
31
+
32
+ session_refresh_token_data(
33
+ host: host,
34
+ version: version,
35
+ refresh_token: refresh_token
36
+ ).then do |bdy|
37
+ bdy["access_token"] if bdy
29
38
  end
30
39
  end
31
40
 
32
41
  private
33
42
 
34
43
  def session_token_data(host: server, version: nil)
35
- http_client(host: host, version: version).post("/oauth/token", data: {
36
- "grant_type" => "password",
37
- "email" => user_email,
38
- "password" => user_pass
39
- }).yield_self do |response|
40
- if response.success?
41
- response.body
42
- else
43
- nil
44
- end
44
+ http_client(host: host, version: version).post(
45
+ "/oauth/token",
46
+ data: {
47
+ "grant_type" => "password",
48
+ "email" => user_email,
49
+ "password" => user_pass
50
+ }
51
+ ).then do |response|
52
+ next response.body if response.success?
45
53
  end
46
54
  end
47
55
 
48
- def session_refresh_token_data(host: server, version: nil, refresh_token:)
49
- http_client(host: host, version: version).post("/oauth/token", data: {
50
- "grant_type" => "refresh_token",
51
- "refresh_token" => refresh_token
52
- }).yield_self do |response|
53
- if response.success?
54
- response.body
55
- else
56
- nil
57
- end
56
+ def session_refresh_token_data(refresh_token:, host: server, version: nil)
57
+ http_client(host: host, version: version).post(
58
+ "/oauth/token",
59
+ data: {
60
+ "grant_type" => "refresh_token",
61
+ "refresh_token" => refresh_token
62
+ }
63
+ ).then do |response|
64
+ next response.body if response.success?
58
65
  end
59
66
  end
60
67
 
@@ -63,7 +70,10 @@ module Ecoportal
63
70
  end
64
71
 
65
72
  def http_client(host: server, version: nil)
66
- @http_client ||= Ecoportal::API::Common::GraphQL::HttpClient.new(host: host, version: version)
73
+ @http_client ||= Ecoportal::API::Common::GraphQL::HttpClient.new(
74
+ host: host,
75
+ version: version
76
+ )
67
77
  end
68
78
 
69
79
  def user_email
@@ -4,15 +4,21 @@ module Ecoportal
4
4
  module Common
5
5
  module GraphQL
6
6
  class Client < ::Graphlient::Client
7
- attr_accessor :org_id, :host
7
+ attr_accessor :host
8
8
 
9
9
  READ_TIMEOUT = 90
10
10
  WRITE_TIMEOUT = 90
11
11
 
12
12
  include Ecoportal::API::Common::GraphQL::AuthService
13
13
 
14
- def initialize(email: nil, pass: nil, org_id: self.org_id,
15
- host: server, schema_path: host, no_schema: false)
14
+ def initialize(
15
+ email: nil,
16
+ pass: nil,
17
+ org_id: self.org_id,
18
+ host: server,
19
+ schema_path: host,
20
+ no_schema: false
21
+ )
16
22
  @org_id = org_id
17
23
  @host = host
18
24
  @no_schema = no_schema
@@ -21,7 +27,7 @@ module Ecoportal
21
27
 
22
28
  puts "Configuring GraphQL Client onto '#{url}'"
23
29
  super(url,
24
- headers: {
30
+ headers: {
25
31
  'Authorization' => "Bearer #{session_token(host: host)}"
26
32
  },
27
33
  http_options: {
@@ -5,7 +5,7 @@ module Ecoportal
5
5
  class HttpClient < Common::Client
6
6
  class << self
7
7
  def base_url(host)
8
- "#{protocol(host)}://#{host}"
8
+ "#{protocol(host)}://#{host}"
9
9
  end
10
10
 
11
11
  def protocol(host)
@@ -15,8 +15,20 @@ module Ecoportal
15
15
 
16
16
  attr_reader :host, :version
17
17
 
18
- def initialize(api_key: nil, version: "v1", host: "live.ecoportal.com", logger: ::Logger.new(IO::NULL), response_logging: false)
19
- super(api_key: api_key, version: version, host: host, logger: logger, response_logging: false)
18
+ def initialize(
19
+ api_key: nil,
20
+ version: "v1",
21
+ host: "live.ecoportal.com",
22
+ logger: ::Logger.new(IO::NULL),
23
+ response_logging: false
24
+ )
25
+ super(
26
+ api_key: api_key,
27
+ version: version,
28
+ host: host,
29
+ logger: logger,
30
+ response_logging: response_logging
31
+ )
20
32
  end
21
33
 
22
34
  def refresh_key(value)
@@ -27,7 +39,7 @@ module Ecoportal
27
39
  # @note It configures HTTP so it only allows body data in json format.
28
40
  # @return [HTTP] HTTP object.
29
41
  def base_request
30
- @base_request ||= begin
42
+ @base_request ||=
31
43
  case @version
32
44
  when NilClass
33
45
  HTTP.accept(:json)
@@ -38,7 +50,6 @@ module Ecoportal
38
50
  else
39
51
  HTTP.headers("X-ApiKey" => key_token).accept(:json)
40
52
  end
41
- end
42
53
  end
43
54
 
44
55
  # Full URl builder of the request
@@ -63,12 +74,12 @@ module Ecoportal
63
74
  end
64
75
 
65
76
  def base_url_api
66
- @base_uri_api ||= "#{base_url}/api/#{version}"
77
+ @base_url_api ||= "#{base_url}/api/#{version}"
67
78
  end
68
79
 
69
80
  def key_token
70
81
  if @api_key.nil? || @api_key.match(/\A\W*\z/)
71
- if (version == "v0") && key = ENV['ORG_INT_KEY']
82
+ if (version == "v0") && (key = ENV['ORG_INT_KEY'])
72
83
  key
73
84
  else
74
85
  puts "Api-key missing!"
@@ -39,7 +39,9 @@ module Ecoportal
39
39
  private
40
40
 
41
41
  def without_warnings
42
- original_verbose, $VERBOSE = $VERBOSE, nil
42
+ original_verbose = $VERBOSE
43
+ $VERBOSE = nil
44
+
43
45
  yield if block_given?
44
46
  ensure
45
47
  $VERBOSE = original_verbose
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GRAPQL_VERSION = '0.3.18'.freeze
3
+ GRAPQL_VERSION = '0.4.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,35 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api-graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.18
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-16 00:00:00.000000000 Z
11
+ date: 2024-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 2.4.12
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '3'
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 2.4.12
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '3'
33
13
  - !ruby/object:Gem::Dependency
34
14
  name: rspec
35
15
  requirement: !ruby/object:Gem::Requirement
@@ -128,22 +108,16 @@ dependencies:
128
108
  name: ecoportal-api-v2
129
109
  requirement: !ruby/object:Gem::Requirement
130
110
  requirements:
131
- - - ">="
111
+ - - "~>"
132
112
  - !ruby/object:Gem::Version
133
- version: 1.1.8
134
- - - "<"
135
- - !ruby/object:Gem::Version
136
- version: '1.2'
113
+ version: '2.0'
137
114
  type: :runtime
138
115
  prerelease: false
139
116
  version_requirements: !ruby/object:Gem::Requirement
140
117
  requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: 1.1.8
144
- - - "<"
118
+ - - "~>"
145
119
  - !ruby/object:Gem::Version
146
- version: '1.2'
120
+ version: '2.0'
147
121
  - !ruby/object:Gem::Dependency
148
122
  name: graphlient
149
123
  requirement: !ruby/object:Gem::Requirement
@@ -172,8 +146,10 @@ extensions: []
172
146
  extra_rdoc_files: []
173
147
  files:
174
148
  - ".gitignore"
149
+ - ".markdownlint.json"
175
150
  - ".rspec"
176
151
  - ".rubocop.yml"
152
+ - ".ruby-version"
177
153
  - ".yardopts"
178
154
  - CHANGELOG.md
179
155
  - Gemfile
@@ -317,7 +293,8 @@ files:
317
293
  homepage: https://www.ecoportal.com
318
294
  licenses:
319
295
  - MIT
320
- metadata: {}
296
+ metadata:
297
+ rubygems_mfa_required: 'true'
321
298
  post_install_message:
322
299
  rdoc_options: []
323
300
  require_paths:
@@ -326,14 +303,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
326
303
  requirements:
327
304
  - - ">="
328
305
  - !ruby/object:Gem::Version
329
- version: 2.7.0
306
+ version: 3.2.2
330
307
  required_rubygems_version: !ruby/object:Gem::Requirement
331
308
  requirements:
332
309
  - - ">="
333
310
  - !ruby/object:Gem::Version
334
311
  version: '0'
335
312
  requirements: []
336
- rubygems_version: 3.4.12
313
+ rubygems_version: 3.5.6
337
314
  signing_key:
338
315
  specification_version: 4
339
316
  summary: A collection of helpers for interacting with the ecoPortal GraphQL API