avm-tools 0.149.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b9d3ec974736d535de064589ef2af6f4fae2b149e043675200df92b851eea30
4
- data.tar.gz: 8da5ec56f8c81c6cdaa403534c33d88586c64eda07e7a706674ffc650f27908f
3
+ metadata.gz: c60d219cf0cd61916b844199ecf17b1e097a24831776d6b4269affecfc3a482d
4
+ data.tar.gz: c92fc021d025e424f14c0a39cde75e8441bead7ec59a9eb89fe1165b557cc8d7
5
5
  SHA512:
6
- metadata.gz: 45591b92498af434eaae3eb096134b6d8952593fdaeffea04d143e76a534593ad689ce15f2c2f39164f2b625696749aabfb6992c648444631a345fdb3fd00f9f
7
- data.tar.gz: 91962893c6add83e548ad9a02bd9c2ef69a759eb6e8d1f002483f44afeff041f35968957c9a2c44b33a7274e416f7c7c53c45e78bef215bc2234783ae6a9fff3
6
+ metadata.gz: 382924d03ba66a9b11f54caed5fc5ec47944b279b6b87a95efa97e77aeb89586fd8c737b34185920e18c6c5019bfd3b82d7203f275add9a5e92240e9daab1504
7
+ data.tar.gz: f237e441c5abd9ac5e5a41e77074391d7df475c2f85029725f34d433dac02a35968bdeab5846426bb537eb499a49c449768e7dba846a71b4fcfaf172d2cd3737
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/data/package/dump'
4
3
  require 'avm/instances/runner'
5
4
  require 'eac_cli/core_ext'
6
5
 
@@ -10,53 +9,8 @@ module Avm
10
9
  class Instance < ::Avm::Instances::Runner
11
10
  class Data
12
11
  class Dump
13
- DUMP_EXPIRE_TIME = 1.day
14
- NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
15
- 'dump was expired.'
16
-
17
- runner_with :help do
18
- desc 'Dump utility for EacRailsBase instance.'
19
- bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
20
- pos_arg :dump_path, optional: true
21
- end
22
-
23
- # @return [String]
24
- def help_extra_text
25
- "Default dump path: \"#{default_dump_path}\""
26
- end
27
-
28
- def run
29
- infov 'Instance to dump', "#{instance} (#{instance.class})"
30
- if package_dump.runnable?
31
- package_dump.run
32
- else
33
- warn(package_dump.cannot_run_reason)
34
- end
35
- success("Dump path: \"#{dump_path}\"")
36
- dump_path
37
- end
38
-
39
- private
40
-
41
- def package_dump_uncached
42
- instance
43
- .data_package.dump(dump_path, existing: package_dump_existing)
44
- end
45
-
46
- def dump_path
47
- parsed.dump_path || default_dump_path
48
- end
49
-
50
- def default_dump_path
51
- instance.data_default_dump_path
52
- end
53
-
54
- def package_dump_existing
55
- if parsed.rewrite?
56
- ::Avm::Data::Package::Dump::EXISTING_ROTATE
57
- else
58
- ::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
59
- end
12
+ runner_with :help, :include_exclude, :instance_data_dump do
13
+ desc 'Dump utility for instance.'
60
14
  end
61
15
  end
62
16
  end
@@ -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 EacRailsBase instance.'
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,28 +10,7 @@ module Avm
10
10
  class Data
11
11
  class Unit
12
12
  class Dump
13
- runner_with :help do
14
- pos_arg :dump_path, optional: true
15
- end
16
-
17
- def run
18
- data_owner.dump(dump_path)
19
- end
20
-
21
- # @return [String]
22
- def help_extra_text
23
- "Default dump path: \"#{default_dump_path}\""
24
- end
25
-
26
- # @return [Pathname]
27
- def dump_path
28
- (parsed.dump_path || default_dump_path).to_pathname
29
- end
30
-
31
- # @return [String]
32
- def default_dump_path
33
- data_owner.data_default_dump_path
34
- end
13
+ runner_with :help, :instance_data_dump
35
14
  end
36
15
  end
37
16
  end
@@ -10,18 +10,7 @@ module Avm
10
10
  class Data
11
11
  class Unit
12
12
  class Load
13
- runner_with :help do
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
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/data/clearer'
4
4
  require 'eac_cli/core_ext'
5
- require 'eac_cli/runner'
5
+ require 'avm/tools/runner_with/instance_data_performer'
6
6
 
7
7
  module Avm
8
8
  module Tools
@@ -10,19 +10,12 @@ module Avm
10
10
  module InstanceDataClear
11
11
  common_concern do
