avm 0.78.0 → 0.80.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: 9cb5d857b2f46b9de8b367c04438c3be0bd5d511a3fccb7ba52b6aa92acd83a0
4
- data.tar.gz: 5ea79e6a35fede8b4049f923d13bb1d8c357044c53a21e0b52866dda26891bff
3
+ metadata.gz: '07288db64613db9f7542a592edf18a5ef9c23319b0e89dd14fa475c90c76429d'
4
+ data.tar.gz: 20510a4b8aea2c182c067ec62be6faba8e45f268e3a7830a8af0358543881151
5
5
  SHA512:
6
- metadata.gz: b9e1659d394a2bf0107f010af8e26f1c6cf5bbd8af3e670b3b4ccf4c62e06e8394acff968fe39ab5b99ee6e12be0779969cb7d67b2b7c06c26894ed24d4baebb
7
- data.tar.gz: 658e8f4282ce9390ed58bc19ce862205f526dd712b3ae604edf8f3f7bb83d3b7d213eb28d461b357aa24aee9f078ff88fe633e655842565a5ab9ef9646280347
6
+ metadata.gz: a2cf4806ecc92f0e7aff8793e9e9157f06564396770df043cbafbc7ee164dd0f86d1bf547b3b5ddd42d7f113fd9d73884725506bf7369394964d66fdd1450c75
7
+ data.tar.gz: 26611244b005c70d57d1625de6a55b1332a397769906fd0958aac6a931a61b7ddc18041471b14b5f2365e09b872311bfcf5455d254754956d6f4568488705208
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/ids'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module LocalInstance
10
+ LOCAL_INSTANCE_SUFFIX = 'dev'
11
+
12
+ # @return [String]
13
+ def local_instance_id
14
+ ::Avm::Instances::Ids.build(id, local_instance_suffix)
15
+ end
16
+
17
+ # @return [String]
18
+ def local_instance_suffix
19
+ LOCAL_INSTANCE_SUFFIX
20
+ end
21
+
22
+ private
23
+
24
+ # @return [Avm::Instances::Base]
25
+ def local_instance_uncached
26
+ instance(local_instance_suffix)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_config/node'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module LocalSource
11
+ # @return [Pathname]
12
+ def local_source_path
13
+ local_source_path_entry.value!.to_pathname
14
+ end
15
+
16
+ # @return [EacConfig::Entry]
17
+ def local_source_path_entry
18
+ ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
19
+ end
20
+
21
+ private
22
+
23
+ # @return [Avm::Sources::Base]
24
+ def local_source_uncached
25
+ ::Avm::Registry.sources.detect(local_source_path)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Naming
9
+ DEFAULT_NAME = '_Undefined_'
10
+
11
+ # @return [String]
12
+ def default_name
13
+ DEFAULT_NAME
14
+ end
15
+
16
+ # @return [String]
17
+ def name
18
+ name_from_configuration || default_name
19
+ end
20
+
21
+ # @return [String]
22
+ def name_from_configuration
23
+ entry(::Avm::Instances::EntryKeys::NAME).optional_value
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Organization
9
+ DEFAULT_ORGANIZATION = '_undefined_'
10
+ ORGANIZATION_CONFIG_KEY = 'organization'
11
+
12
+ # @return [String]
13
+ def default_organization
14
+ DEFAULT_ORGANIZATION
15
+ end
16
+
17
+ # @return [String, nil]
18
+ def organization_by_configuration
19
+ entry(ORGANIZATION_CONFIG_KEY).optional_value
20
+ end
21
+
22
+ # @return [String]
23
+ def organization
24
+ organization_by_configuration || default_organization
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/base'
4
- require 'avm/instances/ids'
5
- require 'avm/registry'
6
4
  require 'eac_ruby_utils/core_ext'
7
5
 
8
6
  module Avm
@@ -12,7 +10,7 @@ module Avm
12
10
  require_sub __FILE__, include_modules: true
13
11
  include ::Avm::Entries::Base
14
12
 
15
- LOCAL_INSTANCE_SUFFIX = 'dev'
13
+ AVM_TYPE = 'Application'
16
14
 
17
15
  common_constructor :id do
18
16
  self.id = id.to_s
@@ -25,42 +23,6 @@ module Avm
25
23
  def instance(suffix)
26
24
  stereotype.instance_class.new(self, suffix)
27
25
  end
28
-
29
- def name
30
- entry(::Avm::Instances::EntryKeys::NAME).read
31
- end
32
-
33
- # @return [String]
34
- def local_instance_id
35
- ::Avm::Instances::Ids.build(id, local_instance_suffix)
36
- end
37
-
38
- # @return [Pathname]
39
- def local_source_path
40
- local_source_path_entry.value!.to_pathname
41
- end
42
-
43
- # @return [EacConfig::Entry]
44
- def local_source_path_entry
45
- ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
46
- end
47
-
48
- # @return [String]
49
- def local_instance_suffix
50
- LOCAL_INSTANCE_SUFFIX
51
- end
52
-
53
- private
54
-
55
- # @return [Avm::Instances::Base]
56
- def local_instance_uncached
57
- instance(local_instance_suffix)
58
- end
59
-
60
- # @return [Avm::Sources::Base]
61
- def local_source_uncached
62
- ::Avm::Registry.sources.detect(local_source_path)
63
- end
64
26
  end
