power_stencil 0.9.4 → 0.9.5
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/etc/meta_templates/plugin_seed/lib/{entity}.rb.erb +1 -1
- data/etc/templates/plugin_definition/lib/{entity}.rb.erb +1 -1
- data/lib/power_stencil/command_processors/build.rb +1 -1
- data/lib/power_stencil/command_processors/check.rb +1 -1
- data/lib/power_stencil/engine/entities_definitions.rb +26 -13
- data/lib/power_stencil/plugins/entity_definitions.rb +9 -15
- data/lib/power_stencil/project/base.rb +1 -0
- data/lib/power_stencil/project/info.rb +1 -1
- data/lib/power_stencil/project/require_entity_definitions.rb +21 -0
- data/lib/power_stencil/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f0c8423324989df34f6a82f3d94876049918c72
|
4
|
+
data.tar.gz: cbc370533eacc74d7ab8c3c827c9ac491d233294
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df40c5459e352c58ebb6bd8da2c737c21fdb41f09bb4ec9c52f11fdbb2f9fa6d8f75282f9fb16981970625929e594e62e4bd51b8516db7517ee338383bc8210f
|
7
|
+
data.tar.gz: 9490d7ac9be83f7b6993ff201d0ab72f1cc5baa7701a4edfe7dfc81e6bca6d082dc01193cac35bf5ed75d28428629aed806e80b049f838440e3b924bcefb197c
|
@@ -23,7 +23,7 @@ module <%= plugin_module_name %>
|
|
23
23
|
puts File.readlines(generated_file)
|
24
24
|
end
|
25
25
|
else
|
26
|
-
raise PowerStencil::Error,
|
26
|
+
raise PowerStencil::Error, "Plugin '<%= plugin_name %>' doesnt know how handle the build of a '#{built_entity.type}' type !"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -23,7 +23,7 @@ module <%= plugin_module_name %>
|
|
23
23
|
puts File.readlines(generated_file)
|
24
24
|
end
|
25
25
|
else
|
26
|
-
raise PowerStencil::Error,
|
26
|
+
raise PowerStencil::Error, "Plugin '<%= plugin_name %>' doesnt know how handle the build of a '#{built_entity.type}' type !"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -21,7 +21,7 @@ module PowerStencil
|
|
21
21
|
source_provider = entity_class.entity_type_source_provider
|
22
22
|
source_provider_display = if source_provider == PowerStencil
|
23
23
|
"'#{source_provider.name}'"
|
24
|
-
elsif source_provider
|
24
|
+
elsif source_provider.is_a? project.class
|
25
25
|
"project '#{source_provider.name}'"
|
26
26
|
elsif source_provider.is_a? PowerStencil::Plugins::Base
|
27
27
|
"plugin '#{source_provider.name}'"
|
@@ -27,7 +27,7 @@ module PowerStencil
|
|
27
27
|
source_provider = entity.class.entity_type_source_provider
|
28
28
|
source_provider_display = if source_provider == PowerStencil
|
29
29
|
"'#{source_provider.name}'"
|
30
|
-
elsif source_provider
|
30
|
+
elsif source_provider.is_a? project.class
|
31
31
|
"project '#{source_provider.name}'"
|
32
32
|
elsif source_provider.is_a? PowerStencil::Plugins::Base
|
33
33
|
"plugin '#{source_provider.name}'"
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'power_stencil/project/require_entity_definitions'
|
2
|
+
|
1
3
|
module PowerStencil
|
2
4
|
module Engine
|
3
5
|
|
@@ -21,30 +23,41 @@ module PowerStencil
|
|
21
23
|
next
|
22
24
|
end
|
23
25
|
# This is a ruby library or there is something wrong
|
24
|
-
securely_require_with_entity_class_detection file_or_dir, source
|
25
26
|
|
27
|
+
# securely_require_with_entity_class_detection file_or_dir, source
|
28
|
+
securely_require_with_entity_class_detection(source) do
|
29
|
+
securely_require file_or_dir, fail_on_error: true
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
required_files.sort!.each do |file|
|
34
|
+
securely_require_with_entity_class_detection source do
|
35
|
+
securely_require file, fail_on_error: true
|
36
|
+
end
|
26
37
|
end
|
27
|
-
required_files.sort!.each { |file| securely_require_with_entity_class_detection file, source }
|
28
38
|
required_files
|
29
39
|
end
|
30
40
|
|
31
41
|
private
|
32
42
|
|
43
|
+
include PowerStencil::Project::RequireEntityDefinition
|
44
|
+
|
33
45
|
def load_system_entities_definition
|
34
46
|
require_definition_files [SYSTEM_ENTITY_DEFINITION_ENTRY_POINT], PowerStencil
|
35
47
|
end
|
36
48
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
49
|
+
# def securely_require_with_entity_class_detection(entity_definition_file_path, source)
|
50
|
+
# before = PowerStencil::Engine::EntitiesHandling.all_types
|
51
|
+
# securely_require entity_definition_file_path, fail_on_error: true
|
52
|
+
# after = PowerStencil::Engine::EntitiesHandling.all_types
|
53
|
+
# after.reject { |k, _| before.keys.include? k }
|
54
|
+
# .each do |_, plugin_entity_class|
|
55
|
+
# plugin_entity_class.instance_eval do
|
56
|
+
# @entity_type_source_provider = source
|
57
|
+
# end
|
58
|
+
# end
|
59
|
+
# end
|
60
|
+
|
48
61
|
end
|
49
62
|
|
50
63
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'power_stencil/project/require_entity_definitions'
|
2
|
+
|
1
3
|
module PowerStencil
|
2
4
|
module Plugins
|
3
5
|
|
@@ -6,25 +8,17 @@ module PowerStencil
|
|
6
8
|
def require_plugin_entity_definitions
|
7
9
|
return unless capabilities[:entity_definitions]
|
8
10
|
logger.info "Requiring '#{self.name}' plugin entity definitions..."
|
9
|
-
securely_require_with_entity_class_detection
|
10
|
-
|
11
|
+
securely_require_with_entity_class_detection(self) do
|
12
|
+
plugin_definition[:entity_definitions].each do |entity_definition_file_path|
|
13
|
+
securely_require entity_definition_file_path, fail_on_error: true
|
14
|
+
end
|
15
|
+
end
|
11
16
|
|
17
|
+
end
|
12
18
|
|
13
19
|
private
|
14
20
|
|
15
|
-
|
16
|
-
before = PowerStencil::Engine::EntitiesHandling.all_types
|
17
|
-
plugin_definition[:entity_definitions].each do |entity_definition_file_path|
|
18
|
-
securely_require entity_definition_file_path, fail_on_error: true
|
19
|
-
end
|
20
|
-
after = PowerStencil::Engine::EntitiesHandling.all_types
|
21
|
-
after.reject { |k, _| before.keys.include? k }.each do |_, plugin_entity_class|
|
22
|
-
plugin = self
|
23
|
-
plugin_entity_class.instance_eval do
|
24
|
-
@entity_type_source_provider = plugin
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
21
|
+
include PowerStencil::Project::RequireEntityDefinition
|
28
22
|
|
29
23
|
end
|
30
24
|
|
@@ -9,6 +9,7 @@ require 'power_stencil/project/templates'
|
|
9
9
|
require 'power_stencil/project/plugins'
|
10
10
|
require 'power_stencil/project/git'
|
11
11
|
require 'power_stencil/project/completion'
|
12
|
+
require 'power_stencil/project/require_entity_definitions'
|
12
13
|
|
13
14
|
require 'power_stencil/engine/project_engine'
|
14
15
|
require 'power_stencil/engine/entity_engine'
|
@@ -64,7 +64,7 @@ module PowerStencil
|
|
64
64
|
source_provider = klass.entity_type_source_provider
|
65
65
|
source_provider_display = if source_provider == PowerStencil
|
66
66
|
"'#{source_provider.name}'"
|
67
|
-
elsif source_provider
|
67
|
+
elsif source_provider.is_a? self.class
|
68
68
|
"project '#{source_provider.name}'"
|
69
69
|
elsif source_provider.is_a? PowerStencil::Plugins::Base
|
70
70
|
"plugin '#{source_provider.name}'"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module PowerStencil
|
2
|
+
module Project
|
3
|
+
|
4
|
+
module RequireEntityDefinition
|
5
|
+
|
6
|
+
def securely_require_with_entity_class_detection(source, &block)
|
7
|
+
before = PowerStencil::Engine::EntitiesHandling.all_types
|
8
|
+
yield
|
9
|
+
after = PowerStencil::Engine::EntitiesHandling.all_types
|
10
|
+
after.reject { |k, _| before.keys.include? k }.each do |_, defined_entity_class|
|
11
|
+
provider = source
|
12
|
+
defined_entity_class.instance_eval do
|
13
|
+
@entity_type_source_provider = provider
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: power_stencil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent Briais
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -288,6 +288,7 @@ files:
|
|
288
288
|
- lib/power_stencil/project/paths.rb
|
289
289
|
- lib/power_stencil/project/plugins.rb
|
290
290
|
- lib/power_stencil/project/proxy.rb
|
291
|
+
- lib/power_stencil/project/require_entity_definitions.rb
|
291
292
|
- lib/power_stencil/project/templates.rb
|
292
293
|
- lib/power_stencil/project/versioning.rb
|
293
294
|
- lib/power_stencil/system_entity_definitions/all.rb
|
@@ -327,7 +328,7 @@ metadata:
|
|
327
328
|
documentation_uri: https://gitlab.com/tools4devops/power_stencil/blob/master/README.md
|
328
329
|
source_code_uri: https://gitlab.com/tools4devops/power_stencil
|
329
330
|
homepage_uri: https://powerstencil.brizone.org/
|
330
|
-
post_install_message: "\nThank you for installing PowerStencil 0.9.
|
331
|
+
post_install_message: "\nThank you for installing PowerStencil 0.9.5 !\nFrom the command
|
331
332
|
line you can run `power_stencil --help`\nIf your shell is not completing the command:\n
|
332
333
|
\ If you use rbenv: `rbenv rehash`\n If you use zsh : `rehash`\n\nOfficial Website
|
333
334
|
\ : https://powerstencil.brizone.org/\nFull documentation here : https://gitlab.com/tools4devops/power_stencil/blob/master/README.md\nFeel
|