12
12
  enable_simple_cache
13
- include ::EacCli::Runner
13
+ include ::Avm::Tools::RunnerWith::InstanceDataPerformer
14
14
  end
15
15
 
16
- def run
17
- performer.perform
18
- end
19
-
20
- private
21
-
22
- def performer_uncached
23
- %i[include exclude].inject(::Avm::Data::Clearer.new(data_owner)) do |a1, e1|
24
- if_respond(e1, []).inject(a1) { |a2, e2| a2.send(e1, e2) }
25
- end
16
+ # @return [Class]
17
+ def data_performer_class
18
+ ::Avm::Data::Clearer
26
19
  end
27
20
  end
28
21
  end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/dumper'
4
+ require 'eac_cli/core_ext'
5
+ require 'avm/tools/runner_with/instance_data_performer'
6
+
7
+ module Avm
8
+ module Tools
9
+ module RunnerWith
10
+ module InstanceDataDump
11
+ common_concern do
12
+ enable_simple_cache
13
+ runner_definition do
14
+ bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
15
+ pos_arg :dump_path, optional: true
16
+ end
17
+
18
+ set_callback :run, :after do
19
+ success("Dump path: \"#{dump_path}\"")
20
+ dump_path
21
+ end
22
+ end
23
+
24
+ include ::Avm::Tools::RunnerWith::InstanceDataPerformer
25
+
26
+ DUMP_EXPIRE_TIME = 1.day
27
+ NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
28
+ 'dump was expired.'
29
+
30
+ # @return [Class]
31
+ def data_performer_class
32
+ ::Avm::Data::Dumper
33
+ end
34
+
35
+ # @return [String]
36
+ def help_extra_text
37
+ "Default dump path: \"#{default_dump_path}\""
38
+ end
39
+
40
+ private
41
+
42
+ # @return [Avm::Data::Dumper]
43
+ def data_performer_uncached
44
+ r = super.overwrite(parsed.rewrite?)
45
+ parsed.dump_path.if_present(r) { |v| r.target_path(v.to_pathname) }
46
+ end
47
+
48
+ # @return [Pathname]
49
+ def dump_path
50
+ data_performer.target_path
51
+ end
52
+
53
+ def default_dump_path
54
+ data_performer.default_dump_path
55
+ end
56
+ end
57
+ end
58
+ end
59
+ 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
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+ require 'eac_cli/runner'
5
+
6
+ module Avm
7
+ module Tools
8
+ module RunnerWith
9
+ module InstanceDataPerformer
10
+ acts_as_abstract :data_performer_class
11
+ common_concern do
12
+ enable_simple_cache
13
+ include ::EacCli::Runner
14
+ end
15
+
16
+ def run
17
+ if data_performer.performable?
18
+ data_performer.perform
19
+ else
20
+ fatal_error("Cannot perform: #{data_performer.cannot_perform_reason}")
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ # @return [Avm::Data::Performer]
27
+ def data_performer_uncached
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|
34
+ if_respond(e1, []).inject(a1) { |a2, e2| a2.send(e1, e2) }
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.149.0'
5
+ VERSION = '0.151.0'
6
6
  end
7
7
  end
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.149.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-20 00:00:00.000000000 Z
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.18'
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.18'
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.73'
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.73'
40
+ version: '0.75'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: avm-eac_ruby_base1
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +67,7 @@ dependencies:
67
67
  version: '0.4'
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: 0.4.2
70
+ version: 0.4.3
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -77,7 +77,7 @@ dependencies:
77
77
  version: '0.4'
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: 0.4.2
80
+ version: 0.4.3
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: avm-files
83
83
  requirement: !ruby/object:Gem::Requirement
@@ -107,7 +107,7 @@ dependencies:
107
107
  version: '0.13'
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 0.13.2
110
+ version: 0.13.3
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ dependencies:
117
117
  version: '0.13'
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 0.13.2
120
+ version: 0.13.3
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: clipboard
123
123
  requirement: !ruby/object:Gem::Requirement
@@ -311,6 +311,9 @@ files:
311
311
  - lib/avm/tools/runner_with.rb
312
312
  - lib/avm/tools/runner_with/include_exclude.rb
313
313
  - lib/avm/tools/runner_with/instance_data_clear.rb
314
+ - lib/avm/tools/runner_with/instance_data_dump.rb
315
+ - lib/avm/tools/runner_with/instance_data_load.rb
316
+ - lib/avm/tools/runner_with/instance_data_performer.rb
314
317
  - lib/avm/tools/self.rb
315
318
  - lib/avm/tools/version.rb
316
319
  - template/avm/self/docker_image/Dockerfile