avm-eac_webapp_base0 0.2.1 → 0.4.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: 4245d6e8d7f22be7c3f76beeb39d08f5504484bdf2dadb3566526c037c69c82d
4
- data.tar.gz: 784dec9bcfdf269fc3349444f76ee8faaea016411ab133b7328dc12dba634244
3
+ metadata.gz: 77da2f06f0bb33ef2ddfd167f7bb53c234a6c353ce4eea1abf3ee4d7da417be9
4
+ data.tar.gz: b7a16787cb9c352faeafbc5b628330b60862d96012ecb82565f10a64c5cefc63
5
5
  SHA512:
6
- metadata.gz: f1dc8e67f3ac572783a06cda340edff9f3cf4378b1f3630c85e11b293e547e2d83379a9eaabe59400b5ac7ed1cbfd91c09e8c98df6b1ca6eaba4744561f908e8
7
- data.tar.gz: 38bc58eacc10156c3174a3c83bdc04230f393ed8e8bb542fe05b9c10381b07fc3db668f18608243cc852319acf91a5740070e4398f689d1da9b728abefeb6f70
6
+ metadata.gz: 5619ed9e4c61983641d0e76278e1672be949cb975277f390ba622306d063e2993c5971bec2c70bebc91a74738b8dd797394f7f56cf513336cf40a7c1a28ddad3
7
+ data.tar.gz: '0822e9f9c18056e18b5691a84c6e980ad3b4f420188e5037a2bbd75731e934552c61cb1b07b71e65adc981c0be587fb4522bc4c07e07f1af84b0d9a4f641df51'
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ class Base < ::Avm::Instances::Base
9
+ class SubcommandParent
10
+ enable_simple_cache
11
+ common_constructor :instance
12
+
13
+ private
14
+
15
+ def runner_context_uncached
16
+ ::EacCli::Runner::Context.new(self, argv: runner_argv)
17
+ end
18
+
19
+ def runner_argv
20
+ [instance.class.name.split('::')[-2].dasherize, instance.id]
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,61 @@
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_webapp_base0/instances/runners'
9
+ require 'avm/eac_ubuntu_base0/instances/base'
10
+
11
+ module Avm
12
+ module EacWebappBase0
13
+ module Instances
14
+ class Base < ::Avm::Instances::Base
15
+ require_sub __FILE__
16
+ include ::Avm::EacPostgresqlBase0::InstanceWith
17
+ enable_simple_cache
18
+
19
+ FILES_UNITS = [].freeze
20
+
21
+ def data_dump(argv = [])
22
+ run_subcommand(data_dump_runner_class, argv)
23
+ end
24
+
25
+ def data_dump_runner_class
26
+ "#{stereotype_namespace_module}::Runner::Data::Dump".constantize
27
+ end
28
+
29
+ def run_subcommand(subcommand_class, argv)
30
+ subcommand_class.create(
31
+ argv: argv,
32
+ parent: ::Avm::EacWebappBase0::Instance::SubcommandParent.new(self)
33
+ ).run
34
+ end
35
+
36
+ def data_package
37
+ @data_package ||= ::Avm::Data::Instance::Package.new(
38
+ self, units: { database: database_unit }.merge(files_units)
39
+ )
40
+ end
41
+
42
+ def database_unit
43
+ pg.data_unit
44
+ end
45
+
46
+ private
47
+
48
+ # @return [Avm::EacUbuntuBase0::Instances::Base]
49
+ def platform_instance_uncached
50
+ ::Avm::EacUbuntuBase0::Instances::Base.by_id(id)
51
+ end
52
+
53
+ def files_units
54
+ self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
55
+ ::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,65 @@
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
+ module Instances
9
+ module Runners
10
+ class Data
11
+ class Dump
12
+ DUMP_EXPIRE_TIME = 1.day
13
+ DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
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
+ arg_opt '-p', '--dump-path', 'Set DUMP_PATH variable.'
21
+ end
22
+
23
+ def run
24
+ infov 'Instance to dump', "#{instance} (#{instance.class})"
25
+ if package_dump.runnable?
26
+ package_dump.run
27
+ else
28
+ warn(package_dump.cannot_run_reason)
29
+ end
30
+ success("Dump path: \"#{dump_path}\"")
31
+ dump_path
32
+ end
33
+
34
+ private
35
+
36
+ def instance
37
+ runner_context.call(:instance)
38
+ end
39
+
40
+ def package_dump_uncached
41
+ instance
42
+ .data_package.dump(dump_path, existing: package_dump_existing)
43
+ end
44
+
45
+ def dump_path
46
+ parsed.dump_path || default_dump_path
47
+ end
48
+
49
+ def default_dump_path
50
+ instance.read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
51
+ end
52
+
53
+ def package_dump_existing
54
+ if parsed.rewrite?
55
+ ::Avm::Data::Package::Dump::EXISTING_ROTATE
56
+ else
57
+ ::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,57 @@
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
+ module Instances
10
+ module Runners
11
+ class Data
12
+ class Load
13
+ runner_with :help do
14
+ desc 'Load utility for EacRailsBase instance.'
15
+ arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
16
+ pos_arg :dump_path, optional: true
17
+ end
18
+
19
+ def run
20
+ return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
21
+ ::File.exist?(dump_path)
22
+
23
+ load_dump
24
+ success("Dump loaded from \"#{dump_path}\"")
25
+ end
26
+
27
+ def dump_path_uncached
28
+ return parsed.dump_path.to_s if parsed.dump_path.present?
29
+ return source_instance_dump_path if parsed.source_instance.present?
30
+
31
+ raise "Dump path unknown (Options: #{parsed})"
32
+ end
33
+
34
+ def source_instance_dump_path
35
+ runner_context.call(:instance).class.by_id(parsed.source_instance).data_dump
36
+ end
37
+
38
+ def load_dump
39
+ info "Loading dump \"#{dump_path}\"..."
40
+ package_load.run
41
+ end
42
+
43
+ def dump_instance_method
44
+ :dump_database
45
+ end
46
+
47
+ private
48
+
49
+ def package_load_uncached
50
+ runner_context.call(:instance).data_package.load(dump_path)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ class Data
10
+ require_sub __FILE__
11
+ runner_with :help, :subcommands do
12
+ desc 'Data utilities for EacRailsBase0 instances.'
13
+ subcommands
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacWebappBase0
5
- VERSION = '0.2.1'
5
+ VERSION = '0.4.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_webapp_base0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-11 00:00:00.000000000 Z
11
+ date: 2022-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,70 +16,76 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.1'
19
+ version: '0.35'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.35.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0.1'
29
+ version: '0.35'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.35.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: avm-eac_generic_base0
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.1'
39
+ version: '0.5'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0.1'
46
+ version: '0.5'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: avm-eac_postgresql_base0
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: '0.1'
53
+ version: '0.2'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: '0.1'
60
+ version: '0.2'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: avm-eac_ubuntu_base0
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: 0.2.1
67
+ version: '0.3'
62
68
  type: :runtime
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
72
  - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: 0.2.1
