eac_tools 0.65.1 → 0.67.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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +32 -32
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +3 -3
  5. data/sub/avm/lib/avm/data/clearer.rb +20 -0
  6. data/sub/avm/lib/avm/data/package/base_performer.rb +38 -0
  7. data/sub/avm/lib/avm/data/package/clear.rb +22 -0
  8. data/sub/avm/lib/avm/data/package/dump.rb +0 -10
  9. data/sub/avm/lib/avm/data/package.rb +8 -1
  10. data/sub/avm/lib/avm/data/performer.rb +49 -0
  11. data/sub/avm/lib/avm/docker/runner.rb +0 -4
  12. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +1 -2
  13. data/sub/avm/lib/avm/instances/base.rb +10 -0
  14. data/sub/avm/lib/avm/instances/runner.rb +1 -1
  15. data/sub/avm/lib/avm/sources/runner.rb +2 -0
  16. data/sub/avm/lib/avm/version.rb +1 -1
  17. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +3 -3
  18. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +2 -0
  19. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +1 -1
  20. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +4 -4
  21. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +2 -2
  22. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +0 -10
  23. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  24. data/sub/avm-tools/avm-tools.gemspec +4 -4
  25. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +18 -0
  26. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +1 -5
  27. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +1 -5
  28. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +2 -2
  29. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +1 -1
  30. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +3 -1
  31. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +7 -0
  32. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +0 -1
  33. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +0 -1
  34. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +23 -0
  35. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +30 -0
  36. data/sub/avm-tools/lib/avm/tools/runner_with.rb +11 -0
  37. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  38. data/sub/eac_cli/eac_cli.gemspec +1 -1
  39. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +11 -7
  40. data/sub/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb +2 -1
  41. data/sub/eac_cli/lib/eac_cli/definition/base_option.rb +1 -1
  42. data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +2 -1
  43. data/sub/eac_cli/lib/eac_cli/definition/error.rb +8 -0
  44. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +6 -1
  45. data/sub/eac_cli/lib/eac_cli/runner/context.rb +29 -7
  46. data/sub/eac_cli/lib/eac_cli/runner/context_responders/base.rb +24 -0
  47. data/sub/eac_cli/lib/eac_cli/runner/context_responders/parent.rb +27 -0
  48. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner.rb +20 -0
  49. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb +32 -0
  50. data/sub/eac_cli/lib/eac_cli/runner/context_responders/set.rb +44 -0
  51. data/sub/eac_cli/lib/eac_cli/runner/context_responders.rb +11 -0
  52. data/sub/eac_cli/lib/eac_cli/runner/for_context.rb +40 -0
  53. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +5 -3
  54. data/sub/eac_cli/lib/eac_cli/runner.rb +1 -0
  55. data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
  56. data/sub/eac_cli/spec/lib/eac_cli/runner/for_context_spec.rb +79 -0
  57. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +11 -1
  58. data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +3 -3
  59. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner/contexts.rb +52 -0
  60. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner/prepend.rb +17 -4
  61. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +1 -39
  62. data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  63. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_abstract.rb +17 -6
  64. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/array_accessor.rb +25 -0
  65. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/base_accessor.rb +57 -0
  66. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable → acts_as_immutable}/boolean_accessor.rb +3 -3
  67. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable → acts_as_immutable}/class_methods.rb +2 -2
  68. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable → acts_as_immutable}/common_accessor.rb +5 -5
  69. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable/array_accessor.rb → acts_as_immutable/enumerable_accessor.rb} +11 -8
  70. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable → acts_as_immutable}/hash_accessor.rb +5 -5
  71. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable → acts_as_immutable}/instance_methods.rb +1 -1
  72. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/set_accessor.rb +25 -0
  73. data/sub/eac_ruby_utils/lib/eac_ruby_utils/{immutable.rb → acts_as_immutable.rb} +1 -1
  74. data/sub/eac_ruby_utils/lib/eac_ruby_utils/enumerables_methods.rb +42 -0
  75. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable/base.rb +34 -0
  76. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable/hash.rb +20 -0
  77. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable/set.rb +19 -0
  78. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable.rb +9 -0
  79. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_immutable.rb +10 -0
  80. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +3 -2
  81. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +9 -0
  82. data/sub/eac_ruby_utils/lib/eac_ruby_utils/unimplemented_method_error.rb +6 -0
  83. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  84. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_abstract_spec.rb +73 -7
  85. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/{immutable → acts_as_immutable}/array_accessor_spec.rb +11 -3
  86. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/common_accessor_spec.rb +57 -0
  87. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/{immutable → acts_as_immutable}/hash_accessor_spec.rb +3 -3
  88. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/set_accessor_spec.rb +43 -0
  89. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/enumerables_methods_spec.rb +50 -0
  90. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/module_ancestors_variable/hash_spec.rb +57 -0
  91. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/module_ancestors_variable/set_spec.rb +57 -0
  92. metadata +56 -20
  93. data/sub/avm-tools/lib/avm/projects/stereotypes.rb +0 -15
  94. data/sub/avm-tools/lib/avm/projects.rb +0 -9
  95. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/base_accessor.rb +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8723a175022efba79f604084a0180cbeaf95a4f2505c3eeb40c5bb6e305f3a24
