eac_tools 0.21.0 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +70 -70
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +6 -6
  5. data/sub/avm/lib/avm/instances/base.rb +1 -1
  6. data/sub/avm/lib/avm/instances/runner.rb +4 -2
  7. data/sub/avm/lib/avm/sources/base/application.rb +34 -0
  8. data/sub/avm/lib/avm/sources/base/configuration.rb +2 -0
  9. data/sub/avm/lib/avm/sources/base/testing.rb +1 -1
  10. data/sub/avm/lib/avm/version.rb +1 -1
  11. data/sub/avm/lib/avm/with/application_stereotype.rb +1 -3
  12. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +5 -5
  13. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +13 -0
  14. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb +11 -0
  15. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  16. data/sub/avm-eac_latex_base0/avm-eac_latex_base0.gemspec +3 -3
  17. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/base.rb +2 -2
  18. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/version.rb +1 -1
  19. data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +2 -2
  20. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances/base.rb +13 -0
  21. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances.rb +11 -0
  22. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/runners/base.rb +1 -1
  23. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +1 -1
  24. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_host_spec.rb +2 -2
  25. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_path_spec.rb +2 -2
  26. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +4 -4
  27. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +27 -0
  28. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances.rb +11 -0
  29. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +1 -1
  30. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +2 -2
  31. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  32. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +6 -6
  33. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +48 -4
  34. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances.rb +11 -0
  35. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/runners/base.rb +1 -1
  36. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/runners.rb +11 -0
  37. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb +11 -0
  38. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  39. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +3 -3
  40. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +6 -0
  41. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +23 -0
  42. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +1 -1
  43. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb +2 -4
  44. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +7 -0
  45. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  46. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +8 -1
  47. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
  48. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  49. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
  50. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
  51. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +4 -4
  52. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/subcommand_parent.rb +26 -0
  53. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +61 -0
  54. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/dump.rb +65 -0
  55. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/load.rb +57 -0
  56. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data.rb +19 -0
  57. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners.rb +13 -0
  58. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  59. data/sub/avm-eac_wordpress_base0/avm-eac_wordpress_base0.gemspec +3 -3
  60. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/base.rb +2 -2
  61. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/version.rb +1 -1
  62. data/sub/avm-tools/avm-tools.gemspec +11 -11
  63. data/sub/avm-tools/lib/avm/tools/runner/app_src/info.rb +10 -8
  64. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +3 -1
  65. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  66. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +9 -1
  67. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +5 -0
  68. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +17 -2
  69. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  70. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +32 -82
  71. metadata +49 -49
  72. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instance.rb +0 -11
  73. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instance.rb +0 -11
  74. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instance.rb +0 -25
  75. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instance.rb +0 -57
  76. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -24
  77. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance.rb +0 -62
  78. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb +0 -63
  79. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/load.rb +0 -55
  80. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data.rb +0 -17
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'addressable/uri'
4
- require 'avm/eac_redmine_base0/data_unit'
5
- require 'avm/eac_redmine_base0/instances/docker_image'
6
- require 'avm/eac_redmine_base0/rest_api'
7
- require 'avm/eac_webapp_base0/instance'
8
- require 'avm/eac_rails_base1/instance'
9
-
10
- module Avm
11
- module EacRedmineBase0
12
- class Instance < ::Avm::EacRailsBase1::Instance
13
- enable_simple_cache
14
-
15
- FILES_UNITS = { files: 'files' }.freeze
16
-
17
- def docker_image_class
18
- ::Avm::EacRedmineBase0::Instances::DockerImage
19
- end
20
-
21
- def docker_run_arguments
22
- [
23
- '--volume',
24
- "#{read_entry(::Avm::Instances::EntryKeys::FS_PATH)}:/home/myuser/eac_redmine_base0",
25
- '--publish', "#{read_entry(:ssh_port)}:22",
26
- '--publish', "#{read_entry(:http_port)}:80",
27
- '--publish', "#{read_entry(:https_port)}:443"
28
- ]
29
- end
30
-
31
- def data_package
32
- @data_package ||= ::Avm::Data::Instance::Package.new(
33
- self,
34
- units: {
35
- all: ::Avm::EacRedmineBase0::DataUnit.new(self)
36
- }
37
- )
38
- end
39
-
40
- # @return [Addressable::URI]
41
- def root_url
42
- r = ::Addressable::URI.parse(read_entry(::Avm::Instances::EntryKeys::WEB_URL))
43
- r.query_values = nil
44
- r
45
- end
46
-
47
- private
48
-
49
- # @return [Avm::EacRedmineBase0::RestApi]
50
- def rest_api_uncached
51
- url = root_url
52
- url.query_values = { key: read_entry('api.key') }
53
- ::Avm::EacRedmineBase0::RestApi.new(url)
54
- end
55
- end
56
- end
57
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacWebappBase0
7
- class Instance < ::Avm::Instances::Base
8
- class SubcommandParent
9
- enable_simple_cache
10
- common_constructor :instance
11
-
12
- private
13
-
14
- def runner_context_uncached
15
- ::EacCli::Runner::Context.new(self, argv: runner_argv)
16
- end
17
-
18
- def runner_argv
19
- [instance.class.name.split('::')[-2].dasherize, instance.id]
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/instances/base'
4
- require 'avm/eac_postgresql_base0/instance_with'
5
- require 'avm/data/instance/files_unit'
6
- require 'avm/data/instance/package'
7
- require 'avm/eac_webapp_base0/deploy/file_unit'
8
- require 'avm/eac_ubuntu_base0/instances/base'
9
-
10
- module Avm
11
- module EacWebappBase0
12
- class Instance < ::Avm::Instances::Base
13
- require_sub __FILE__
14
- include ::Avm::EacPostgresqlBase0::InstanceWith
15
- enable_simple_cache
16
-
17
- FILES_UNITS = [].freeze
18
-
19
- def stereotype_name
20
- self.class.name.desconstantize.demodulize
21
- end
22
-
23
- def data_dump(argv = [])
24
- run_subcommand(::Avm::Tools::Runner::EacWordpressBase0::Data::Dump, argv)
25
- end
26
-
27
- def data_dump_runner_class
28
- "::Avm::Tools::Runner::#{stereotype_name}::Data::Dump".constantize
29
- end
30
-
31
- def run_subcommand(subcommand_class, argv)
32
- subcommand_class.create(
33
- argv: argv,
34
- parent: ::Avm::EacWebappBase0::Instance::SubcommandParent.new(self)
35
- ).run
36
- end
37
-
38
- def data_package
39
- @data_package ||= ::Avm::Data::Instance::Package.new(
40
- self, units: { database: database_unit }.merge(files_units)
41
- )
42
- end
43
-
44
- def database_unit
45
- pg.data_unit
46
- end
47
-
48
- private
49
-
50
- # @return [Avm::EacUbuntuBase0::Instances::Base]
51
- def platform_instance_uncached
52
- ::Avm::EacUbuntuBase0::Instances::Base.by_id(id)
53
- end
54
-
55
- def files_units
56
- self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
57
- ::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/data/package/dump'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module EacWebappBase0
8
- class Runner < ::Avm::Instances::Runner
9
- class Data
10
- class Dump
11
- DUMP_EXPIRE_TIME = 1.day
12
- DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
13
- NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
14
- 'dump was expired.'
15
-
16
- runner_with :help do
17
- desc 'Dump utility for EacRailsBase instance.'
18
- bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
19
- arg_opt '-p', '--dump-path', 'Set DUMP_PATH variable.'
20
- end
21
-
22
- def run
23
- infov 'Instance to dump', "#{instance} (#{instance.class})"
24
- if package_dump.runnable?
25
- package_dump.run
26
- else
27
- warn(package_dump.cannot_run_reason)
28
- end
29
- success("Dump path: \"#{dump_path}\"")
30
- dump_path
31
- end
32
-
33
- private
34
-
35
- def instance
36
- runner_context.call(:instance)
37
- end
38
-
39
- def package_dump_uncached
40
- instance
41
- .data_package.dump(dump_path, existing: package_dump_existing)
42
- end
43
-
44
- def dump_path
45
- parsed.dump_path || default_dump_path
46
- end
47
-
48
- def default_dump_path
49
- instance.read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
50
- end
51
-
52
- def package_dump_existing
53
- if parsed.rewrite?
54
- ::Avm::Data::Package::Dump::EXISTING_ROTATE
55
- else
56
- ::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
57
- end
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/numeric/time'
4
- require 'eac_cli/speaker'
5
- require 'eac_ruby_utils/simple_cache'
6
-
7
- module Avm
8
- module EacWebappBase0
9
- class Runner < ::Avm::Instances::Runner
10
- class Data
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 ::Dev::Result.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).data_dump
35
- end
36
-
37
- def load_dump
38
- info "Loading dump \"#{dump_path}\"..."
39
- package_load.run
40
- end
41
-
42
- def dump_instance_method
43
- :dump_database
44
- end
45
-
46
- private
47
-
48
- def package_load_uncached
49
- runner_context.call(:instance).data_package.load(dump_path)
50
- end
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
-
5
- module Avm
6
- module EacWebappBase0
7
- class Runner < ::Avm::Instances::Runner
8
- class Data
9
- require_sub __FILE__
10
- runner_with :help, :subcommands do
11
- desc 'Data utilities for EacRailsBase0 instances.'
12
- subcommands
13
- end
14
- end
15
- end
16
- end
17
- end