avm 0.47.0 → 0.49.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 +4 -4
- data/lib/avm/launcher/paths/logical.rb +2 -1
- data/lib/avm/launcher/publish/base.rb +0 -2
- data/lib/avm/launcher/stereotype.rb +63 -0
- data/lib/avm/launcher_stereotypes.rb +9 -0
- data/lib/avm/registry/launcher_stereotypes.rb +11 -0
- data/lib/avm/registry.rb +2 -2
- data/lib/avm/rspec/setup.rb +2 -0
- data/lib/avm/rspec/source_generator.rb +16 -0
- data/lib/avm/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45c9b97e84c6bc931f5c39f0b4504f2ff0bb54777eefec60a11ca75f0f78d7ac
|
4
|
+
data.tar.gz: 8056ef32f78b0dd4e0dd3befb96b76215e427dee54439150bddc8ca55b6f79f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 645d93964df7e611a16976cebaad4a49cffb661b0e44b3d499a3c09f92c3ddf2376de919ee864759e2cd0fb1d63b942a934ce47a1c524bcd62c6e10400858fa1
|
7
|
+
data.tar.gz: 47dd65cb91878b663412a94e47da514d31b39bcb37f87d20796abaffe4877537885207ef2d291f78d511bbe9389333de66be73de053ae484aabfff314e566cde
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'avm/projects/stereotypes'
|
4
4
|
require 'avm/launcher/paths/real'
|
5
|
+
require 'avm/launcher/stereotype'
|
5
6
|
|
6
7
|
module Avm
|
7
8
|
module Launcher
|
@@ -61,7 +62,7 @@ module Avm
|
|
61
62
|
private
|
62
63
|
|
63
64
|
def stereotypes_uncached
|
64
|
-
::Avm::
|
65
|
+
::Avm::Launcher::Stereotype.stereotypes.select { |s| s.match?(self) }
|
65
66
|
end
|
66
67
|
|
67
68
|
def build_child(name)
|
@@ -35,8 +35,6 @@ module Avm
|
|
35
35
|
internal_check
|
36
36
|
rescue ::Avm::Launcher::Errors::Base => e
|
37
37
|
::Avm::Launcher::Publish::CheckResult.blocked("Error: #{e}")
|
38
|
-
rescue ::Avm::Launcher::Git::Error => e
|
39
|
-
::Avm::Launcher::Publish::CheckResult.blocked("Git error: #{e}")
|
40
38
|
end
|
41
39
|
end
|
42
40
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/core_ext/string/inflections'
|
4
|
+
require 'colorized_string'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Launcher
|
8
|
+
module Stereotype
|
9
|
+
class << self
|
10
|
+
attr_reader :stereotypes
|
11
|
+
|
12
|
+
def included(base)
|
13
|
+
@stereotypes ||= []
|
14
|
+
@stereotypes << base
|
15
|
+
base.extend(ClassMethods)
|
16
|
+
end
|
17
|
+
|
18
|
+
def git_stereotypes
|
19
|
+
stereotypes.select { |c| c.name.demodulize.downcase.match('git') }
|
20
|
+
end
|
21
|
+
|
22
|
+
def nogit_stereotypes
|
23
|
+
stereotypes - git_stereotypes
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
module ClassMethods
|
28
|
+
def label
|
29
|
+
::ColorizedString.new(stereotype_name).send(color)
|
30
|
+
end
|
31
|
+
|
32
|
+
def stereotype_name
|
33
|
+
name.demodulize
|
34
|
+
end
|
35
|
+
|
36
|
+
{
|
37
|
+
local_project_mixin: ::Module,
|
38
|
+
publish: ::Class,
|
39
|
+
update: ::Class,
|
40
|
+
version_bump: ::Class,
|
41
|
+
warp: ::Class
|
42
|
+
}.each do |name, is_a|
|
43
|
+
define_method "#{name}_#{is_a.name.underscore}" do
|
44
|
+
sub_constant(name.to_s.camelcase, is_a)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def sub_constant(constant_name, is_a)
|
51
|
+
return nil unless const_defined?(constant_name)
|
52
|
+
|
53
|
+
constant = const_get(constant_name)
|
54
|
+
unless is_a.if_present(true) { |v| constant.is_a?(v) }
|
55
|
+
raise("#{constant} is not a #{is_a}")
|
56
|
+
end
|
57
|
+
|
58
|
+
constant
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
data/lib/avm/registry.rb
CHANGED
@@ -7,8 +7,8 @@ module Avm
|
|
7
7
|
module Registry
|
8
8
|
require_sub __FILE__
|
9
9
|
enable_listable
|
10
|
-
lists.add_symbol :category, :application_stereotypes, :instances, :
|
11
|
-
:source_generators, :sources
|
10
|
+
lists.add_symbol :category, :application_stereotypes, :instances, :launcher_stereotypes,
|
11
|
+
:runners, :scms, :source_generators, :sources
|
12
12
|
|
13
13
|
class << self
|
14
14
|
enable_simple_cache
|
data/lib/avm/rspec/setup.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/rspec/source_generator'
|
3
4
|
require 'eac_ruby_utils/core_ext'
|
4
5
|
|
5
6
|
module Avm
|
@@ -9,6 +10,7 @@ module Avm
|
|
9
10
|
|
10
11
|
def self.extended(obj)
|
11
12
|
obj.setup_examples
|
13
|
+
obj.rspec_config.include(::Avm::Rspec::SourceGenerator)
|
12
14
|
end
|
13
15
|
|
14
16
|
def setup_examples
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Rspec
|
7
|
+
module SourceGenerator
|
8
|
+
# @return [Avm::Sources::Base]
|
9
|
+
def avm_source(stereotype_name, target_path = nil)
|
10
|
+
target_path ||= temp_dir.join('generated_app')
|
11
|
+
::Avm::Registry.source_generators.detect(stereotype_name, target_path).perform
|
12
|
+
::Avm::Registry.sources.detect(target_path)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/avm/version.rb
CHANGED
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.
|
4
|
+
version: 0.49.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: 2022-10-
|
11
|
+
date: 2022-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eac_cli
|
@@ -282,6 +282,8 @@ files:
|
|
282
282
|
- lib/avm/launcher/publish.rb
|
283
283
|
- lib/avm/launcher/publish/base.rb
|
284
284
|
- lib/avm/launcher/publish/check_result.rb
|
285
|
+
- lib/avm/launcher/stereotype.rb
|
286
|
+
- lib/avm/launcher_stereotypes.rb
|
285
287
|
- lib/avm/path_string.rb
|
286
288
|
- lib/avm/registry.rb
|
287
289
|
- lib/avm/registry/application_stereotypes.rb
|
@@ -289,6 +291,7 @@ files:
|
|
289
291
|
- lib/avm/registry/application_stereotypes/stereotype_builder.rb
|
290
292
|
- lib/avm/registry/from_gems.rb
|
291
293
|
- lib/avm/registry/instances.rb
|
294
|
+
- lib/avm/registry/launcher_stereotypes.rb
|
292
295
|
- lib/avm/registry/runners.rb
|
293
296
|
- lib/avm/registry/scms.rb
|
294
297
|
- lib/avm/registry/source_generators.rb
|
@@ -301,6 +304,7 @@ files:
|
|
301
304
|
- lib/avm/rspec/shared_examples/entries_values.rb
|
302
305
|
- lib/avm/rspec/shared_examples/in_avm_registry.rb
|
303
306
|
- lib/avm/rspec/shared_examples/not_in_avm_registry.rb
|
307
|
+
- lib/avm/rspec/source_generator.rb
|
304
308
|
- lib/avm/runners/base.rb
|
305
309
|
- lib/avm/scms/base.rb
|
306
310
|
- lib/avm/scms/commit.rb
|