avm-eac_webapp_base0 0.2.1 → 0.4.0

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