avm-tools 0.150.0 → 0.151.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/lib/avm/tools/runner/instance/data/load.rb +2 -40
- data/lib/avm/tools/runner/instance/data/unit/load.rb +1 -12
- data/lib/avm/tools/runner_with/instance_data_dump.rb +5 -12
- data/lib/avm/tools/runner_with/instance_data_load.rb +69 -0
- data/lib/avm/tools/runner_with/instance_data_performer.rb +7 -2
- data/lib/avm/tools/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c60d219cf0cd61916b844199ecf17b1e097a24831776d6b4269affecfc3a482d
|
4
|
+
data.tar.gz: c92fc021d025e424f14c0a39cde75e8441bead7ec59a9eb89fe1165b557cc8d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 382924d03ba66a9b11f54caed5fc5ec47944b279b6b87a95efa97e77aeb89586fd8c737b34185920e18c6c5019bfd3b82d7203f275add9a5e92240e9daab1504
|
7
|
+
data.tar.gz: f237e441c5abd9ac5e5a41e77074391d7df475c2f85029725f34d433dac02a35968bdeab5846426bb537eb499a49c449768e7dba846a71b4fcfaf172d2cd3737
|
@@ -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
|
data/lib/avm/tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.151.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
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: aranha-parsers
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.19'
|
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.19'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: avm
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.75'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.75'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: avm-eac_ruby_base1
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -312,6 +312,7 @@ files:
|
|
312
312
|
- lib/avm/tools/runner_with/include_exclude.rb
|
313
313
|
- lib/avm/tools/runner_with/instance_data_clear.rb
|
314
314
|
- lib/avm/tools/runner_with/instance_data_dump.rb
|
315
|
+
- lib/avm/tools/runner_with/instance_data_load.rb
|
315
316
|
- lib/avm/tools/runner_with/instance_data_performer.rb
|
316
317
|
- lib/avm/tools/self.rb
|
317
318
|
- lib/avm/tools/version.rb
|