4
- data.tar.gz: 64b727ef144842f33fb362a51677c595ec12b9703ec68b7ddc686c93f4429f65
3
+ metadata.gz: 4eaf414401edd6cd32a363aa20ae12bfd3641bfc0c11d8007911f0dfce9738e0
4
+ data.tar.gz: 56e6df8b4ac42ed7f10cf7b3121d17cc825ce3c4a8e46018101f2ce71316f654
5
5
  SHA512:
6
- metadata.gz: 5a546f59fb7e0e70180a13ec0cf47a8901b413e017ca5c3118dd6e4485e11dd10d88d1b8e0b49070a1c55972ad51e9ae0b53d8e0d46ea354072e75adbb05d19b
7
- data.tar.gz: 185f2fe7167b8f6b338cae914d2763758bd41e9f3aa7b79bcd56131beaab4e96f83dfcf6a2a512ec69afca44063cb58004a4814eeca6c16da19be24c5cff579a
6
+ metadata.gz: c24f42e05720c894b99c1757654fe045ce0f306f2e2f4c5ef4fdc9477f048aa227e5d4e58c6a1d97ff90ebeede013c331152fbfa354def48591cb6b213a47ab0
7
+ data.tar.gz: fd0260cb92aee69652efbab55ef85f73ab6b442966d8aeaf0a09b522db6a6dd59dd5a39c6490255878f24c801c1f9557888017c75b6ec66bc2f4ee9f045f41c2
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.65.1)
5
- avm (~> 0.71)
4
+ eac_tools (0.67.0)
5
+ avm (~> 0.73)
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)
@@ -14,11 +14,11 @@ PATH
14
14
  avm-eac_redmine_base0 (~> 0.20, >= 0.20.1)
15
15
  avm-eac_redmine_plugin_base0 (~> 0.4)
16
16
  avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
17
- avm-eac_webapp_base0 (~> 0.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.2)
20
- avm-tools (~> 0.147)
21
- eac_ruby_utils (~> 0.116)
20
+ avm-tools (~> 0.149)
21
+ eac_ruby_utils (~> 0.117)
22
22
 
23
23
  PATH
24
24
  remote: sub/aranha-parsers
@@ -127,21 +127,21 @@ PATH
127
127
  PATH
128
128
  remote: sub/avm-eac_ubuntu_base0
129
129
  specs:
130
- avm-eac_ubuntu_base0 (0.4.2)
131
- avm (~> 0.67, >= 0.67.1)
132
- eac_ruby_utils (~> 0.112)
133
- eac_templates (~> 0.3, >= 0.3.2)
130
+ avm-eac_ubuntu_base0 (0.4.3)
131
+ avm (~> 0.73)
132
+ eac_ruby_utils (~> 0.117)
133
+ eac_templates (~> 0.5)
134
134
 
135
135
  PATH
136
136
  remote: sub/avm-eac_webapp_base0
137
137
  specs:
138
- avm-eac_webapp_base0 (0.17.0)
139
- avm (~> 0.70)
138
+ avm-eac_webapp_base0 (0.17.2)
139
+ avm (~> 0.73)
140
140
  avm-eac_generic_base0 (~> 0.12)
141
- avm-eac_postgresql_base0 (~> 0.5)
142
- avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.2)
141
+ avm-eac_postgresql_base0 (~> 0.5, >= 0.5.1)
142
+ avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.3)
143
143
  avm-files (~> 0.6, >= 0.6.2)
144
- eac_ruby_utils (~> 0.114)
144
+ eac_ruby_utils (~> 0.117)
145
145
 
146
146
  PATH
147
147
  remote: sub/avm-eac_wordpress_base0
@@ -174,17 +174,17 @@ PATH
174
174
  PATH