65
27
  end
66
28
  end
@@ -8,6 +8,7 @@ module Avm
8
8
  module AutoValues
9
9
  module Database
10
10
  LOCAL_ADDRESS = '127.0.0.1'
11
+ LOCAL_ADDRESSES = [LOCAL_ADDRESS, '::1', 'localhost'].freeze
11
12
  DEFAULT_EXTRA = ''
12
13
  DEFAULT_HOSTNAME = LOCAL_ADDRESS
13
14
  DEFAULT_LIMIT = 5
@@ -10,6 +10,7 @@ module Avm
10
10
 
11
11
  # @return [Array<Avm::Applications::Base>]
12
12
  def available
13
+ load_config
13
14
  detected.values
14
15
  end
15
16
 
@@ -26,6 +27,12 @@ module Avm
26
27
  def detected
27
28
  @detected ||= {}
28
29
  end
30
+
31
+ def load_config
32
+ ::Avm::Registry.config_objects.available.each do |id, type|
33
+ detect(id) if type == ::Avm::Applications::Base::AVM_TYPE
34
+ end
35
+ end
29
36
  end
30
37
  end
31
38
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/applications/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Registry
8
+ class ConfigObjects
9
+ def initialize(*args); end
10
+
11
+ # @return [Array<Avm::Applications::Base>]
12
+ def available
13
+ ::EacConfig::Node.context.current.entries('*.avm_type').node_entries
14
+ .map { |ne| [ne.path.first, ne.value] }
15
+ end
16
+ end
17
+ end
18
+ end
data/lib/avm/registry.rb CHANGED
@@ -7,8 +7,9 @@ module Avm
7
7
  module Registry
8
8
  require_sub __FILE__
9
9
  enable_listable
10
- lists.add_symbol :category, :applications, :application_stereotypes, :file_formats, :instances,
11
- :launcher_stereotypes, :runners, :scms, :source_generators, :sources
10
+ lists.add_symbol :category, :applications, :application_stereotypes, :config_objects,
11
+ :file_formats, :instances, :launcher_stereotypes, :runners, :scms,
12
+ :source_generators, :sources
12
13
 
13
14
  class << self
14
15
  enable_simple_cache
data/lib/avm/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.78.0'
4
+ VERSION = '0.80.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.78.0
4
+ version: 0.80.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-09 00:00:00.000000000 Z
11
+ date: 2023-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -16,48 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.20'
19
+ version: '0.21'
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.20'
26
+ version: '0.21'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: eac_cli
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.35'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 0.35.1
33
+ version: '0.38'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '0.35'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.35.1
40
+ version: '0.38'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: eac_config
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '0.12'
47
+ version: '0.14'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.14.1
54
51
  type: :runtime
55
52
  prerelease: false
56
53
  version_requirements: !ruby/object:Gem::Requirement
57
54
  requirements:
58
55
  - - "~>"
59
56
  - !ruby/object:Gem::Version
60
- version: '0.12'
57
+ version: '0.14'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.14.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: eac_docker
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -112,20 +112,20 @@ dependencies:
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: '0.117'
115
+ version: '0.119'
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: 0.117.1
118
+ version: 0.119.2
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '0.117'
125
+ version: '0.119'
126
126
  - - ">="
127
127
  - !ruby/object:Gem::Version
128
- version: 0.117.1
128
+ version: 0.119.2
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: eac_templates
131
131
  requirement: !ruby/object:Gem::Requirement
@@ -241,6 +241,10 @@ files:
241
241
  - lib/avm/application_stereotypes/base.rb
242
242
  - lib/avm/applications.rb
243
243
  - lib/avm/applications/base.rb
244
+ - lib/avm/applications/base/local_instance.rb
245
+ - lib/avm/applications/base/local_source.rb
246
+ - lib/avm/applications/base/naming.rb
247
+ - lib/avm/applications/base/organization.rb
244
248
  - lib/avm/applications/base/publishing.rb
245
249
  - lib/avm/applications/base/stereotype.rb
246
250
  - lib/avm/data/callbacks.rb
@@ -346,6 +350,7 @@ files:
346
350
  - lib/avm/registry/application_stereotypes/build_available.rb
347
351
  - lib/avm/registry/application_stereotypes/stereotype_builder.rb
348
352
  - lib/avm/registry/applications.rb
353
+ - lib/avm/registry/config_objects.rb
349
354
  - lib/avm/registry/file_formats.rb
350
355
  - lib/avm/registry/from_gems.rb
351
356
  - lib/avm/registry/instances.rb