power_stencil 0.8.6 → 0.8.7
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a11e9c5260e1929526cc1555923592f3a3fd5041
|
4
|
+
data.tar.gz: 39c54949b912a3cf6aa298207f59cd2d3a4c58ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b71ba2925c1f7c09ad2db22bb56d90b4b293114405bc03aac08b583fc9ddb991ca804425ef095ecf7ff548963c87d025912de4d348507de7972e13726983eb46
|
7
|
+
data.tar.gz: 9dc5cc390ea7f3adfa2d25893773b5a67c42a6b0be88e17bc3ed9de28e14fce009df8b913382d3dad35557df0a4132b2c2241553eda495a7435563af99ab5015
|
@@ -51,17 +51,20 @@ module PowerStencil
|
|
51
51
|
|
52
52
|
def modifications_valid?(modified_path, original_entity)
|
53
53
|
test_entity = UniverseCompiler::Entity::Persistence.load modified_path
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
54
|
+
test_universe = project.engine.root_universe.dup
|
55
|
+
duplicated_entity = test_universe.get_entity *(original_entity.to_composite_key)
|
56
|
+
test_universe.replace duplicated_entity, test_entity
|
57
|
+
test_entity.resolve_fields_references!
|
58
|
+
test_entity.valid? raise_error: true
|
59
59
|
end
|
60
60
|
|
61
61
|
def edit_before_save(entity)
|
62
|
-
securely_edit_entity entity do |modified_path, _|
|
62
|
+
modified_entity = securely_edit_entity entity do |modified_path, _|
|
63
63
|
modifications_valid? modified_path, entity
|
64
64
|
end
|
65
|
+
project.engine.root_universe.replace entity, modified_entity
|
66
|
+
modified_entity.resolve_fields_references!
|
67
|
+
modified_entity
|
65
68
|
end
|
66
69
|
|
67
70
|
|
@@ -28,11 +28,7 @@ module PowerStencil
|
|
28
28
|
duplicated_entity = test_universe.get_entity *(original_entity.to_composite_key)
|
29
29
|
test_universe.replace duplicated_entity, test_entity
|
30
30
|
test_entity.resolve_fields_references!
|
31
|
-
test_entity.valid?
|
32
|
-
rescue => e
|
33
|
-
logger.debug PowerStencil::Error.report_error(e)
|
34
|
-
logger.debug "Modifications applied to '#{original_entity.as_path}' are invalid !"
|
35
|
-
false
|
31
|
+
test_entity.valid? raise_error: true
|
36
32
|
end
|
37
33
|
|
38
34
|
end
|
@@ -55,22 +55,29 @@ module PowerStencil
|
|
55
55
|
begin
|
56
56
|
FileUtils.copy file, tmp_file_path if retry_count == 1
|
57
57
|
edit_file tmp_file_path
|
58
|
-
if block_given?
|
59
|
-
unless modifications_validation_block.call tmp_file_path, file
|
60
|
-
raise PowerStencil::Error, "Your modifications to '#{file}' are invalid !"
|
61
|
-
end
|
62
|
-
end
|
58
|
+
modifications_validation_block.call(tmp_file_path, file) if block_given?
|
63
59
|
FileUtils.copy tmp_file_path, file
|
64
60
|
logger.info "File '#{file}' updated successfully."
|
65
61
|
file
|
66
62
|
rescue StandardError => e
|
63
|
+
remaining_attempts = nb_max_edit_retries - retry_count
|
67
64
|
retry_count += 1
|
65
|
+
msg = "Changes invalid: '#{e.message}'."
|
66
|
+
if remaining_attempts > 0
|
67
|
+
msg << " #{remaining_attempts} remaining attempt"
|
68
|
+
if remaining_attempts == 1
|
69
|
+
msg << '.'
|
70
|
+
else
|
71
|
+
msg << 's.'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
puts_and_logs msg, logs_as: :error, check_verbose: false
|
68
75
|
if retry_count > nb_max_edit_retries
|
69
|
-
logger.error "Your modifications are kept in '#{LAST_EDITED_FILE}' as it was invalid !"
|
70
76
|
begin
|
71
77
|
FileUtils.copy tmp_file_path, LAST_EDITED_FILE
|
78
|
+
puts_and_logs "Your modifications were kept in '#{LAST_EDITED_FILE}' as it was invalid !", logs_as: :error, check_verbose: false
|
72
79
|
rescue => ue
|
73
|
-
logger.error 'Cannot keep your modifications !'
|
80
|
+
logger.error 'Ooops, something strange happened while saving your modifications. Cannot keep your modifications !'
|
74
81
|
logger.debug PowerStencil::Error.report_error(ue)
|
75
82
|
end
|
76
83
|
else
|
data/power_stencil.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
|
28
28
|
spec.add_dependency 'climatic', '~> 0.2.32'
|
29
29
|
spec.add_dependency 'dir_glob_ignore', '~> 0.3'
|
30
|
-
spec.add_dependency 'universe_compiler', '~> 0.5.
|
30
|
+
spec.add_dependency 'universe_compiler', '~> 0.5.5'
|
31
31
|
spec.add_dependency 'pry'
|
32
32
|
spec.add_dependency 'git' , '~> 1.5.0'
|
33
33
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: power_stencil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent Briais
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.5.
|
89
|
+
version: 0.5.5
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.5.
|
96
|
+
version: 0.5.5
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: pry
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -299,7 +299,7 @@ metadata:
|
|
299
299
|
documentation_uri: https://gitlab.com/tools4devops/power_stencil/blob/master/README.md
|
300
300
|
source_code_uri: https://gitlab.com/tools4devops/power_stencil
|
301
301
|
homepage_uri: https://powerstencil.brizone.org/
|
302
|
-
post_install_message: "\nThank you for installing PowerStencil 0.8.
|
302
|
+
post_install_message: "\nThank you for installing PowerStencil 0.8.7 !\nFrom the command
|
303
303
|
line you can run `power_stencil --help`\nIf your shell is not completing the command:\n
|
304
304
|
\ If you use rbenv: `rbenv rehash`\n If you use zsh : `rehash`\n\nOfficial Website
|
305
305
|
\ : https://powerstencil.brizone.org/\nFull documentation here : https://gitlab.com/tools4devops/power_stencil/blob/master/README.md\nFeel
|