175
175
  remote: sub/avm-tools
176
176
  specs:
177
- avm-tools (0.147.0)
178
- aranha-parsers (~> 0.17, >= 0.17.1)
179
- avm (~> 0.71)
180
- avm-eac_ruby_base1 (~> 0.30, >= 0.30.2)
177
+ avm-tools (0.149.0)
178
+ aranha-parsers (~> 0.18)
179
+ avm (~> 0.73)
180
+ avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
181
181
  avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.2)
182
182
  avm-files (~> 0.6, >= 0.6.2)
183
183
  avm-git (~> 0.13, >= 0.13.2)
184
184
  clipboard (~> 1.3, >= 1.3.6)
185
185
  curb (~> 0.9, >= 0.9.11)
186
186
  eac_git (~> 0.14, >= 0.14.1)
187
- eac_ruby_base0 (~> 0.18)
187
+ eac_ruby_base0 (~> 0.19)
188
188
  eac_templates (~> 0.5)
189
189
  git (~> 1.18)
190
190
  ruby-progressbar (~> 1.13)
@@ -192,14 +192,14 @@ PATH
192
192
  PATH
193
193
  remote: sub/avm
194
194
  specs:
195
- avm (0.71.0)
196
- aranha-parsers (~> 0.17, >= 0.17.1)
197
- eac_cli (~> 0.33)
195
+ avm (0.73.0)
196
+ aranha-parsers (~> 0.18)
197
+ eac_cli (~> 0.35)
198
198
  eac_config (~> 0.12)
199
199
  eac_docker (~> 0.7)
200
200
  eac_fs (~> 0.16)
201
201
  eac_git (~> 0.14, >= 0.14.1)
202
- eac_ruby_utils (~> 0.115)
202
+ eac_ruby_utils (~> 0.117)
203
203
  eac_templates (~> 0.5)
204
204
  filesize (~> 0.2)
205
205
  htmlbeautifier (~> 1.4, >= 1.4.2)
@@ -208,10 +208,10 @@ PATH
208
208
  PATH
209
209
  remote: sub/eac_cli
210
210
  specs:
211
- eac_cli (0.33.0)
211
+ eac_cli (0.35.0)
212
212
  colorize (~> 0.8, >= 0.8.1)
213
213
  eac_config (~> 0.12)
214
- eac_ruby_utils (~> 0.114)
214
+ eac_ruby_utils (~> 0.117)
215
215
 
216
216
  PATH
217
217
  remote: sub/eac_config
@@ -265,16 +265,16 @@ PATH
265
265
  PATH
266
266
  remote: sub/eac_ruby_base0
267
267
  specs:
268
- eac_ruby_base0 (0.18.0)
269
- avm-eac_ruby_base1 (~> 0.30, >= 0.30.2)
270
- eac_cli (~> 0.31)
268
+ eac_ruby_base0 (0.19.0)
269
+ avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
270
+ eac_cli (~> 0.35)
271
271
  eac_fs (~> 0.16)
272
- eac_ruby_utils (~> 0.112)
272
+ eac_ruby_utils (~> 0.117)
273
273
 
274
274
  PATH
275
275
  remote: sub/eac_ruby_utils
276
276
  specs:
277
- eac_ruby_utils (0.116.0)
277
+ eac_ruby_utils (0.117.0)
278
278
  activesupport (>= 4, < 7)
279
279
  addressable (~> 2.8, >= 2.8.4)
280
280
  bundler
@@ -299,7 +299,7 @@ GEM
299
299
  zeitwerk (~> 2.3)
300
300
  addressable (2.8.4)
301
301
  public_suffix (>= 2.0.2, < 6.0)
302
- asciidoctor (2.0.18)
302
+ asciidoctor (2.0.20)
303
303
  ast (2.4.2)
304
304
  clipboard (1.3.6)
305
305
  colorize (0.8.1)
@@ -340,7 +340,7 @@ GEM
340
340
  minitest (5.18.0)
341
341
  multipart-post (2.3.0)
342
342
  net-ssh (4.2.0)
343
- nokogiri (1.15.0-x86_64-linux)
343
+ nokogiri (1.15.1-x86_64-linux)
344
344
  racc (~> 1.4)
345
345
  ofx-parser (1.1.0)
346
346
  hpricot (>= 0.6)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.65.1'
