eco-rake 0.3.1 → 0.3.3
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/CHANGELOG.md +17 -1
- data/eco-rake.gemspec +22 -16
- data/lib/eco-rake/lib/export/payload.rb +7 -3
- data/lib/eco-rake/lib/files/sftp.rb +5 -5
- data/lib/eco-rake/lib/people/sync_rely.rb +5 -1
- data/lib/eco-rake/lib/task/runner_rely.rb +6 -1
- data/lib/eco-rake/options/forwarding/proxy.rb +4 -1
- data/lib/eco-rake/options/forwarding/rule.rb +3 -1
- data/lib/eco-rake/version.rb +1 -1
- metadata +5 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 646b5578c51c3d83df10db355c9b22b0283009fcc4985f71daac5940e139cafb
|
|
4
|
+
data.tar.gz: 60de28da095a87a6b64c7068f998c99627a7d5816f2490d0e3be6b9d0872d29b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d91b6f0696350c4f40154d28870734dbc128c287b9dcc6a4f1cedf228a52dae96d00bf9b68e07894094dce6c77373b2e672c773dbb84fc468199df7435c1015
|
|
7
|
+
data.tar.gz: 8458acf28591cdb43bbf3887fde376291a93065dac82c2c9dc3117f6825c655b4b6234f21ca612f7a556bdfdc670a48e83b20b09a840582cad85dcc315d1e02a
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [0.3.
|
|
5
|
+
## [0.3.4] - 2026-04-xx
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
8
|
|
|
@@ -10,6 +10,22 @@ All notable changes to this project will be documented in this file.
|
|
|
10
10
|
|
|
11
11
|
### Fixed
|
|
12
12
|
|
|
13
|
+
## [0.3.3] - 2026-04-15
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- new option `no-sftp-pull` for data extracts.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- upgraded `rake-commander`
|
|
22
|
+
|
|
23
|
+
## [0.3.2] - 2025-11-22
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- `space` (`-w`) forwarding
|
|
28
|
+
|
|
13
29
|
## [0.3.1] - 2025-04-29
|
|
14
30
|
|
|
15
31
|
### Added
|
data/eco-rake.gemspec
CHANGED
|
@@ -1,36 +1,42 @@
|
|
|
1
|
+
# rubocop:disable Gemspec/DevelopmentDependencies
|
|
1
2
|
lib = File.expand_path('lib', __dir__)
|
|
2
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
-
|
|
4
|
+
|
|
5
|
+
require 'eco-rake/version'
|
|
4
6
|
|
|
5
7
|
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name =
|
|
8
|
+
spec.name = 'eco-rake'
|
|
7
9
|
spec.version = EcoRake::VERSION
|
|
8
|
-
spec.authors = [
|
|
9
|
-
spec.email = [
|
|
10
|
+
spec.authors = ['Oscar Segura Samper']
|
|
11
|
+
spec.email = ['oscar@ecoportal.co.nz']
|
|
10
12
|
|
|
11
13
|
spec.summary = 'A set of helpers to build re-usable `rake` integration helpers.'
|
|
12
|
-
spec.homepage =
|
|
14
|
+
spec.homepage = 'https://www.ecoportal.com'
|
|
13
15
|
spec.licenses = %w[MIT]
|
|
14
16
|
|
|
15
|
-
spec.
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
-
spec.bindir = "exe"
|
|
19
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
20
|
-
spec.require_paths = ["lib"]
|
|
17
|
+
spec.bindir = 'exe'
|
|
18
|
+
spec.executables = spec.files.grep(/^exe\//) { |f| File.basename(f) }
|
|
21
19
|
|
|
22
20
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
23
21
|
|
|
24
22
|
spec.required_ruby_version = '>= 3.2.2'
|
|
25
23
|
|
|
26
|
-
spec.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
25
|
+
f.match(/^(test|spec|features)\//)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
spec.require_paths = ['lib']
|
|
29
|
+
|
|
30
|
+
spec.add_development_dependency 'rake', '>= 13.0.6', '< 14'
|
|
31
|
+
spec.add_development_dependency 'redcarpet', '>= 3.6.0', '< 4'
|
|
32
|
+
spec.add_development_dependency 'rspec', '>= 3.10.0', '< 4'
|
|
33
|
+
spec.add_development_dependency 'yard', '>= 0.9.34', '< 1'
|
|
30
34
|
|
|
31
35
|
spec.add_dependency 'aws-sdk-ses', '~> 1', '>= 1.58.0'
|
|
32
36
|
spec.add_dependency 'dotenv', '~> 3'
|
|
33
37
|
spec.add_dependency 'nokogiri', '>= 1.13', '< 1.17'
|
|
34
|
-
spec.add_dependency 'rake-commander', '~> 0.4.
|
|
38
|
+
spec.add_dependency 'rake-commander', '~> 0.4.3'
|
|
35
39
|
spec.add_dependency 'sendgrid-ruby', '~> 6.7.0'
|
|
36
40
|
end
|
|
41
|
+
|
|
42
|
+
# rubocop:enable Gemspec/DevelopmentDependencies
|
|
@@ -8,7 +8,7 @@ class EcoRake
|
|
|
8
8
|
module Lib
|
|
9
9
|
module Export
|
|
10
10
|
class Payload < EcoRake::Lib::BaseTask
|
|
11
|
-
FORWARDED_OPTIONS = %i[csv txt col_sep simulate no_email notify].freeze
|
|
11
|
+
FORWARDED_OPTIONS = %i[csv txt col_sep space simulate no_email notify].freeze
|
|
12
12
|
FORWARD_RULES = {
|
|
13
13
|
enviro: ->(enviro) { "-#{enviro}" },
|
|
14
14
|
space: ->(space) { "-space #{space}" },
|
|
@@ -20,7 +20,8 @@ class EcoRake
|
|
|
20
20
|
col_sep: ->(sep) { "-col-sep #{sep}" },
|
|
21
21
|
multi_sep: ->(sep) { "-multi-sep #{sep}" },
|
|
22
22
|
full: ->(full) { full ? nil : '-delta' },
|
|
23
|
-
asat: ->(asat) { "-asatdate #{asat}" }
|
|
23
|
+
asat: ->(asat) { "-asatdate #{asat}" },
|
|
24
|
+
sftp_pull: ->(pull) { pull ? '' : '-no-sftp-pull' }
|
|
24
25
|
}.freeze
|
|
25
26
|
|
|
26
27
|
attr_const :mail_to
|
|
@@ -56,6 +57,9 @@ class EcoRake
|
|
|
56
57
|
value&.iso8601
|
|
57
58
|
end
|
|
58
59
|
|
|
60
|
+
str_desc = 'Whether or not to pull data files from the SFTP.'
|
|
61
|
+
option '-l', '--[no-]sftp-pull', TrueClass, default: true, desc: str_desc
|
|
62
|
+
|
|
59
63
|
option '-m', '--no-email', TrueClass, desc: 'Do not notify', default: false
|
|
60
64
|
|
|
61
65
|
str_desc = 'Notify (even if dry-run or not remote)'
|
|
@@ -91,7 +95,7 @@ class EcoRake
|
|
|
91
95
|
end
|
|
92
96
|
|
|
93
97
|
def export_registers
|
|
94
|
-
forward_command('-extract-registers', :multi_sep)
|
|
98
|
+
forward_command('-extract-registers', :multi_sep, :sftp_pull)
|
|
95
99
|
end
|
|
96
100
|
|
|
97
101
|
def export_pack
|
|
@@ -3,15 +3,15 @@ class EcoRake
|
|
|
3
3
|
module Files
|
|
4
4
|
class Sftp < EcoRake::Lib::BaseTask
|
|
5
5
|
FORWARD_RULES = {
|
|
6
|
-
enviro: ->(enviro) { "-#{enviro}"
|
|
7
|
-
space: ->(space)
|
|
8
|
-
folder: ->(folder) { "-local-folder #{folder}"},
|
|
6
|
+
enviro: ->(enviro) { "-#{enviro}" },
|
|
7
|
+
space: ->(space) { "-space #{space}" },
|
|
8
|
+
folder: ->(folder) { "-local-folder #{folder}" },
|
|
9
9
|
list: '-list',
|
|
10
10
|
get_last: '-get-last',
|
|
11
11
|
get: '-get',
|
|
12
12
|
archive: '-archive',
|
|
13
|
-
file_pattern: ->(str) { "-file-pattern-const #{str}"},
|
|
14
|
-
remote_subfolder: ->(sub) { "-remote-subfolder #{sub}"}
|
|
13
|
+
file_pattern: ->(str) { "-file-pattern-const #{str}" },
|
|
14
|
+
remote_subfolder: ->(sub) { "-remote-subfolder #{sub}" }
|
|
15
15
|
}.freeze
|
|
16
16
|
|
|
17
17
|
options_with_defaults true
|
|
@@ -27,10 +27,14 @@ class EcoRake
|
|
|
27
27
|
|
|
28
28
|
private
|
|
29
29
|
|
|
30
|
+
def forwarded_options
|
|
31
|
+
FORWARD_RULES.keys - [:enviro]
|
|
32
|
+
end
|
|
33
|
+
|
|
30
34
|
def rake_sync_command
|
|
31
35
|
rake_command(
|
|
32
36
|
namespaced_task,
|
|
33
|
-
*forward_options(*
|
|
37
|
+
*forward_options(*forwarded_options)
|
|
34
38
|
)
|
|
35
39
|
end
|
|
36
40
|
|
|
@@ -2,6 +2,7 @@ class EcoRake
|
|
|
2
2
|
module Lib
|
|
3
3
|
module Task
|
|
4
4
|
class RunnerRely < EcoRake::Lib::BaseTask
|
|
5
|
+
FORWARDED_OPTIONS = %i[space task simulate no_email notify].freeze
|
|
5
6
|
FORWARD_RULES = {
|
|
6
7
|
simulate: :mirror,
|
|
7
8
|
task: :mirror,
|
|
@@ -21,11 +22,15 @@ class EcoRake
|
|
|
21
22
|
|
|
22
23
|
private
|
|
23
24
|
|
|
25
|
+
def forwarded_options
|
|
26
|
+
self.class::FORWARDED_OPTIONS
|
|
27
|
+
end
|
|
28
|
+
|
|
24
29
|
def command
|
|
25
30
|
cmd = [base_command]
|
|
26
31
|
cmd << target_task
|
|
27
32
|
cmd << '--'
|
|
28
|
-
cmd.push(*forward_options(
|
|
33
|
+
cmd.push(*forward_options(*forwarded_options))
|
|
29
34
|
string_cmd(*cmd)
|
|
30
35
|
end
|
|
31
36
|
|
|
@@ -15,12 +15,14 @@ class EcoRake
|
|
|
15
15
|
pklass = parent.is_a?(Class)? parent : parent.class
|
|
16
16
|
msg = "Expecting parent to be RakeCommander::Options::Class. Given: #{pklass}"
|
|
17
17
|
raise ArgumentError, msg unless parent.is_a?(Class) && parent <= RakeCommander::Options
|
|
18
|
+
|
|
18
19
|
@parent = parent
|
|
19
20
|
@rules = {}
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
def each(&block)
|
|
23
24
|
return to_enum(:each) unless block_given?
|
|
25
|
+
|
|
24
26
|
@rules.values.each(&block)
|
|
25
27
|
end
|
|
26
28
|
|
|
@@ -83,8 +85,9 @@ class EcoRake
|
|
|
83
85
|
raise ArgumentError, msg unless (opt = option(rule.sym)) || !require_option
|
|
84
86
|
|
|
85
87
|
rule.sym = opt&.name
|
|
86
|
-
if existing_rule = self[rule.sym]
|
|
88
|
+
if (existing_rule = self[rule.sym])
|
|
87
89
|
return false unless override
|
|
90
|
+
|
|
88
91
|
puts "Warning: Overriding forwarding '#{existing_rule.desc}'" if warning
|
|
89
92
|
end
|
|
90
93
|
|
|
@@ -17,6 +17,7 @@ class EcoRake
|
|
|
17
17
|
raise ArgumentError, msg unless RULE_TYPES.any? {|type| rule.is_a?(type)}
|
|
18
18
|
msg = "Accepted Symbol rules are: :#{SYMBOL_TYPES.join(', :')}. Given :#{rule}"
|
|
19
19
|
raise ArgumentError, msg if rule.is_a?(Symbol) && SYMBOL_TYPES.none? {|type| rule == type}
|
|
20
|
+
|
|
20
21
|
@parent = parent
|
|
21
22
|
@sym = sym
|
|
22
23
|
@rule = rule
|
|
@@ -37,12 +38,13 @@ class EcoRake
|
|
|
37
38
|
end
|
|
38
39
|
|
|
39
40
|
# @note
|
|
40
|
-
# 1.
|
|
41
|
+
# 1. Retrieves value from parsed options results by using the option name, short or sym.
|
|
41
42
|
# 2. It then applies the rule on it.
|
|
42
43
|
# @param option_results [Hash] the parsed option results.
|
|
43
44
|
# @return [NilClass, Value] the value that the rule returns, `nil` if rule inactive/not-applicable.
|
|
44
45
|
def apply(option_results)
|
|
45
46
|
return nil unless active?(option_results)
|
|
47
|
+
|
|
46
48
|
opt = option
|
|
47
49
|
return nil unless opt || rule != :mirror
|
|
48
50
|
|
data/lib/eco-rake/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eco-rake
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Oscar Segura Samper
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rake
|
|
@@ -150,14 +149,14 @@ dependencies:
|
|
|
150
149
|
requirements:
|
|
151
150
|
- - "~>"
|
|
152
151
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: 0.4.
|
|
152
|
+
version: 0.4.3
|
|
154
153
|
type: :runtime
|
|
155
154
|
prerelease: false
|
|
156
155
|
version_requirements: !ruby/object:Gem::Requirement
|
|
157
156
|
requirements:
|
|
158
157
|
- - "~>"
|
|
159
158
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: 0.4.
|
|
159
|
+
version: 0.4.3
|
|
161
160
|
- !ruby/object:Gem::Dependency
|
|
162
161
|
name: sendgrid-ruby
|
|
163
162
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -172,7 +171,6 @@ dependencies:
|
|
|
172
171
|
- - "~>"
|
|
173
172
|
- !ruby/object:Gem::Version
|
|
174
173
|
version: 6.7.0
|
|
175
|
-
description:
|
|
176
174
|
email:
|
|
177
175
|
- oscar@ecoportal.co.nz
|
|
178
176
|
executables: []
|
|
@@ -260,7 +258,6 @@ licenses:
|
|
|
260
258
|
- MIT
|
|
261
259
|
metadata:
|
|
262
260
|
rubygems_mfa_required: 'true'
|
|
263
|
-
post_install_message:
|
|
264
261
|
rdoc_options: []
|
|
265
262
|
require_paths:
|
|
266
263
|
- lib
|
|
@@ -275,8 +272,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
275
272
|
- !ruby/object:Gem::Version
|
|
276
273
|
version: '0'
|
|
277
274
|
requirements: []
|
|
278
|
-
rubygems_version:
|
|
279
|
-
signing_key:
|
|
275
|
+
rubygems_version: 4.0.8
|
|
280
276
|
specification_version: 4
|
|
281
277
|
summary: A set of helpers to build re-usable `rake` integration helpers.
|
|
282
278
|
test_files: []
|