avm-tools 0.68.0 → 0.69.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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/eac_rails_base0/apache_host.rb +17 -0
  3. data/lib/avm/eac_rails_base0/deploy.rb +50 -0
  4. data/lib/avm/eac_rails_base0/instance.rb +14 -0
  5. data/lib/avm/eac_redmine_base0/deploy.rb +2 -2
  6. data/lib/avm/eac_redmine_base0/instance.rb +2 -2
  7. data/lib/avm/eac_webapp_base0/apache_host.rb +103 -0
  8. data/lib/avm/eac_webapp_base0/deploy.rb +102 -0
  9. data/lib/avm/eac_webapp_base0/deploy/appended_directories.rb +25 -0
  10. data/lib/avm/eac_webapp_base0/deploy/file_unit.rb +41 -0
  11. data/lib/avm/eac_webapp_base0/deploy/git_info.rb +49 -0
  12. data/lib/avm/eac_webapp_base0/deploy/version.rb +20 -0
  13. data/lib/avm/eac_webapp_base0/instance.rb +50 -0
  14. data/lib/avm/eac_webapp_base0/runner/apache_host.rb +39 -0
  15. data/lib/avm/eac_webapp_base0/runner/data.rb +25 -0
  16. data/lib/avm/eac_webapp_base0/runner/data/dump.rb +69 -0
  17. data/lib/avm/eac_webapp_base0/runner/data/load.rb +66 -0
  18. data/lib/avm/eac_webapp_base0/runner/deploy.rb +59 -0
  19. data/lib/avm/stereotypes/eac_wordpress_base0/apache_host.rb +2 -2
  20. data/lib/avm/stereotypes/eac_wordpress_base0/deploy.rb +2 -2
  21. data/lib/avm/stereotypes/eac_wordpress_base0/instance.rb +2 -2
  22. data/lib/avm/tools/runner/eac_rails_base0.rb +2 -2
  23. data/lib/avm/tools/runner/eac_rails_base0/apache_host.rb +3 -26
  24. data/lib/avm/tools/runner/eac_rails_base0/data.rb +2 -2
  25. data/lib/avm/tools/runner/eac_rails_base0/deploy.rb +3 -3
  26. data/lib/avm/tools/runner/eac_redmine_base0/data.rb +1 -1
  27. data/lib/avm/tools/runner/eac_redmine_base0/data/dump.rb +2 -2
  28. data/lib/avm/tools/runner/eac_redmine_base0/deploy.rb +2 -2
  29. data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +1 -0
  30. data/lib/avm/tools/runner/eac_wordpress_base0/apache_host.rb +3 -25
  31. data/lib/avm/tools/runner/eac_wordpress_base0/data.rb +2 -2
  32. data/lib/avm/tools/runner/eac_wordpress_base0/deploy.rb +2 -2
  33. data/lib/avm/tools/version.rb +1 -1
  34. data/template/avm/{stereotypes/eac_rails_base0 → eac_rails_base0}/deploy/config/database.yml.template +0 -0
  35. data/template/avm/{stereotypes/eac_webapp_base0 → eac_webapp_base0}/apache_host/no_ssl.conf +0 -0
  36. data/vendor/eac_cli/Gemfile +5 -0
  37. data/vendor/eac_cli/eac_cli.gemspec +18 -0
  38. data/vendor/eac_cli/lib/eac_cli.rb +7 -0
  39. data/vendor/eac_cli/lib/eac_cli/default_runner.rb +22 -0
  40. data/vendor/eac_cli/lib/eac_cli/definition.rb +72 -0
  41. data/vendor/eac_cli/lib/eac_cli/definition/argument_option.rb +13 -0
  42. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +26 -0
  43. data/vendor/eac_cli/lib/eac_cli/definition/boolean_option.rb +13 -0
  44. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +27 -0
  45. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +77 -0
  46. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +45 -0
  47. data/vendor/eac_cli/lib/eac_cli/parser.rb +14 -0
  48. data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +56 -0
  49. data/vendor/eac_cli/lib/eac_cli/parser/error.rb +15 -0
  50. data/vendor/eac_cli/lib/eac_cli/parser/options_collection.rb +105 -0
  51. data/vendor/eac_cli/lib/eac_cli/parser/parse_result.rb +21 -0
  52. data/vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb +49 -0
  53. data/vendor/eac_cli/lib/eac_cli/runner.rb +87 -0
  54. data/vendor/eac_cli/lib/eac_cli/runner/context.rb +18 -0
  55. data/vendor/eac_cli/lib/eac_cli/version.rb +5 -0
  56. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +70 -0
  57. data/vendor/eac_cli/spec/rubocop_spec.rb +7 -0
  58. data/vendor/eac_cli/spec/spec_helper.rb +100 -0
  59. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem.rb +10 -0
  60. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple.rb +5 -34
  61. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +42 -0
  62. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/result.rb +25 -0
  63. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
  64. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +4 -4
  65. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner.rb +6 -0
  66. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb +1 -1
  67. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +8 -2
  68. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +18 -0
  69. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +3 -2
  70. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +4 -0
  71. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +9 -0
  72. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +47 -0
  73. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  74. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +15 -0
  75. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +46 -0
  76. metadata +50 -18
  77. data/lib/avm/stereotypes/eac_rails_base0/apache_host.rb +0 -19
  78. data/lib/avm/stereotypes/eac_rails_base0/deploy.rb +0 -52
  79. data/lib/avm/stereotypes/eac_rails_base0/instance.rb +0 -16
  80. data/lib/avm/stereotypes/eac_webapp_base0/apache_host.rb +0 -97
  81. data/lib/avm/stereotypes/eac_webapp_base0/deploy.rb +0 -104
  82. data/lib/avm/stereotypes/eac_webapp_base0/deploy/appended_directories.rb +0 -27
  83. data/lib/avm/stereotypes/eac_webapp_base0/deploy/file_unit.rb +0 -43
  84. data/lib/avm/stereotypes/eac_webapp_base0/deploy/git_info.rb +0 -51
  85. data/lib/avm/stereotypes/eac_webapp_base0/deploy/version.rb +0 -22
  86. data/lib/avm/stereotypes/eac_webapp_base0/instance.rb +0 -52
  87. data/lib/avm/stereotypes/eac_webapp_base0/runner/data.rb +0 -27
  88. data/lib/avm/stereotypes/eac_webapp_base0/runner/data/dump.rb +0 -71
  89. data/lib/avm/stereotypes/eac_webapp_base0/runner/data/load.rb +0 -68
  90. data/lib/avm/stereotypes/eac_webapp_base0/runner/deploy.rb +0 -61
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacWebappBase0
5
+ class Deploy
6
+ module Version
7
+ VERSION_TARGET_PATH = 'VERSION'
8
+
9
+ def version
10
+ ([::Time.now, commit_sha1] + version_git_refs).join('|')
11
+ end
12
+
13
+ def version_git_refs
14
+ git_remote_hashs.select { |_name, sha1| sha1 == commit_sha1 }.keys
15
+ .map { |ref| ref.gsub(%r{\Arefs/}, '') }.reject { |ref| ref == 'HEAD' }
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/base'
4
+ require 'avm/stereotypes/postgresql/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
+
9
+ module Avm
10
+ module EacWebappBase0
11
+ class Instance < ::Avm::Instances::Base
12
+ include ::Avm::Stereotypes::Postgresql::InstanceWith
13
+
14
+ def stereotype_name
15
+ self.class.name.desconstantize.demodulize
16
+ end
17
+
18
+ def data_dump(argv = [])
19
+ run_subcommand(::Avm::Tools::Runner::EacWordpressBase0::Data::Dump, argv)
20
+ end
21
+
22
+ def data_dump_runner_class
23
+ "::Avm::Tools::Runner::#{stereotype_name}::Data::Dump".constantize
24
+ end
25
+
26
+ def run_subcommand(subcommand_class, argv)
27
+ parent = ::OpenStruct.new(instance: self)
28
+ subcommand_class.new(argv: argv, parent: parent).run
29
+ end
30
+
31
+ def data_package
32
+ @data_package ||= ::Avm::Data::Instance::Package.new(
33
+ self, units: { database: database_unit }.merge(files_units)
34
+ )
35
+ end
36
+
37
+ def database_unit
38
+ pg.data_unit
39
+ end
40
+
41
+ private
42
+
43
+ def files_units
44
+ self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
45
+ ::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/default_runner'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacWebappBase0
8
+ module Runner
9
+ class ApacheHost < ::EacRubyUtils::Console::DocoptRunner
10
+ include ::EacCli::DefaultRunner
11
+
12
+ stereotype_name = name.deconstantize.demodulize
13
+ runner_definition do
14
+ desc "Configure Apache virtual host for #{stereotype_name} instance."
15
+ bool_opt '-c', '--certbot', 'Install certbot.'
16
+ end
17
+
18
+ def run
19
+ options
20
+ result = stereotype_apache_host_class.new(context(:instance),
21
+ stereotype_apache_host_options).run
22
+ if result.error?
23
+ fatal_error result.to_s
24
+ else
25
+ infov 'Result', result.label
26
+ end
27
+ end
28
+
29
+ def stereotype_apache_host_class
30
+ "#{context(:instance).class.name.deconstantize}::ApacheHost".constantize
31
+ end
32
+
33
+ def stereotype_apache_host_options
34
+ { certbot: options.fetch('--certbot') }
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/console/docopt_runner'
4
+ require 'eac_ruby_utils/require_sub'
5
+
6
+ module Avm
7
+ module EacWebappBase0
8
+ module Runner
9
+ class Data < ::EacRubyUtils::Console::DocoptRunner
10
+ ::EacRubyUtils.require_sub(__FILE__)
11
+
12
+ DOC = <<~DOCOPT
13
+ Data utilities for EacRailsBase0 instances.
14
+
15
+ Usage:
16
+ __PROGRAM__ __SUBCOMMANDS__
17
+ __PROGRAM__ -h | --help
18
+
19
+ Options:
20
+ -h --help Show this screen.
21
+ DOCOPT
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/numeric/time'
4
+ require 'eac_ruby_utils/console/speaker'
5
+ require 'eac_ruby_utils/simple_cache'
6
+ require 'avm/data/package/dump'
7
+
8
+ module Avm
9
+ module EacWebappBase0
10
+ module Runner
11
+ class Data < ::EacRubyUtils::Console::DocoptRunner
12
+ class Dump < ::EacRubyUtils::Console::DocoptRunner
13
+ include ::EacRubyUtils::SimpleCache
14
+ include ::EacRubyUtils::Console::Speaker
15
+
16
+ DUMP_EXPIRE_TIME = 1.day
17
+ DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
18
+ NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
19
+ 'dump was expired.'
20
+
21
+ DOC = <<~DOCUMENT
22
+ Dump utility for EacRailsBase instance.
23
+
24
+ Usage:
25
+ __PROGRAM__ [options]
26
+
27
+ Options:
28
+ -h --help Show this screen.
29
+ --rewrite Forces dump overwrite.
30
+ --dump-path=<dump_path> Set DUMP_PATH variable.
31
+ DOCUMENT
32
+
33
+ def run
34
+ infov 'Instance to dump', "#{context(:instance)} (#{context(:instance).class})"
35
+ if package_dump.runnable?
36
+ package_dump.run
37
+ else
38
+ warn(package_dump.cannot_run_reason)
39
+ end
40
+ success("Dump path: \"#{dump_path}\"")
41
+ dump_path
42
+ end
43
+
44
+ private
45
+
46
+ def package_dump_uncached
47
+ context(:instance).data_package.dump(dump_path, existing: package_dump_existing)
48
+ end
49
+
50
+ def dump_path
51
+ options.fetch('--dump-path') || default_dump_path
52
+ end
53
+
54
+ def default_dump_path
55
+ context(:instance).read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
56
+ end
57
+
58
+ def package_dump_existing
59
+ if options.fetch('--rewrite')
60
+ ::Avm::Data::Package::Dump::EXISTING_ROTATE
61
+ else
62
+ ::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/numeric/time'
4
+ require 'eac_ruby_utils/console/speaker'
5
+ require 'eac_ruby_utils/simple_cache'
6
+
7
+ module Avm
8
+ module EacWebappBase0
9
+ module Runner
10
+ class Data < ::EacRubyUtils::Console::DocoptRunner
11
+ class Load < ::EacRubyUtils::Console::DocoptRunner
12
+ include ::EacRubyUtils::SimpleCache
13
+ include ::EacRubyUtils::Console::Speaker
14
+
15
+ DOC = <<~DOCUMENT
16
+ Load utility for EacRailsBase instance.
17
+
18
+ Usage:
19
+ __PROGRAM__ (<dump-path>|--source-instance=<source-instance>)
20
+ __PROGRAM__ -h | --help
21
+
22
+ Options:
23
+ -h --help Show this screen.
24
+ -S --source-instance=<source-instance> Informa a instância a ser extraída o dump.
25
+ DOCUMENT
26
+
27
+ def run
28
+ return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
29
+ ::File.exist?(dump_path)
30
+
31
+ load_dump
32
+ success("Dump loaded from \"#{dump_path}\"")
33
+ end
34
+
35
+ def dump_path_uncached
36
+ return options.fetch('<dump-path>').to_s if options.fetch('<dump-path>').present?
37
+ return source_instance_dump_path if options.fetch('--source-instance').present?
38
+
39
+ raise "Dump path unknown (Options: #{options})"
40
+ end
41
+
42
+ def source_instance_dump_path
43
+ context(:instance).class.by_id(
44
+ options.fetch('--source-instance')
45
+ ).data_dump
46
+ end
47
+
48
+ def load_dump
49
+ info "Loading dump \"#{dump_path}\"..."
50
+ package_load.run
51
+ end
52
+
53
+ def dump_instance_method
54
+ :dump_database
55
+ end
56
+
57
+ private
58
+
59
+ def package_load_uncached
60
+ context(:instance).data_package.load(dump_path)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/path_string'
4
+ require 'eac_ruby_utils/console/docopt_runner'
5
+ require 'eac_ruby_utils/console/speaker'
6
+
7
+ module Avm
8
+ module EacWebappBase0
9
+ module Runner
10
+ class Deploy < ::EacRubyUtils::Console::DocoptRunner
11
+ include ::EacRubyUtils::Console::Speaker
12
+
13
+ DOC = <<~DOCOPT
14
+ Deploy for %%STEREOTYPE_NAME%% instance.
15
+
16
+ Usage:
17
+ __PROGRAM__ [options]
18
+ __PROGRAM__ -h | --help
19
+
20
+ Options:
21
+ -h --help Show this screen.
22
+ -r --reference=<git-reference> Git reference to deploy.
23
+ -a --append-dirs=<append-dirs> Append directories to deploy (List separated by ":").
24
+ DOCOPT
25
+ def initialize(settings = {})
26
+ super settings.merge(doc: DOC.gsub('%%STEREOTYPE_NAME%%', stereotype_name))
27
+ end
28
+
29
+ def deploy_class
30
+ stereotype_module.const_get('Deploy')
31
+ end
32
+
33
+ def stereotype_module
34
+ ::Avm::Stereotypes.const_get(stereotype_name)
35
+ rescue ::NameError
36
+ ::Avm.const_get(stereotype_name)
37
+ end
38
+
39
+ def stereotype_name
40
+ self.class.name.deconstantize.demodulize
41
+ end
42
+
43
+ def run
44
+ result = deploy_class.new(context(:instance), deploy_options).run
45
+ if result.error?
46
+ fatal_error result.to_s
47
+ else
48
+ infov 'Result', result.label
49
+ end
50
+ end
51
+
52
+ def deploy_options
53
+ { reference: options.fetch('--reference'),
54
+ appended_directories: ::Avm::PathString.paths(options.fetch('--append-dirs')) }
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/stereotypes/eac_webapp_base0/apache_host'
3
+ require 'avm/eac_webapp_base0/apache_host'
4
4
 