4
+ VERSION = '0.67.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -12,13 +12,13 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'aranha-parsers', '~> 0.17', '>= 0.17.1'
16
- s.add_dependency 'eac_cli', '~> 0.33'
15
+ s.add_dependency 'aranha-parsers', '~> 0.18'
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'
19
19
  s.add_dependency 'eac_fs', '~> 0.16'
20
20
  s.add_dependency 'eac_git', '~> 0.14', '>= 0.14.1'
21
- s.add_dependency 'eac_ruby_utils', '~> 0.115'
21
+ s.add_dependency 'eac_ruby_utils', '~> 0.117'
22
22
  s.add_dependency 'eac_templates', '~> 0.5'
23
23
  s.add_dependency 'filesize', '~> 0.2'
24
24
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/performer'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Data
8
+ class Clearer < ::Avm::Data::Performer
9
+ def cannot_perform_reason
10
+ nil
11
+ end
12
+
13
+ protected
14
+
15
+ def internal_perform
16
+ data_owner.clear(*include_excludes_arguments)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Data
7
+ class Package
8
+ class BasePerformer
9
+ acts_as_abstract :result
10
+ enable_speaker
11
+ enable_listable
12
+ lists.add_symbol :option, :excludes, :includes
13
+ common_constructor :package, :options, default: [{}] do
14
+ self.options = ::Avm::Data::Package::BasePerformer.lists.option
15
+ .hash_keys_validate!(options)
16
+ end
17
+
18
+ # @return [Set<Symbol>]
19
+ def excludes
20
+ ::Set.new((options[OPTION_EXCLUDES] || []).map(&:to_sym))
21
+ end
22
+
23
+ # @return [Set<Symbol>]
24
+ def includes
25
+ ::Set.new((options[OPTION_INCLUDES] || []).map(&:to_sym))
26
+ end
27
+
28
+ # @return [Hash<Symbol, Avm::Data::Unit]
29
+ def selected_units
30
+ r = package.units
31
+ r = r.slice(*includes.to_a) if includes.any?
32
+ r = r.except(*excludes.to_a) if excludes.any?
33
+ r
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/package/base_performer'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Data
8
+ class Package
9
+ class Clear < ::Avm::Data::Package::BasePerformer
10
+ enable_method_class
11
+
12
+ # @return [void]
13
+ def result
14
+ selected_units.each do |identifier, unit|
15
+ infov 'Clearing unit', identifier
16
+ unit.clear
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -14,7 +14,6 @@ module Avm
14
14
  include ::Avm::Data::Package::BuildDirectory
15
15
 
16
16
  DEFAULT_EXPIRE_TIME = 1.day
17
- DEFAULT_FILE_EXTENSION = '.tar'
18
17
 
19
18
  attr_reader :package, :data_file_path, :existing
20
19
 
@@ -73,15 +72,6 @@ module Avm
73
72
 
74
73
  private
75
74
 
76
- def download
77
- infom 'Downloading dump...'
78
- download_path = find_download_path
79
- dump_command.system!(output_file: download_path)
80
- fatal_error "File \"#{download_path}\" not saved" unless ::File.exist?(download_path)
81
- fatal_error "File \"#{download_path}\" is empty" if ::File.zero?(download_path)
82
- download_path
83
- end
84
-
85
75
  def move_download_to_final_dest(download_path)
86
76
  ::FileUtils.mkdir_p(::File.dirname(data_file_path))
87
77
  ::FileUtils.mv(download_path, data_file_path)
@@ -6,9 +6,11 @@ require 'eac_ruby_utils/core_ext'
6
6
  module Avm
7
7
  module Data
8
8
  class Package
9
- require_sub __FILE__
9
+ require_sub __FILE__, require_mode: :kernel
10
10
  include ::Avm::Data::Callbacks
11
11
 
12
+ DATA_FILE_EXTENSION = '.tar'
13
+
12
14
  def initialize(options)
13
15
  options = options.to_options_consumer
14
16
  units = options.consume(:units)
@@ -25,6 +27,11 @@ module Avm
25
27
  self
26
28
  end
27
29
 
30
+ # @return [String]
31
+ def data_file_extension
32
+ DATA_FILE_EXTENSION
33
+ end
34
+
28
35
  def dump(data_path, options = {})
29
36
  ::Avm::Data::Package::Dump.new(self, data_path, options)
30
37
  end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/rotate'
