avm-eac_webapp_base0 0.14.0 → 0.15.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: f7f10bd706fb68eb2cda66ced6731a6bc34b4fe3bc4f1550ae5b69e9aa344144
4
- data.tar.gz: 70acc90deb8b548d5f74ea20633b02a131031dfcabc6b38c7a2199a9d4b854a4
3
+ metadata.gz: a085657bc8ef0940c482244afb30cc55a1bb7b555e4430aa6e9cb616ef2396f5
4
+ data.tar.gz: 2eb529b6ba2076a305b12e17006ae46d57fb324cb0b79d113cffa5364801438c
5
5
  SHA512:
6
- metadata.gz: fb2e07f9d84e3a905c470b1aa82b289706bb4d2a9f1e0e8021b65c104fcbf9066f0225caa8ec1c507f05b7859ba47970c5b825de92b5646e2b0e9b58d4b5c686
7
- data.tar.gz: d4d36b61ae3cbed2920f765164a39b1634b3e0115b4b1c250d15b08360f3d07c3b6cd030f7db840d839173d1815b7f0c1c9070cf22c4a232a3862b6bf9ba1c02
6
+ metadata.gz: 9b6d0343699e993bc79a23500ae1afbe580ccc2bd7af8c710c9d87cfa8bd9ab6d4b63e45a0a7bfc23d5399e7a7dedfbdf1200d16be19c24531a2fcbf2063fc86
7
+ data.tar.gz: 586d6db038a7186194c45da92edd64027be181258af8b10bd177ab844f907515cf7c7df2b0ead19468af09e852f3316f80b1ec78e38f8e856eefb64e1c6d7070
@@ -4,7 +4,6 @@ require 'avm/instances/base'
4
4
  require 'avm/eac_postgresql_base0/instance_with'
5
5
  require 'avm/instances/data/files_unit'
6
6
  require 'avm/instances/data/package'
7
- require 'avm/eac_webapp_base0/instances/deploy/file_unit'
8
7
  require 'avm/eac_webapp_base0/instances/runners'
9
8
  require 'avm/eac_ubuntu_base0/instances/base'
10
9
 
@@ -16,8 +15,6 @@ module Avm
16
15
  include ::Avm::EacPostgresqlBase0::InstanceWith
17
16
  enable_simple_cache
18
17
 
19
- FILES_UNITS = [].freeze
20
-
21
18
  def data_dump(argv = [])
22
19
  run_subcommand(data_dump_runner_class, argv)
23
20
  end
@@ -33,10 +30,14 @@ module Avm
33
30
  ).run
34
31
  end
35
32
 
33
+ # @return [Avm::Instances::Data::Package]
36
34
  def data_package
37
- @data_package ||= ::Avm::Instances::Data::Package.new(
38
- self, units: { database: database_unit }.merge(files_units)
39
- )
35
+ @data_package ||= data_package_create
36
+ end
37
+
38
+ # @return [Avm::Instances::Data::Package]
39
+ def data_package_create
40
+ ::Avm::Instances::Data::Package.new(self)
40
41
  end
41
42
 
42
43
  def database_unit
@@ -49,12 +50,6 @@ module Avm
49
50
  def platform_instance_uncached
50
51
  ::Avm::EacUbuntuBase0::Instances::Base.by_id(id)
51
52
  end
52
-
53
- def files_units
54
- self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
55
- ::Avm::Instances::Data::FilesUnit.new(self, fs_path_subpath)
56
- end
57
- end
58
53
  end
59
54
  end
60
55
  end
@@ -4,7 +4,8 @@ module Avm
4
4
  module EacWebappBase0
5
5
  module Instances
6
6
  class Deploy
7
- class FileUnit < ::SimpleDelegator
7
+ class SetupFilesUnit < ::SimpleDelegator
8
+ enable_method_class
8
9
  attr_reader :data_key, :fs_path_subpath
9
10
 
10
11
  def initialize(deploy, data_key, fs_path_subpath)
@@ -13,7 +14,7 @@ module Avm
13
14
  @fs_path_subpath = fs_path_subpath
14
15
  end
15
16
 
16
- def run
17
+ def result
17
18
  assert_source_directory
18
19
  link_source_target
19
20
  end
@@ -34,9 +35,17 @@ module Avm
34
35
 
35
36
  def link_source_target
36
37
  infom "Linking \"#{data_key}\" directory..."
37
- instance.host_env.command('rm', '-rf', target_path).execute!
38
+ return unless remove_target
39
+
38
40
  instance.host_env.command('ln', '-s', source_path, target_path).execute!
39
41
  end
42
+
43
+ private
44
+
45
+ # @return [Boolean]
46
+ def remove_target
47
+ instance.host_env.command('rm', '-rf', target_path).execute.fetch(:exit_code).zero?
48
+ end
40
49
  end
41
50
  end
42
51
  end
@@ -10,7 +10,7 @@ module Avm
10
10
  module EacWebappBase0
11
11
  module Instances
12
12
  class Deploy
13
- require_sub __FILE__, include_modules: true
13
+ require_sub __FILE__, include_modules: true, require_dependency: true
14
14
 
15
15
  DEFAULT_REFERENCE = 'HEAD'
16
16
 
@@ -42,9 +42,8 @@ module Avm
42
42
  end
43
43
 
44
44
  def setup_files_units
45
- instance.class.const_get('FILES_UNITS').each do |data_key, fs_path_subpath|
46
- FileUnit.new(self, data_key, fs_path_subpath).run
47
- end
45
+ instance.data_package.units.values.map(&:installation_files_data).select(&:present?)
46
+ .each { |unit_install| setup_files_unit(unit_install.key, unit_install.subpath) }
48
47
  end
49
48
 
50
49
  def assert_instance_branch
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'active_support/core_ext/numeric/time'
4
+ require 'avm/result'
4
5
  require 'eac_cli/speaker'
5
6
  require 'eac_ruby_utils/simple_cache'
6
7
 
@@ -17,7 +18,7 @@ module Avm
17
18
  end
18
19
 
19
20
  def run
20
- return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
21
+ return fatal_error("Dump \"#{dump_path}\" does not exist") unless
21
22
  ::File.exist?(dump_path)
22
23
 
23
24
  load_dump
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacWebappBase0
5
- VERSION = '0.14.0'
5
+ VERSION = '0.15.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.14.0
4
+ version: 0.15.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: 2023-04-01 00:00:00.000000000 Z
11
+ date: 2023-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.66'
19
+ version: '0.67'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.66'
26
+ version: '0.67'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm-eac_generic_base0
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: '0.2'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 0.2.3
50
+ version: 0.2.4
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: '0.2'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 0.2.3
60
+ version: 0.2.4
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: avm-eac_ubuntu_base0
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -143,8 +143,8 @@ files:
143
143
  - lib/avm/eac_webapp_base0/instances/deploy.rb
144
144
  - lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb
145
145
  - lib/avm/eac_webapp_base0/instances/deploy/build.rb
146
- - lib/avm/eac_webapp_base0/instances/deploy/file_unit.rb
147
146
  - lib/avm/eac_webapp_base0/instances/deploy/scm.rb
147
+ - lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb
148
148
  - lib/avm/eac_webapp_base0/instances/deploy/version.rb
149
149
  - lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb
150
150
  - lib/avm/eac_webapp_base0/instances/runners.rb