eco-helpers 2.7.25 → 3.0.1

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: 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