4
+ require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils/fs/temp'
6
+
7
+ module Avm
8
+ module Data
9
+ class Performer
10
+ acts_as_abstract(:cannot_perform_reason, :internal_perform)
11
+ acts_as_immutable
12
+ common_constructor :data_owner
13
+ immutable_accessor :exclude, :include, type: :set
14
+
15
+ # @return [Enumerable]
16
+ def immutable_constructor_args
17
+ [data_owner]
18
+ end
19
+
20
+ # @return [self]
21
+ def perform
22
+ raise "Cannot run: #{cannot_run_reason}" unless performable?
23
+
24
+ internal_perform
25
+
26
+ self
27
+ end
28
+
29
+ # @return [Boolean]
30
+ def performable?
31
+ cannot_perform_reason.blank?
32
+ end
33
+
34
+ protected
35
+
36
+ def include_excludes_arguments
37
+ options = include_excludes_options
38
+ options.any? ? [options] : []
39
+ end
40
+
41
+ def include_excludes_options
42
+ r = {}
43
+ r[:includes] = includes if includes.any?
44
+ r[:excludes] = excludes if excludes.any?
45
+ r
46
+ end
47
+ end
48
+ end
49
+ end
@@ -116,10 +116,6 @@ module Avm
116
116
  def version?
117
117
  !parsed.no_version?
118
118
  end
119
-
120
- def instance
121
- runner_context.call(:instance)
122
- end
123
119
  end
124
120
  end
125
121
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/data/package/dump'
4
3
  require 'avm/self/instance'
5
4
 
6
5
  module Avm
@@ -15,7 +14,7 @@ module Avm
15
14
  .if_present do |v|
16
15
  ::File.join(
17
16
  v,
18
- "#{id}#{::Avm::Instances::Data::Package::Dump::DEFAULT_FILE_EXTENSION}"
17
+ "#{id}#{data_package.data_file_extension}"
19
18
  )
20
19
  end
21
20
  end
@@ -34,6 +34,16 @@ module Avm
34
34
  self.suffix = suffix.to_s
35
35
  end
36
36
 
37
+ # @return [Avm::Instances::Data::Package]
38
+ def data_package
39
+ @data_package ||= data_package_create
40
+ end
41
+
42
+ # @return [Avm::Instances::Data::Package]
43
+ def data_package_create
44
+ ::Avm::Instances::Data::Package.new(self)
45
+ end
46
+
37
47
  # @return [String]
38
48
  def id
39
49
  ::Avm::Instances::Ids.build(application.id, suffix)
@@ -13,7 +13,7 @@ module Avm
13
13
  end
14
14
 
15
15
  delegate :class, to: :instance, prefix: true
16
- delegate :stereotype_module, :stereotype_name, to: :class
16
+ for_context :instance
17
17
 
18
18
  def extra_available_subcommands
19
19
  instance.if_present({}, &:extra_available_subcommands)
@@ -11,6 +11,8 @@ module Avm
11
11
  subcommands
12
12
  end
13
13
 
14
+ for_context :optional_source, :source
15
+
14
16
  def extra_available_subcommands
15
17
  optional_source.if_present({}, &:extra_available_subcommands)
16
18
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.71.0'
4
+ VERSION = '0.73.0'
5
5
  end
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.67', '>= 0.67.1'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.112'
17
- s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
15
+ s.add_dependency 'avm', '~> 0.73'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.117'
17
+ s.add_dependency 'eac_templates', '~> 0.5'
18
18
 
19
19
  s.add_development_dependency 'avm-eac_ubuntu_base0'
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.4'
@@ -17,6 +17,8 @@ module Avm
17
17
  subcommands
18
18
  end
19
19
 
20
+ for_context :instance
21
+
20
22
  private
21
23
 
22
24
  def instance_uncached
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacUbuntuBase0
5
- VERSION = '0.4.2'
5
+ VERSION = '0.4.3'
6
6
  end
7
7
  end
@@ -12,12 +12,12 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.70'
15
+ s.add_dependency 'avm', '~> 0.73'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.12'
17
- s.add_dependency 'avm-eac_postgresql_base0', '~> 0.5'
18
- s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.4', '>= 0.4.2'
17
+ s.add_dependency 'avm-eac_postgresql_base0', '~> 0.5', '>= 0.5.1'
18
+ s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.4', '>= 0.4.3'
19
19
  s.add_dependency 'avm-files', '~> 0.6', '>= 0.6.2'
20
- s.add_dependency 'eac_ruby_utils', '~> 0.114'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.117'
21
21
 
22
22
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
23
23
  end
@@ -15,8 +15,8 @@ module Avm
15
15
 
16
16
  def all
17
17
  @all ||= ALL_NAMES.map do |name|
