eac_tools 0.65.1 → 0.67.0

Sign up to get free protection for your applications and to get access to all the features.
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