5
5
  module Avm
6
6
  module Stereotypes
7
7
  module EacWordpressBase0
8
- class ApacheHost < ::Avm::Stereotypes::EacWebappBase0::ApacheHost
8
+ class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
9
9
  def document_root
10
10
  instance.read_entry(:fs_path)
11
11
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/stereotypes/eac_webapp_base0/deploy'
3
+ require 'avm/eac_webapp_base0/deploy'
4
4
 
5
5
  module Avm
6
6
  module Stereotypes
7
7
  module EacWordpressBase0
8
- class Deploy < ::Avm::Stereotypes::EacWebappBase0::Deploy
8
+ class Deploy < ::Avm::EacWebappBase0::Deploy
9
9
  end
10
10
  end
11
11
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/instances/entry_keys'
4
- require 'avm/stereotypes/eac_webapp_base0/instance'
4
+ require 'avm/eac_webapp_base0/instance'
5
5
 
6
6
  module Avm
7
7
  module Stereotypes
8
8
  module EacWordpressBase0
9
- class Instance < ::Avm::Stereotypes::EacWebappBase0::Instance
9
+ class Instance < ::Avm::EacWebappBase0::Instance
10
10
  FILES_UNITS = { uploads: 'wp-content/uploads', themes: 'wp-content/themes' }.freeze