74
+ version: '0.3'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: eac_ruby_utils
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
79
  - - "~>"
74
80
  - !ruby/object:Gem::Version
75
- version: '0.68'
81
+ version: '0.98'
76
82
  type: :runtime
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
86
  - - "~>"
81
87
  - !ruby/object:Gem::Version
82
- version: '0.68'
88
+ version: '0.98'
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: eac_ruby_gem_support
85
91
  requirement: !ruby/object:Gem::Requirement
@@ -110,14 +116,15 @@ files:
110
116
  - lib/avm/eac_webapp_base0/deploy/git_info.rb
111
117
  - lib/avm/eac_webapp_base0/deploy/version.rb
112
118
  - lib/avm/eac_webapp_base0/deploy/write_on_target.rb
113
- - lib/avm/eac_webapp_base0/instance.rb
114
- - lib/avm/eac_webapp_base0/instance/subcommand_parent.rb
119
+ - lib/avm/eac_webapp_base0/instances/base.rb
120
+ - lib/avm/eac_webapp_base0/instances/base/subcommand_parent.rb
121
+ - lib/avm/eac_webapp_base0/instances/runners.rb
122
+ - lib/avm/eac_webapp_base0/instances/runners/data.rb
123
+ - lib/avm/eac_webapp_base0/instances/runners/data/dump.rb
124
+ - lib/avm/eac_webapp_base0/instances/runners/data/load.rb
115
125
  - lib/avm/eac_webapp_base0/runner.rb
116
126
  - lib/avm/eac_webapp_base0/runner/apache_host.rb
117
127
  - lib/avm/eac_webapp_base0/runner/apache_path.rb
118
- - lib/avm/eac_webapp_base0/runner/data.rb
119
- - lib/avm/eac_webapp_base0/runner/data/dump.rb
120
- - lib/avm/eac_webapp_base0/runner/data/load.rb
121
128
  - lib/avm/eac_webapp_base0/runner/deploy.rb
122
129
  - lib/avm/eac_webapp_base0/sources.rb
123
130
  - lib/avm/eac_webapp_base0/sources/base.rb
@@ -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,55 +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
-
9
- module Avm
10
- module EacWebappBase0
11
- class Instance < ::Avm::Instances::Base
12
- require_sub __FILE__
13
- include ::Avm::EacPostgresqlBase0::InstanceWith
14
-
15
- FILES_UNITS = [].freeze
16
-
17
- def stereotype_name
18
- self.class.name.desconstantize.demodulize
19
- end
20
-
21
- def data_dump(argv = [])
22
- run_subcommand(::Avm::Tools::Runner::EacWordpressBase0::Data::Dump, argv)
23
- end
24
-
25
- def data_dump_runner_class
26
- "::Avm::Tools::Runner::#{stereotype_name}::Data::Dump".constantize
27
- end
28
-
29
- def run_subcommand(subcommand_class, argv)
30
- subcommand_class.create(
31
- argv: argv,
32
- parent: ::Avm::EacWebappBase0::Instance::SubcommandParent.new(self)
33
- ).run
34
- end
35
-
36
- def data_package
37
- @data_package ||= ::Avm::Data::Instance::Package.new(
38
- self, units: { database: database_unit }.merge(files_units)
39
- )
40
- end
41
-
42
- def database_unit
43
- pg.data_unit
44
- end
45
-
46
- private
47
-
48
- def files_units
49
- self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
50
- ::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
51
- end
52
- end
53
- end
54
- end
55
- 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