eac_tools 0.68.0 → 0.69.0
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/Gemfile.lock +13 -13
- data/lib/eac_tools/version.rb +1 -1
- data/sub/aranha-parsers/aranha-parsers.gemspec +3 -3
- data/sub/aranha-parsers/lib/aranha/parsers/html/node/default.rb +0 -5
- data/sub/aranha-parsers/lib/aranha/parsers/version.rb +1 -1
- data/sub/avm/avm.gemspec +1 -1
- data/sub/avm/lib/avm/data/dumper.rb +39 -24
- data/sub/avm/lib/avm/data/loader.rb +28 -0
- data/sub/avm/lib/avm/data/package/load.rb +10 -19
- data/sub/avm/lib/avm/data/package.rb +4 -6
- data/sub/avm/lib/avm/data/performer.rb +1 -1
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm-tools/avm-tools.gemspec +2 -2
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +2 -40
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +1 -12
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +5 -12
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +69 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +7 -2
- data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 154479f83d348a92c4679896b5823cde655434bff03318a87f1327504a60b666
|
|
4
|
+
data.tar.gz: 1af0723d19a94caaf7eae6af5fc4151cf2bd2bb108e29c335dfe721e1f4714ff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0103ea3d0b34d1e27e9e940c9e654e968bd4dde5b348c38180fd3bd95f9c569712c95dcd53ff37f1e5cd90db4d95c6c8542429f3ac71ed2037fd162bbc507264
|
|
7
|
+
data.tar.gz: 1d6bc0ab13de8660b2baa316fd86333e3ecff40217f52ea35023598781dd8f1a98ab6aedf8143791a99d4f56b55dc0dad6f2578bb1c6e6629f035bd455572a31
|
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
eac_tools (0.
|
|
5
|
-
avm (~> 0.
|
|
4
|
+
eac_tools (0.69.0)
|
|
5
|
+
avm (~> 0.75)
|
|
6
6
|
avm-eac_asciidoctor_base0 (~> 0.19)
|
|
7
7
|
avm-eac_generic_base0 (~> 0.12)
|
|
8
8
|
avm-eac_latex_base0 (~> 0.3, >= 0.3.1)
|
|
@@ -17,18 +17,18 @@ PATH
|
|
|
17
17
|
avm-eac_webapp_base0 (~> 0.17, >= 0.17.2)
|
|
18
18
|
avm-eac_wordpress_base0 (~> 0.3, >= 0.3.1)
|
|
19
19
|
avm-git (~> 0.13, >= 0.13.3)
|
|
20
|
-
avm-tools (~> 0.
|
|
20
|
+
avm-tools (~> 0.151)
|
|
21
21
|
eac_ruby_utils (~> 0.117)
|
|
22
22
|
|
|
23
23
|
PATH
|
|
24
24
|
remote: sub/aranha-parsers
|
|
25
25
|
specs:
|
|
26
|
-
aranha-parsers (0.
|
|
26
|
+
aranha-parsers (0.19.0)
|
|
27
27
|
activesupport (>= 4.0.0)
|
|
28
28
|
addressable (~> 2.8, >= 2.8.4)
|
|
29
|
-
eac_envs-http (~> 0.3, >= 0.3.
|
|
30
|
-
eac_ruby_utils (~> 0.
|
|
31
|
-
nokogiri (~> 1.
|
|
29
|
+
eac_envs-http (~> 0.3, >= 0.3.2)
|
|
30
|
+
eac_ruby_utils (~> 0.117)
|
|
31
|
+
nokogiri (~> 1.15, >= 1.15.1)
|
|
32
32
|
ofx-parser (~> 1.1)
|
|
33
33
|
|
|
34
34
|
PATH
|
|
@@ -174,9 +174,9 @@ PATH
|
|
|
174
174
|
PATH
|
|
175
175
|
remote: sub/avm-tools
|
|
176
176
|
specs:
|
|
177
|
-
avm-tools (0.
|
|
178
|
-
aranha-parsers (~> 0.
|
|
179
|
-
avm (~> 0.
|
|
177
|
+
avm-tools (0.151.0)
|
|
178
|
+
aranha-parsers (~> 0.19)
|
|
179
|
+
avm (~> 0.75)
|
|
180
180
|
avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
|
|
181
181
|
avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.3)
|
|
182
182
|
avm-files (~> 0.6, >= 0.6.2)
|
|
@@ -192,8 +192,8 @@ PATH
|
|
|
192
192
|
PATH
|
|
193
193
|
remote: sub/avm
|
|
194
194
|
specs:
|
|
195
|
-
avm (0.
|
|
196
|
-
aranha-parsers (~> 0.
|
|
195
|
+
avm (0.75.0)
|
|
196
|
+
aranha-parsers (~> 0.19)
|
|
197
197
|
eac_cli (~> 0.35)
|
|
198
198
|
eac_config (~> 0.12)
|
|
199
199
|
eac_docker (~> 0.7)
|
|
@@ -335,7 +335,7 @@ GEM
|
|
|
335
335
|
htmlbeautifier (1.4.2)
|
|
336
336
|
i18n (1.13.0)
|
|
337
337
|
concurrent-ruby (~> 1.0)
|
|
338
|
-
jaro_winkler (1.5.
|
|
338
|
+
jaro_winkler (1.5.5)
|
|
339
339
|
minitar (0.9)
|
|
340
340
|
minitest (5.18.0)
|
|
341
341
|
multipart-post (2.3.0)
|
data/lib/eac_tools/version.rb
CHANGED
|
@@ -14,9 +14,9 @@ Gem::Specification.new do |s|
|
|
|
14
14
|
|
|
15
15
|
s.add_dependency 'activesupport', '>= 4.0.0'
|
|
16
16
|
s.add_dependency 'addressable', '~> 2.8', '>= 2.8.4'
|
|
17
|
-
s.add_dependency 'eac_envs-http', '~> 0.3', '>= 0.3.
|
|
18
|
-
s.add_dependency 'eac_ruby_utils', '~> 0.
|
|
19
|
-
s.add_dependency 'nokogiri', '~> 1.
|
|
17
|
+
s.add_dependency 'eac_envs-http', '~> 0.3', '>= 0.3.2'
|
|
18
|
+
s.add_dependency 'eac_ruby_utils', '~> 0.117'
|
|
19
|
+
s.add_dependency 'nokogiri', '~> 1.15', '>= 1.15.1'
|
|
20
20
|
s.add_dependency 'ofx-parser', '~> 1.1'
|
|
21
21
|
|
|
22
22
|
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
|
|
@@ -10,11 +10,6 @@ module Aranha
|
|
|
10
10
|
class Default < ::Aranha::Parsers::Html::Node::Base
|
|
11
11
|
require_sub __FILE__, include_modules: true
|
|
12
12
|
|
|
13
|
-
def array_value(node, xpath)
|
|
14
|
-
r = node_set_value(node, xpath).map { |n| n.text.strip }
|
|
15
|
-
r.join('|')
|
|
16
|
-
end
|
|
17
|
-
|
|
18
13
|
def join_value(node, xpath)
|
|
19
14
|
m = ''
|
|
20
15
|
node_set_value(node, xpath).each do |n|
|
data/sub/avm/avm.gemspec
CHANGED
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
|
12
12
|
|
|
13
13
|
s.files = Dir['{lib}/**/*']
|
|
14
14
|
|
|
15
|
-
s.add_dependency 'aranha-parsers', '~> 0.
|
|
15
|
+
s.add_dependency 'aranha-parsers', '~> 0.19'
|
|
16
16
|
s.add_dependency 'eac_cli', '~> 0.35'
|
|
17
17
|
s.add_dependency 'eac_config', '~> 0.12'
|
|
18
18
|
s.add_dependency 'eac_docker', '~> 0.7'
|
|
@@ -9,22 +9,17 @@ module Avm
|
|
|
9
9
|
module Data
|
|
10
10
|
class Dumper < ::Avm::Data::Performer
|
|
11
11
|
DEFAULT_EXPIRE_TIME = 1.day
|
|
12
|
+
DEFAULT_OVERWRITE = false
|
|
13
|
+
DEFAULT_ROTATE = true
|
|
12
14
|
|
|
13
15
|
enable_speaker
|
|
14
16
|
enable_listable
|
|
15
|
-
|
|
16
|
-
immutable_accessor :
|
|
17
|
+
immutable_accessor :expire_time, :target_path
|
|
18
|
+
immutable_accessor :overwrite, :rotate, type: :boolean
|
|
17
19
|
|
|
18
|
-
# @return [
|
|
20
|
+
# @return [nil]
|
|
19
21
|
def cannot_perform_reason
|
|
20
|
-
|
|
21
|
-
[EXISTING_OVERWRITE, EXISTING_ROTATE].include?(existing)
|
|
22
|
-
|
|
23
|
-
if existing == EXISTING_DENIED
|
|
24
|
-
'Data exist and overwriting is denied'
|
|
25
|
-
elsif existing == EXISTING_ROTATE_EXPIRED && !target_path_expired?
|
|
26
|
-
'Data exist and yet is not expired'
|
|
27
|
-
end
|
|
22
|
+
nil
|
|
28
23
|
end
|
|
29
24
|
|
|
30
25
|
# @return [Pathname]
|
|
@@ -37,7 +32,7 @@ module Avm
|
|
|
37
32
|
|
|
38
33
|
# @return [Boolean]
|
|
39
34
|
def target_path_expired?
|
|
40
|
-
target_path_time.if_present(
|
|
35
|
+
target_path_time.if_present(true) { |v| v >= expire_time }
|
|
41
36
|
end
|
|
42
37
|
|
|
43
38
|
# @return [ActiveSupport::Duration, nil]
|
|
@@ -60,16 +55,20 @@ module Avm
|
|
|
60
55
|
raise "\"#{temp_data_path}\" is not a file" unless temp_data_path.file?
|
|
61
56
|
end
|
|
62
57
|
|
|
58
|
+
# @return [String, nil]
|
|
59
|
+
def do_rotate
|
|
60
|
+
return unless target_path.exist?
|
|
61
|
+
return unless rotate?
|
|
62
|
+
|
|
63
|
+
infom "Rotating \"#{target_path}\"..."
|
|
64
|
+
::Avm::Data::Rotate.new(target_path).run
|
|
65
|
+
end
|
|
66
|
+
|
|
63
67
|
# @return [Array<Symbol>]
|
|
64
68
|
def excluded_units
|
|
65
69
|
excludes.map(&:to_sym).sort
|
|
66
70
|
end
|
|
67
71
|
|
|
68
|
-
# @return [Symbol, nil]
|
|
69
|
-
def existing_set_filter(value)
|
|
70
|
-
value.nil? ? nil : self.class.lists.existing.value_validate!(value)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
72
|
# @return [ActiveSupport::Duration]
|
|
74
73
|
def expire_time_get_filter(value)
|
|
75
74
|
value || DEFAULT_EXPIRE_TIME
|
|
@@ -91,13 +90,21 @@ module Avm
|
|
|
91
90
|
|
|
92
91
|
# @return [self]
|
|
93
92
|
def internal_perform
|
|
93
|
+
use_current? ? internal_perform_use_current : internal_perform_new
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def internal_perform_new
|
|
94
97
|
on_temp_data_file do
|
|
95
98
|
build_temp_data_file
|
|
96
|
-
|
|
99
|
+
do_rotate
|
|
97
100
|
move_data_to_target_path
|
|
98
101
|
end
|
|
99
102
|
end
|
|
100
103
|
|
|
104
|
+
def internal_perform_use_current
|
|
105
|
+
infom "Dump \"#{target_path}\" exists and is unexpired"
|
|
106
|
+
end
|
|
107
|
+
|
|
101
108
|
def move_data_to_target_path
|
|
102
109
|
::FileUtils.mv(temp_data_path, target_path.assert_parent)
|
|
103
110
|
end
|
|
@@ -109,19 +116,27 @@ module Avm
|
|
|
109
116
|
end
|
|
110
117
|
end
|
|
111
118
|
|
|
112
|
-
# @return [
|
|
113
|
-
def
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
# @return [Boolean]
|
|
120
|
+
def overwrite_get_filter(value)
|
|
121
|
+
value.nil? ? DEFAULT_OVERWRITE : value
|
|
122
|
+
end
|
|
116
123
|
|
|
117
|
-
|
|
118
|
-
|
|
124
|
+
def rotate_get_filter(value)
|
|
125
|
+
value.nil? ? DEFAULT_ROTATE : value
|
|
119
126
|
end
|
|
120
127
|
|
|
121
128
|
# @return [Pathname]
|
|
122
129
|
def target_path_get_filter(value)
|
|
123
130
|
(value || default_dump_path).to_pathname
|
|
124
131
|
end
|
|
132
|
+
|
|
133
|
+
# @return [Boolean]
|
|
134
|
+
def use_current?
|
|
135
|
+
return false unless target_path.exist?
|
|
136
|
+
return false if overwrite?
|
|
137
|
+
|
|
138
|
+
!target_path_expired?
|
|
139
|
+
end
|
|
125
140
|
end
|
|
126
141
|
end
|
|
127
142
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/data/performer'
|
|
4
|
+
require 'avm/data/rotate'
|
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
|
6
|
+
require 'eac_ruby_utils/fs/temp'
|
|
7
|
+
|
|
8
|
+
module Avm
|
|
9
|
+
module Data
|
|
10
|
+
class Loader < ::Avm::Data::Performer
|
|
11
|
+
immutable_accessor :source_path
|
|
12
|
+
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
def cannot_perform_reason
|
|
15
|
+
return 'Source path not set' if source_path.blank?
|
|
16
|
+
return "\"#{source_path}\" is not a file" unless source_path.file?
|
|
17
|
+
|
|
18
|
+
nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
protected
|
|
22
|
+
|
|
23
|
+
def internal_perform
|
|
24
|
+
data_owner.load(source_path, *include_excludes_arguments)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'avm/data/package/base_performer'
|
|
3
4
|
require 'avm/data/package/build_directory'
|
|
4
5
|
require 'eac_ruby_utils/core_ext'
|
|
5
6
|
require 'minitar'
|
|
@@ -7,37 +8,27 @@ require 'minitar'
|
|
|
7
8
|
module Avm
|
|
8
9
|
module Data
|
|
9
10
|
class Package
|
|
10
|
-
class Load
|
|
11
|
+
class Load < ::Avm::Data::Package::BasePerformer
|
|
12
|
+
enable_method_class
|
|
11
13
|
enable_speaker
|
|
12
14
|
include ::Avm::Data::Package::BuildDirectory
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
attr_reader :source_path
|
|
15
17
|
|
|
16
|
-
def
|
|
17
|
-
|
|
18
|
+
def initialize(package, source_path, options = {})
|
|
19
|
+
super(package, options)
|
|
20
|
+
@source_path = source_path.to_pathname
|
|
18
21
|
end
|
|
19
22
|
|
|
20
|
-
def
|
|
21
|
-
return nil if data_file_exist?
|
|
22
|
-
|
|
23
|
-
"Data file \"#{data_file_path}\" does not exist"
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def run
|
|
27
|
-
raise "Cannot run: #{cannot_run_reason}" unless runnable?
|
|
28
|
-
|
|
23
|
+
def result
|
|
29
24
|
on_build_directory do
|
|
30
25
|
extract_packages_to_build_directory
|
|
31
|
-
package.load_units_from_directory(build_directory)
|
|
26
|
+
package.load_units_from_directory(build_directory, selected_units)
|
|
32
27
|
end
|
|
33
28
|
end
|
|
34
29
|
|
|
35
|
-
def data_file_exist?
|
|
36
|
-
::File.exist?(data_file_path)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
30
|
def extract_packages_to_build_directory
|
|
40
|
-
::Minitar.unpack(
|
|
31
|
+
::Minitar.unpack(source_path.to_path, build_directory.to_path)
|
|
41
32
|
end
|
|
42
33
|
end
|
|
43
34
|
end
|
|
@@ -32,10 +32,6 @@ module Avm
|
|
|
32
32
|
DATA_FILE_EXTENSION
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
def load(data_path)
|
|
36
|
-
::Avm::Data::Package::Load.new(self, data_path)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
35
|
def dump_units_to_directory(directory, selected_units = nil)
|
|
40
36
|
run_callbacks :dump do
|
|
41
37
|
(selected_units || units).each do |identifier, unit|
|
|
@@ -44,9 +40,11 @@ module Avm
|
|
|
44
40
|
end
|
|
45
41
|
end
|
|
46
42
|
|
|
47
|
-
def load_units_from_directory(directory)
|
|
43
|
+
def load_units_from_directory(directory, selected_units = nil)
|
|
48
44
|
run_callbacks :load do
|
|
49
|
-
units.each
|
|
45
|
+
(selected_units || units).each do |identifier, unit|
|
|
46
|
+
unit.load_from_directory(directory, identifier)
|
|
47
|
+
end
|
|
50
48
|
end
|
|
51
49
|
end
|
|
52
50
|
|
data/sub/avm/lib/avm/version.rb
CHANGED
|
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
|
|
|
14
14
|
s.bindir = 'exe'
|
|
15
15
|
s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
16
16
|
|
|
17
|
-
s.add_dependency 'aranha-parsers', '~> 0.
|
|
18
|
-
s.add_dependency 'avm', '~> 0.
|
|
17
|
+
s.add_dependency 'aranha-parsers', '~> 0.19'
|
|
18
|
+
s.add_dependency 'avm', '~> 0.75'
|
|
19
19
|
s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.3'
|
|
20
20
|
s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.4', '>= 0.4.3'
|
|
21
21
|
s.add_dependency 'avm-files', '~> 0.6', '>= 0.6.2'
|
|
@@ -9,46 +9,8 @@ module Avm
|
|
|
9
9
|
class Instance < ::Avm::Instances::Runner
|
|
10
10
|
class Data
|
|
11
11
|
class Load
|
|
12
|
-
runner_with :help do
|
|
13
|
-
desc 'Load utility for
|
|
14
|
-
arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
|
|
15
|
-
pos_arg :dump_path, optional: true
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def run
|
|
19
|
-
return fatal_error("Dump \"#{dump_path}\" does not exist") unless
|
|
20
|
-
::File.exist?(dump_path)
|
|
21
|
-
|
|
22
|
-
load_dump
|
|
23
|
-
success("Dump loaded from \"#{dump_path}\"")
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def dump_path_uncached
|
|
27
|
-
return parsed.dump_path.to_s if parsed.dump_path.present?
|
|
28
|
-
return source_instance_dump_path if parsed.source_instance.present?
|
|
29
|
-
|
|
30
|
-
raise "Dump path unknown (Options: #{parsed})"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def source_instance_dump_path
|
|
34
|
-
runner_context.call(:instance).class.by_id(parsed.source_instance).run_subcommand(
|
|
35
|
-
::Avm::Tools::Runner::Instance::Data::Dump, []
|
|
36
|
-
)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def load_dump
|
|
40
|
-
info "Loading dump \"#{dump_path}\"..."
|
|
41
|
-
package_load.run
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def dump_instance_method
|
|
45
|
-
:dump_database
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
private
|
|
49
|
-
|
|
50
|
-
def package_load_uncached
|
|
51
|
-
runner_context.call(:instance).data_package.load(dump_path)
|
|
12
|
+
runner_with :help, :include_exclude, :instance_data_load do
|
|
13
|
+
desc 'Load utility for instance.'
|
|
52
14
|
end
|
|
53
15
|
end
|
|
54
16
|
end
|
|
@@ -10,18 +10,7 @@ module Avm
|
|
|
10
10
|
class Data
|
|
11
11
|
class Unit
|
|
12
12
|
class Load
|
|
13
|
-
runner_with :help
|
|
14
|
-
pos_arg :dump_path
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def run
|
|
18
|
-
data_owner.load(dump_path)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# @return [Pathname]
|
|
22
|
-
def dump_path
|
|
23
|
-
parsed.dump_path.to_pathname
|
|
24
|
-
end
|
|
13
|
+
runner_with :help, :instance_data_load
|
|
25
14
|
end
|
|
26
15
|
end
|
|
27
16
|
end
|
|
@@ -10,8 +10,6 @@ module Avm
|
|
|
10
10
|
module InstanceDataDump
|
|
11
11
|
common_concern do
|
|
12
12
|
enable_simple_cache
|
|
13
|
-
include ::Avm::Tools::RunnerWith::InstanceDataPerformer
|
|
14
|
-
|
|
15
13
|
runner_definition do
|
|
16
14
|
bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
|
|
17
15
|
pos_arg :dump_path, optional: true
|
|
@@ -23,6 +21,8 @@ module Avm
|
|
|
23
21
|
end
|
|
24
22
|
end
|
|
25
23
|
|
|
24
|
+
include ::Avm::Tools::RunnerWith::InstanceDataPerformer
|
|
25
|
+
|
|
26
26
|
DUMP_EXPIRE_TIME = 1.day
|
|
27
27
|
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
|
28
28
|
'dump was expired.'
|
|
@@ -41,25 +41,18 @@ module Avm
|
|
|
41
41
|
|
|
42
42
|
# @return [Avm::Data::Dumper]
|
|
43
43
|
def data_performer_uncached
|
|
44
|
-
super.
|
|
44
|
+
r = super.overwrite(parsed.rewrite?)
|
|
45
|
+
parsed.dump_path.if_present(r) { |v| r.target_path(v.to_pathname) }
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
# @return [Pathname]
|
|
48
49
|
def dump_path
|
|
49
|
-
|
|
50
|
+
data_performer.target_path
|
|
50
51
|
end
|
|
51
52
|
|
|
52
53
|
def default_dump_path
|
|
53
54
|
data_performer.default_dump_path
|
|
54
55
|
end
|
|
55
|
-
|
|
56
|
-
def dump_existing
|
|
57
|
-
if parsed.rewrite?
|
|
58
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE
|
|
59
|
-
else
|
|
60
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
56
|
end
|
|
64
57
|
end
|
|
65
58
|
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/data/dumper'
|
|
4
|
+
require 'avm/data/loader'
|
|
5
|
+
require 'eac_cli/core_ext'
|
|
6
|
+
require 'avm/tools/runner_with/instance_data_performer'
|
|
7
|
+
|
|
8
|
+
module Avm
|
|
9
|
+
module Tools
|
|
10
|
+
module RunnerWith
|
|
11
|
+
module InstanceDataLoad
|
|
12
|
+
common_concern do
|
|
13
|
+
enable_simple_cache
|
|
14
|
+
|
|
15
|
+
runner_definition do
|
|
16
|
+
arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
|
|
17
|
+
bool_opt '-w', '--rewrite'
|
|
18
|
+
pos_arg :dump_path, optional: true
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
set_callback :run, :after do
|
|
22
|
+
success("Dump loaded from \"#{dump_path}\"")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
include ::Avm::Tools::RunnerWith::InstanceDataPerformer
|
|
27
|
+
|
|
28
|
+
# @return [Class]
|
|
29
|
+
def data_performer_class
|
|
30
|
+
::Avm::Data::Loader
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
# @return [Avm::Data::Loader]
|
|
36
|
+
def data_performer_uncached
|
|
37
|
+
super.source_path(dump_path)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @return [Pathname]
|
|
41
|
+
def dump_path_uncached
|
|
42
|
+
return parsed.dump_path.to_pathname if parsed.dump_path.present?
|
|
43
|
+
return source_instance_dump_path if parsed.source_instance.present?
|
|
44
|
+
|
|
45
|
+
fatal_error "Dump path not set (Options: #{parsed})"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# @return [Avm::Instances::Base]
|
|
49
|
+
def source_instance
|
|
50
|
+
runner_context.call(:instance).class.by_id(parsed.source_instance)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# @return [Avm::Data::Dumper]
|
|
54
|
+
def source_instance_dumper
|
|
55
|
+
data_performer_set_includes_excludes(
|
|
56
|
+
::Avm::Data::Dumper.new(source_instance.data_package).overwrite(parsed.rewrite?)
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# @return [Pathname]
|
|
61
|
+
def source_instance_dump_path
|
|
62
|
+
r = source_instance_dumper
|
|
63
|
+
r.perform
|
|
64
|
+
r.target_path
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -17,7 +17,7 @@ module Avm
|
|
|
17
17
|
if data_performer.performable?
|
|
18
18
|
data_performer.perform
|
|
19
19
|
else
|
|
20
|
-
|
|
20
|
+
fatal_error("Cannot perform: #{data_performer.cannot_perform_reason}")
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -25,7 +25,12 @@ module Avm
|
|
|
25
25
|
|
|
26
26
|
# @return [Avm::Data::Performer]
|
|
27
27
|
def data_performer_uncached
|
|
28
|
-
|
|
28
|
+
data_performer_set_includes_excludes(data_performer_class.new(data_owner))
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @return [Avm::Data::Performer]
|
|
32
|
+
def data_performer_set_includes_excludes(data_performer)
|
|
33
|
+
%i[include exclude].inject(data_performer) do |a1, e1|
|
|
29
34
|
if_respond(e1, []).inject(a1) { |a2, e2| a2.send(e1, e2) }
|
|
30
35
|
end
|
|
31
36
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eac_tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.69.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Put here the authors
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-05-
|
|
11
|
+
date: 2023-05-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: avm
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
19
|
+
version: '0.75'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.
|
|
26
|
+
version: '0.75'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: avm-eac_asciidoctor_base0
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -292,14 +292,14 @@ dependencies:
|
|
|
292
292
|
requirements:
|
|
293
293
|
- - "~>"
|
|
294
294
|
- !ruby/object:Gem::Version
|
|
295
|
-
version: '0.
|
|
295
|
+
version: '0.151'
|
|
296
296
|
type: :runtime
|
|
297
297
|
prerelease: false
|
|
298
298
|
version_requirements: !ruby/object:Gem::Requirement
|
|
299
299
|
requirements:
|
|
300
300
|
- - "~>"
|
|
301
301
|
- !ruby/object:Gem::Version
|
|
302
|
-
version: '0.
|
|
302
|
+
version: '0.151'
|
|
303
303
|
- !ruby/object:Gem::Dependency
|
|
304
304
|
name: eac_ruby_utils
|
|
305
305
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1098,6 +1098,7 @@ files:
|
|
|
1098
1098
|
- sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb
|
|
1099
1099
|
- sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb
|
|
1100
1100
|
- sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
|
|
1101
|
+
- sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb
|
|
1101
1102
|
- sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb
|
|
1102
1103
|
- sub/avm-tools/lib/avm/tools/self.rb
|
|
1103
1104
|
- sub/avm-tools/lib/avm/tools/version.rb
|
|
@@ -1139,6 +1140,7 @@ files:
|
|
|
1139
1140
|
- sub/avm/lib/avm/data/callbacks.rb
|
|
1140
1141
|
- sub/avm/lib/avm/data/clearer.rb
|
|
1141
1142
|
- sub/avm/lib/avm/data/dumper.rb
|
|
1143
|
+
- sub/avm/lib/avm/data/loader.rb
|
|
1142
1144
|
- sub/avm/lib/avm/data/package.rb
|
|
1143
1145
|
- sub/avm/lib/avm/data/package/base_performer.rb
|
|
1144
1146
|
- sub/avm/lib/avm/data/package/build_directory.rb
|