eco-helpers 2.7.25 → 3.0.1
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 +1 -1
- data/.ruby-version +1 -0
- data/CHANGELOG.md +15 -1
- data/eco-helpers.gemspec +12 -11
- data/lib/eco/api/usecases/default/meta/cli/graphql_schema_cli.rb +15 -0
- data/lib/eco/api/usecases/default/meta/graphql_schema.rb +78 -0
- data/lib/eco/api/usecases/default/meta.rb +12 -0
- data/lib/eco/api/usecases/default/utils/cli/split_csv_cli.rb +1 -1
- data/lib/eco/api/usecases/default/utils/split_csv_case.rb +1 -1
- data/lib/eco/api/usecases/default.rb +2 -1
- data/lib/eco/version.rb +1 -1
- data/lib/eco-helpers.rb +4 -0
- metadata +25 -58
- /data/{.markdownlint.jsonc → .markdownlint.json} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47fd3e322ea8c31b1db092d07ac97038c3377f0511f3346859cbe31705f8b59c
|
4
|
+
data.tar.gz: ff4f1f43958e1277636b39d49675714bb4b89db326dde17c5b57678a77b3310c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e9f752dbf9f145eac3c905a387f0f91f4174e699be895e02bcfc23bef1465b9c25cf708d44df9ab6140bfb66e61d062657a67bb68caefef536aaca8c40b392c
|
7
|
+
data.tar.gz: '092d48959d3ffc5344a6bf4e22007bdbc644aaf0d9cfc035bb9ba34ef65ce42238dde0c78c38454ecb8b65ef5dc8c98d76d510f66f738546037f63c48683232a'
|
data/.rubocop.yml
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.2.2
|
data/CHANGELOG.md
CHANGED
@@ -2,14 +2,28 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
-
## [
|
5
|
+
## [3.0.1] - 2024-08-09
|
6
6
|
|
7
7
|
### Added
|
8
8
|
|
9
|
+
- `GraphQLSchema` case to extract the schema in a json file
|
10
|
+
|
9
11
|
### Changed
|
10
12
|
|
13
|
+
- `SplitCsv` case namespace
|
14
|
+
|
15
|
+
### Fixed
|
16
|
+
|
17
|
+
- have `Eco::VERSION` defined
|
18
|
+
|
19
|
+
## [3.0.0] - 2024-08-01
|
20
|
+
|
21
|
+
- require `ruby 3`
|
22
|
+
|
11
23
|
### Fixed
|
12
24
|
|
25
|
+
- have `Eco::VERSION` defined
|
26
|
+
|
13
27
|
## [2.7.25] - 2024-08-01
|
14
28
|
|
15
29
|
### Added
|
data/eco-helpers.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lib = File.expand_path(
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
3
|
|
4
4
|
require "./lib/eco/version"
|
@@ -9,12 +9,14 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.platform = Gem::Platform::RUBY
|
10
10
|
spec.authors = ["Oscar Segura"]
|
11
11
|
spec.email = ["oscar@ecoportal.co.nz"]
|
12
|
-
|
13
|
-
spec.summary =
|
12
|
+
|
13
|
+
spec.summary = "eco-helpers to manage people api cases"
|
14
14
|
spec.homepage = "https://www.ecoportal.com"
|
15
15
|
spec.licenses = %w[MIT]
|
16
16
|
|
17
|
-
spec.
|
17
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
18
|
+
|
19
|
+
spec.required_ruby_version = '>= 3.2.2'
|
18
20
|
|
19
21
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
20
22
|
f.match(%r{^(test|spec|features)/})
|
@@ -24,7 +26,6 @@ Gem::Specification.new do |spec|
|
|
24
26
|
#spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
25
27
|
spec.require_paths = ["lib"]
|
26
28
|
|
27
|
-
spec.add_development_dependency "bundler", ">= 2.4.12", "< 3"
|
28
29
|
spec.add_development_dependency "rake", ">= 13.0.3", "< 14"
|
29
30
|
spec.add_development_dependency "redcarpet", ">= 3.6.0", "< 4"
|
30
31
|
spec.add_development_dependency "rspec", ">= 3.12.0", "< 4"
|
@@ -32,15 +33,15 @@ Gem::Specification.new do |spec|
|
|
32
33
|
spec.add_development_dependency "rubocop-rake", "~> 0"
|
33
34
|
spec.add_development_dependency "yard", ">= 0.9.34", "< 1"
|
34
35
|
|
35
|
-
spec.add_dependency 'amatch', '>= 0.4.1',
|
36
|
+
spec.add_dependency 'amatch', '>= 0.4.1', '< 0.5'
|
36
37
|
spec.add_dependency 'aws-sdk-s3', '>= 1.142.0', '< 2'
|
37
38
|
spec.add_dependency 'aws-sdk-ses', '>= 1.58.0', '< 2'
|
38
39
|
spec.add_dependency 'bcrypt_pbkdf', '~> 1.0'
|
39
|
-
spec.add_dependency 'docx', '>= 0.8.0',
|
40
|
-
spec.add_dependency 'dotenv', '
|
41
|
-
spec.add_dependency 'ecoportal-api', '
|
42
|
-
spec.add_dependency 'ecoportal-api-graphql', '
|
43
|
-
spec.add_dependency 'ecoportal-api-v2', '
|
40
|
+
spec.add_dependency 'docx', '>= 0.8.0', '< 0.9'
|
41
|
+
spec.add_dependency 'dotenv', '~> 3'
|
42
|
+
spec.add_dependency 'ecoportal-api', '~> 0.10'
|
43
|
+
spec.add_dependency 'ecoportal-api-graphql', '~> 0.4'
|
44
|
+
spec.add_dependency 'ecoportal-api-v2', '~> 2.0', '>= 2.0.8'
|
44
45
|
spec.add_dependency 'ed25519', '~> 1.2'
|
45
46
|
spec.add_dependency 'fast_excel', '>= 0.5.0', '< 0.6'
|
46
47
|
spec.add_dependency 'fuzzy_match', '>= 2.1.0', '< 2.2'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Eco::API::UseCases::Default::Meta::GraphQLSchema
|
2
|
+
class Cli < Eco::API::UseCases::Cli
|
3
|
+
desc "Retrieves and stores the GraphQL Schema"
|
4
|
+
|
5
|
+
callback do |_sess, options, _case|
|
6
|
+
file = SCR.get_arg(cli_name, with_param: true)
|
7
|
+
options.deep_merge!(output: {file: {name: file}})
|
8
|
+
end
|
9
|
+
|
10
|
+
add_option("-format", "Kind of extract (definition | json | yaml )") do |options|
|
11
|
+
format = SCR.get_arg("-format", with_param: true)
|
12
|
+
options.deep_merge!(output: {format: format})
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
class Eco::API::UseCases::Default::Meta::GraphQLSchema < Eco::API::Common::Loaders::UseCase
|
2
|
+
include Eco::API::UseCases::GraphQL::Helpers::Base
|
3
|
+
|
4
|
+
require_relative 'cli/graphql_schema_cli'
|
5
|
+
|
6
|
+
OUT_FOLDER = "sftp".freeze
|
7
|
+
OUT_TIME_FORMAT = '%Y%m%dT%H%M%S'.freeze
|
8
|
+
OUT_FILENAME = "graphql_schema".freeze
|
9
|
+
|
10
|
+
name "graphql-schema"
|
11
|
+
type :other
|
12
|
+
|
13
|
+
def main(*_args)
|
14
|
+
return unless graphql_schema
|
15
|
+
|
16
|
+
File.open(output_filename, 'wb') { |fd| fd << schema_content }
|
17
|
+
log(:info) {
|
18
|
+
"Generated file: '#{output_filename}'"
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def schema_content
|
25
|
+
case output_format
|
26
|
+
when :definition
|
27
|
+
graphql_schema.to_definition
|
28
|
+
when :json
|
29
|
+
graphql_schema.to_json
|
30
|
+
when :yaml
|
31
|
+
graphql_schema.to_yaml
|
32
|
+
else
|
33
|
+
raise ArgumentError, "Unknown '-format' #{output_format}"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def graphql_schema
|
38
|
+
@graphql_schema ||= graphql.client.schema
|
39
|
+
end
|
40
|
+
|
41
|
+
def output_filename(name = output_basename)
|
42
|
+
File.join(output_folder, "#{timestamp}_#{enviro_name}_#{name}.#{output_extension}")
|
43
|
+
end
|
44
|
+
|
45
|
+
def enviro_name
|
46
|
+
@enviro_name ||= ''.then do
|
47
|
+
host = graphql.client.host
|
48
|
+
uri = URI.parse("https://#{host}")
|
49
|
+
uri.host.split('.')[0].gsub('-', '_')
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def output_extension
|
54
|
+
case output_format
|
55
|
+
when :definition then 'graphql'
|
56
|
+
when :json then 'json'
|
57
|
+
when :yaml then 'yml'
|
58
|
+
else
|
59
|
+
'txt'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def output_folder
|
64
|
+
"#{config.active_enviro}/#{self.class::OUT_FOLDER}"
|
65
|
+
end
|
66
|
+
|
67
|
+
def timestamp(date = Time.now)
|
68
|
+
date.strftime(self.class::OUT_TIME_FORMAT)
|
69
|
+
end
|
70
|
+
|
71
|
+
def output_basename
|
72
|
+
options.dig(:output, :file, :name) || self.class::OUT_FILENAME
|
73
|
+
end
|
74
|
+
|
75
|
+
def output_format
|
76
|
+
@output_format ||= (options.dig(:output, :format) || :definition).to_sym
|
77
|
+
end
|
78
|
+
end
|
data/lib/eco/version.rb
CHANGED
data/lib/eco-helpers.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# rubocop:disable Naming/FileName
|
1
2
|
require 'csv'
|
2
3
|
require 'json'
|
3
4
|
require 'pp'
|
@@ -7,6 +8,7 @@ require 'dotenv/load'
|
|
7
8
|
module Eco
|
8
9
|
end
|
9
10
|
|
11
|
+
require_relative 'eco/version'
|
10
12
|
require_relative 'eco/language'
|
11
13
|
require_relative 'eco/common'
|
12
14
|
require_relative 'eco/data'
|
@@ -14,3 +16,5 @@ require_relative 'eco/csv'
|
|
14
16
|
require_relative 'eco/api'
|
15
17
|
require_relative 'eco/cli'
|
16
18
|
require_relative 'eco/assets'
|
19
|
+
|
20
|
+
# rubocop:enable Naming/FileName
|
metadata
CHANGED
@@ -1,35 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eco-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Segura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-08-08 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: rake
|
35
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,82 +216,64 @@ dependencies:
|
|
236
216
|
name: dotenv
|
237
217
|
requirement: !ruby/object:Gem::Requirement
|
238
218
|
requirements:
|
239
|
-
- - "
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: 2.8.1
|
242
|
-
- - "<"
|
219
|
+
- - "~>"
|
243
220
|
- !ruby/object:Gem::Version
|
244
221
|
version: '3'
|
245
222
|
type: :runtime
|
246
223
|
prerelease: false
|
247
224
|
version_requirements: !ruby/object:Gem::Requirement
|
248
225
|
requirements:
|
249
|
-
- - "
|
250
|
-
- !ruby/object:Gem::Version
|
251
|
-
version: 2.8.1
|
252
|
-
- - "<"
|
226
|
+
- - "~>"
|
253
227
|
- !ruby/object:Gem::Version
|
254
228
|
version: '3'
|
255
229
|
- !ruby/object:Gem::Dependency
|
256
230
|
name: ecoportal-api
|
257
231
|
requirement: !ruby/object:Gem::Requirement
|
258
232
|
requirements:
|
259
|
-
- - "
|
260
|
-
- !ruby/object:Gem::Version
|
261
|
-
version: 0.9.8
|
262
|
-
- - "<"
|
233
|
+
- - "~>"
|
263
234
|
- !ruby/object:Gem::Version
|
264
235
|
version: '0.10'
|
265
236
|
type: :runtime
|
266
237
|
prerelease: false
|
267
238
|
version_requirements: !ruby/object:Gem::Requirement
|
268
239
|
requirements:
|
269
|
-
- - "
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: 0.9.8
|
272
|
-
- - "<"
|
240
|
+
- - "~>"
|
273
241
|
- !ruby/object:Gem::Version
|
274
242
|
version: '0.10'
|
275
243
|
- !ruby/object:Gem::Dependency
|
276
244
|
name: ecoportal-api-graphql
|
277
245
|
requirement: !ruby/object:Gem::Requirement
|
278
246
|
requirements:
|
279
|
-
- - "
|
280
|
-
- !ruby/object:Gem::Version
|
281
|
-
version: 0.3.18
|
282
|
-
- - "<"
|
247
|
+
- - "~>"
|
283
248
|
- !ruby/object:Gem::Version
|
284
249
|
version: '0.4'
|
285
250
|
type: :runtime
|
286
251
|
prerelease: false
|
287
252
|
version_requirements: !ruby/object:Gem::Requirement
|
288
253
|
requirements:
|
289
|
-
- - "
|
290
|
-
- !ruby/object:Gem::Version
|
291
|
-
version: 0.3.18
|
292
|
-
- - "<"
|
254
|
+
- - "~>"
|
293
255
|
- !ruby/object:Gem::Version
|
294
256
|
version: '0.4'
|
295
257
|
- !ruby/object:Gem::Dependency
|
296
258
|
name: ecoportal-api-v2
|
297
259
|
requirement: !ruby/object:Gem::Requirement
|
298
260
|
requirements:
|
299
|
-
- - "
|
261
|
+
- - "~>"
|
300
262
|
- !ruby/object:Gem::Version
|
301
|
-
version:
|
302
|
-
- - "
|
263
|
+
version: '2.0'
|
264
|
+
- - ">="
|
303
265
|
- !ruby/object:Gem::Version
|
304
|
-
version:
|
266
|
+
version: 2.0.8
|
305
267
|
type: :runtime
|
306
268
|
prerelease: false
|
307
269
|
version_requirements: !ruby/object:Gem::Requirement
|
308
270
|
requirements:
|
309
|
-
- - "
|
271
|
+
- - "~>"
|
310
272
|
- !ruby/object:Gem::Version
|
311
|
-
version:
|
312
|
-
- - "
|
273
|
+
version: '2.0'
|
274
|
+
- - ">="
|
313
275
|
- !ruby/object:Gem::Version
|
314
|
-
version:
|
276
|
+
version: 2.0.8
|
315
277
|
- !ruby/object:Gem::Dependency
|
316
278
|
name: ed25519
|
317
279
|
requirement: !ruby/object:Gem::Requirement
|
@@ -534,9 +496,10 @@ extensions: []
|
|
534
496
|
extra_rdoc_files: []
|
535
497
|
files:
|
536
498
|
- ".gitignore"
|
537
|
-
- ".markdownlint.
|
499
|
+
- ".markdownlint.json"
|
538
500
|
- ".rspec"
|
539
501
|
- ".rubocop.yml"
|
502
|
+
- ".ruby-version"
|
540
503
|
- ".yardopts"
|
541
504
|
- CHANGELOG.md
|
542
505
|
- Gemfile
|
@@ -701,6 +664,9 @@ files:
|
|
701
664
|
- lib/eco/api/usecases/default/locations/csv_to_tree_case.rb
|
702
665
|
- lib/eco/api/usecases/default/locations/tagtree_extract_case.rb
|
703
666
|
- lib/eco/api/usecases/default/locations/tagtree_upload_case.rb
|
667
|
+
- lib/eco/api/usecases/default/meta.rb
|
668
|
+
- lib/eco/api/usecases/default/meta/cli/graphql_schema_cli.rb
|
669
|
+
- lib/eco/api/usecases/default/meta/graphql_schema.rb
|
704
670
|
- lib/eco/api/usecases/default/people.rb
|
705
671
|
- lib/eco/api/usecases/default/people/amend.rb
|
706
672
|
- lib/eco/api/usecases/default/people/amend/clean_unknown_tags_case.rb
|
@@ -923,7 +889,8 @@ files:
|
|
923
889
|
homepage: https://www.ecoportal.com
|
924
890
|
licenses:
|
925
891
|
- MIT
|
926
|
-
metadata:
|
892
|
+
metadata:
|
893
|
+
rubygems_mfa_required: 'true'
|
927
894
|
post_install_message:
|
928
895
|
rdoc_options: []
|
929
896
|
require_paths:
|
@@ -932,14 +899,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
932
899
|
requirements:
|
933
900
|
- - ">="
|
934
901
|
- !ruby/object:Gem::Version
|
935
|
-
version: 2.
|
902
|
+
version: 3.2.2
|
936
903
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
937
904
|
requirements:
|
938
905
|
- - ">="
|
939
906
|
- !ruby/object:Gem::Version
|
940
907
|
version: '0'
|
941
908
|
requirements: []
|
942
|
-
rubygems_version: 3.
|
909
|
+
rubygems_version: 3.5.6
|
943
910
|
signing_key:
|
944
911
|
specification_version: 4
|
945
912
|
summary: eco-helpers to manage people api cases
|
File without changes
|