11
11
 
12
12
  def database_unit
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/console/docopt_runner'
4
4
  require 'eac_ruby_utils/simple_cache'
5
- require 'avm/stereotypes/eac_rails_base0/instance'
5
+ require 'avm/eac_rails_base0/instance'
6
6
  require 'eac_ruby_utils/require_sub'
7
7
  ::EacRubyUtils.require_sub(__FILE__)
8
8
 
@@ -26,7 +26,7 @@ module Avm
26
26
  private
27
27
 
28
28
  def instance_uncached
29
- ::Avm::Stereotypes::EacRailsBase0::Instance.by_id(options['<instance_id>'])
29
+ ::Avm::EacRailsBase0::Instance.by_id(options['<instance_id>'])
30
30
  end
31
31
  end
32
32
  end
@@ -1,37 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_webapp_base0/runner/apache_host'
3
4
  require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
5
- require 'avm/stereotypes/eac_rails_base0/apache_host'
5
+ require 'avm/eac_rails_base0/apache_host'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
9
  class Runner < ::EacRubyUtils::Console::DocoptRunner
10
10
  class EacRailsBase0 < ::EacRubyUtils::Console::DocoptRunner
11
- class ApacheHost < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacRubyUtils::Console::Speaker
13
-
14
- DOC = <<~DOCOPT
15
- Deploy for EacRailsBase0 instance.
16
-
17
- Usage:
18
- __PROGRAM__ [options]
19
- __PROGRAM__ -h | --help
20
-
21
- Options:
22
- -h --help Show this screen.
23
- DOCOPT
24
-
25
- def run
26
- result = ::Avm::Stereotypes::EacRailsBase0::ApacheHost.new(
27
- context(:instance)
28
- ).run
29
- if result.error?
30
- fatal_error result.to_s
31
- else
32
- infov 'Result', result.label
33
- end
34
- end
11
+ class ApacheHost < ::Avm::EacWebappBase0::Runner::ApacheHost
35
12
  end
36
13
  end
37
14
  end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/stereotypes/eac_webapp_base0/runner/data'
3
+ require 'avm/eac_webapp_base0/runner/data'
4
4
  require 'eac_ruby_utils/console/docopt_runner'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
8
  class Runner < ::EacRubyUtils::Console::DocoptRunner
9
9
  class EacRailsBase0 < ::EacRubyUtils::Console::DocoptRunner
10
- class Data < ::Avm::Stereotypes::EacWebappBase0::Runner::Data
10
+ class Data < ::Avm::EacWebappBase0::Runner::Data
11
11
  end
12
12
  end
13
13
  end