18
- ::Avm::EacWebappBase0::FileFormats.const_get(name.camelize).freeze
19
- end
18
+ ::Avm::EacWebappBase0::FileFormats.const_get(name.camelize)
19
+ end.freeze
20
20
  end
21
21
  end
22
22
  end
@@ -22,16 +22,6 @@ module Avm
22
22
  ).run
23
23
  end
24
24
 
25
- # @return [Avm::Instances::Data::Package]
26
- def data_package
27
- @data_package ||= data_package_create
28
- end
29
-
30
- # @return [Avm::Instances::Data::Package]
31
- def data_package_create
32
- ::Avm::Instances::Data::Package.new(self)
33
- end
34
-
35
25
  def database_unit
36
26
  pg_data_unit
37
27
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacWebappBase0
5
- VERSION = '0.17.0'
5
+ VERSION = '0.17.2'
6
6
  end
7
7
  end
@@ -14,16 +14,16 @@ 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.17', '>= 0.17.1'
18
- s.add_dependency 'avm', '~> 0.71'
19
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.2'
17
+ s.add_dependency 'aranha-parsers', '~> 0.18'
18
+ s.add_dependency 'avm', '~> 0.73'
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.2'
21
21
  s.add_dependency 'avm-files', '~> 0.6', '>= 0.6.2'
22
22
  s.add_dependency 'avm-git', '~> 0.13', '>= 0.13.2'
23
23
  s.add_dependency 'clipboard', '~> 1.3', '>= 1.3.6'
24
24
  s.add_dependency 'curb', '~> 0.9', '>= 0.9.11'
25
25
  s.add_dependency 'eac_git', '~> 0.14', '>= 0.14.1'
26
- s.add_dependency 'eac_ruby_base0', '~> 0.18'
26
+ s.add_dependency 'eac_ruby_base0', '~> 0.19'
27
27
  s.add_dependency 'eac_templates', '~> 0.5'
28
28
  s.add_dependency 'git', '~> 1.18'
29
29
  s.add_dependency 'ruby-progressbar', '~> 1.13'
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Clear
12
+ runner_with :help, :include_exclude, :instance_data_clear
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -17,7 +17,7 @@ module Avm
17
17
  runner_with :help do
18
18
  desc 'Dump utility for EacRailsBase instance.'
19
19
  bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
20
- pos_arg :dump_path
20
+ pos_arg :dump_path, optional: true
21
21
  end
22
22
 
23
23
  # @return [String]
@@ -38,10 +38,6 @@ module Avm
38
38
 
39
39
  private
40
40
 
41
- def instance
42
- runner_context.call(:instance)
43
- end
44
-
45
41
  def package_dump_uncached
46
42
  instance
47
43
  .data_package.dump(dump_path, existing: package_dump_existing)
@@ -10,11 +10,7 @@ module Avm
10
10
  class Data
11
11
  class Unit
12
12
  class Clear
13
- runner_with :help
14
-
15
- def run
16
- runner_context.call(:data_unit).clear
17
- end
13
+ runner_with :help, :instance_data_clear
18
14
  end
19
15
  end
20
16
  end
@@ -15,7 +15,7 @@ module Avm
15
15
  end
16
16
 
17
17
  def run
18
- runner_context.call(:data_unit).dump(dump_path)
18
+ data_owner.dump(dump_path)
19
19
  end
20
20
 
21
21
  # @return [String]
@@ -30,7 +30,7 @@ module Avm
30
30
 
31
31
  # @return [String]
32
32
  def default_dump_path
33
- runner_context.call(:data_unit).data_default_dump_path
33
+ data_owner.data_default_dump_path
34
34
  end
35
35
  end
36
36
  end
@@ -15,7 +15,7 @@ module Avm
15
15
  end
16
16
 
17
17
  def run
18
- runner_context.call(:data_unit).load(dump_path)
18
+ data_owner.load(dump_path)
19
19
  end
20
20
 
21
21
  # @return [Pathname]
@@ -15,6 +15,8 @@ module Avm
15
15
  subcommands
16
16
  end
17
17
 
18
+ for_context :data_owner
19
+
18
20
  # @return [Enumerable<String>]
19
21
  def available_units_ids
20
22
  data_package.units_ids
@@ -26,7 +28,7 @@ module Avm
26
28
  end
27
29
 
28
30
  # @return [Avm::Instances::Data::Unit]
29
- def data_unit
31
+ def data_owner
30
32
  data_package.unit(parsed.identifier)
31
33
  end
32
34