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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f48b7df545da0ca3acf06e577b40cb29cf52efd58d9ee3de743609c9e829c2df
4
- data.tar.gz: 6e14955bfb6ab3d824dbc5e11d899c30a1059e1a2b37931e6970461753e2d892
3
+ metadata.gz: 47fd3e322ea8c31b1db092d07ac97038c3377f0511f3346859cbe31705f8b59c
4
+ data.tar.gz: ff4f1f43958e1277636b39d49675714bb4b89db326dde17c5b57678a77b3310c
5
5
  SHA512:
6
- metadata.gz: fe73ff0a71b790e686ca6bd58c553c2643cc71c99c02dd0572cc1acd29b20891a992a5edf1caa96e3d99cf622deac1ef060067f2ac3763cbc48ba1d93bfad7d5
7
- data.tar.gz: 41a6f87ed1b0dfb5ad3b1fee16afb44d9d0ff8ab7ad6aabc59167003837434ecff523e0f177b7d15a96be6b8044e918084d9eeaade05b33c18bac736a4c11810
6
+ metadata.gz: 4e9f752dbf9f145eac3c905a387f0f91f4174e699be895e02bcfc23bef1465b9c25cf708d44df9ab6140bfb66e61d062657a67bb68caefef536aaca8c40b392c
7
+ data.tar.gz: '092d48959d3ffc5344a6bf4e22007bdbc644aaf0d9cfc035bb9ba34ef65ce42238dde0c78c38454ecb8b65ef5dc8c98d76d510f66f738546037f63c48683232a'
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
@@ -2,14 +2,28 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [2.7.26] - 2024-08-xx
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("../lib", __FILE__)
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
- spec.date = %q{2018-09-05}
13
- spec.summary = %q(eco-helpers to manage people api cases)
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.required_ruby_version = '>= 2.7.2'
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', '< 0.5'
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', '< 0.9'
40
- spec.add_dependency 'dotenv', '>= 2.8.1', '< 3'
41
- spec.add_dependency 'ecoportal-api', '>= 0.9.8', '< 0.10'
42
- spec.add_dependency 'ecoportal-api-graphql', '>= 0.3.18', '< 0.4'
43
- spec.add_dependency 'ecoportal-api-v2', '>= 1.1.8', '< 1.2'
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
@@ -0,0 +1,12 @@
1
+ module Eco
2
+ module API
3
+ class UseCases
4
+ class Default
5
+ module Meta
6
+ end
7
+ end
8
+ end
9
+ end
10
+ end
11
+
12
+ require_relative 'meta/graphql_schema'
@@ -1,4 +1,4 @@
1
- class Eco::API::UseCases::Default::People::Utils::SplitCsv
1
+ class Eco::API::UseCases::Default::Utils::SplitCsv
2
2
  class Cli < Eco::API::UseCases::Cli
3
3
  desc "Splits an input file into multiple ones"
4
4
 
@@ -1,4 +1,4 @@
1
- class Eco::API::UseCases::Default::People::Utils::SplitCsv < Eco::API::Common::Loaders::UseCase
1
+ class Eco::API::UseCases::Default::Utils::SplitCsv < Eco::API::Common::Loaders::UseCase
2
2
  require_relative 'cli/split_csv_cli'
3
3
 
4
4
  MAX_ROWS = 15_000
@@ -12,6 +12,7 @@ module Eco
12
12
  end
13
13
  end
14
14
 
15
+ require_relative 'default/meta'
16
+ require_relative 'default/utils'
15
17
  require_relative 'default/people'
16
18
  require_relative 'default/locations'
17
- require_relative 'default/utils'
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = '2.7.25'.freeze
2
+ VERSION = '3.0.1'.freeze
3
3
  end
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: 2.7.25
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: 2018-09-05 00:00:00.000000000 Z
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: 1.1.8
302
- - - "<"
263
+ version: '2.0'
264
+ - - ">="
303
265
  - !ruby/object:Gem::Version
304
- version: '1.2'
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: 1.1.8
312
- - - "<"
273
+ version: '2.0'
274
+ - - ">="
313
275
  - !ruby/object:Gem::Version
314
- version: '1.2'
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.jsonc"
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.7.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.4.12
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