power_stencil 0.4.9 → 0.4.14

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
  SHA1:
3
- metadata.gz: 43b7b6b0f091227dae7f7e4c196c74b826af12d7
4
- data.tar.gz: 8344c66df5508610ac8c7e9ab7905f21be6353b8
3
+ metadata.gz: c21fb1598bf2a0f87a28225e7293c6316a535866
4
+ data.tar.gz: 382b7da148e144199820f554044b6dbd6bc1748a
5
5
  SHA512:
6
- metadata.gz: 6fbf1e84e0fcbfe17b371908763c77b35045fe6217b3f233f113ca7caa3bde4a1d974b32a4e3296fbc5462ba492b381cb839146cae3dd357fac03babefbbc6bc
7
- data.tar.gz: c00401502df22c18b2f254abc321b9b710b6c418e3bdca442b25889a8544fb36ad39bdef9e571388e77372455e2038da7b9129af60c2116779c5245bbfd23251
6
+ metadata.gz: 04a4b1171e4a606261f28a1b1187009385f1507b5d21fcb91a9b561bdde33afb7516875921b161ee35662ccc4195f7e642acabc4c566a2db3d6d43f765a25cce
7
+ data.tar.gz: 346b28711b2da3ef615fc8da3f46b26dfe078924cb8012c35d8e789d517d2d9e1a77cbb6feb399a380f8d14bcc877c5d724470c7cc8b0594ea2612a257e85ca7
@@ -71,6 +71,8 @@
71
71
 
72
72
  # Files matching particular patterns can be changed on the fly
73
73
  :file_renaming_patterns:
74
+ # Specific .gitignore file for Windows
75
+ ^(.+)\.zzzgitignore\.erb$: '\1.gitignore'
74
76
  # Erb files
75
77
  ^(.+)\.erb$: '\1'
76
78
 
@@ -0,0 +1,12 @@
1
+ PowerStencil plugins
2
+ ====================
3
+
4
+
5
+ In this directory, you can define project specific local plugins.
6
+ You should create them using the `PowerStencil` command-line.
7
+
8
+ $ power_stencil new-plugin myplugin
9
+
10
+ __It is strongly advised to keep this directory under source control__
11
+
12
+ This should be the PowerStencil default behaviour.
@@ -1,12 +1,10 @@
1
- PowerStencil project templates
2
- ==============================
1
+ PowerStencil project templates templates
2
+ ========================================
3
3
 
4
4
 
5
- In this directory, you can define project specific templates for entities
6
- defined locally in this project.
5
+ In this directory, you can define project specific templates for entity types defined locally in this project.
7
6
 
8
- Templates can be a whole tree structure in a directory named from the entity
9
- type of entities you defined in `entity_definitions` folder that are `buildable`.
7
+ Templates can be a whole tree structure in a directory named from the entity type of entities you defined in `entity_definitions` folder that are `buildable`.
10
8
 
11
9
  __It is strongly advised to keep this directory under source control__
12
10
 
@@ -59,7 +59,7 @@ module PowerStencil
59
59
  unless files_not_to_rename.ignore_file? src_file
60
60
  config[:file_renaming_patterns].each do |regexp_str, replacement|
61
61
  regexp = Regexp.new regexp_str
62
- next if (dest_file =~ regexp).nil?
62
+ next if (src_file =~ regexp).nil?
63
63
  dest_file = dest_file.gsub regexp, replacement
64
64
  break
65
65
  end
@@ -12,7 +12,7 @@ module PowerStencil
12
12
  # Dir.glob_with_ignore_file ignore_file, base_dir, *glob_args, &block
13
13
  file_pattern = "#{source}/**/*"
14
14
  res = {}
15
- Dir.glob_with_ignore_file ignore_files_pattern, source, file_pattern, File::FNM_DOTMATCH do |original_file|
15
+ Dir.glob_with_ignore_file(ignore_files_pattern, source, file_pattern, File::FNM_DOTMATCH).sort.each do |original_file|
16
16
  logger.debug "Processing '#{original_file}'"
17
17
  res[original_file] = destination_file(original_file, source, destination)
18
18
  if block_given?
@@ -25,14 +25,21 @@ module PowerStencil
25
25
  def securely_edit_entity(entity, &modifications_validation_block)
26
26
  initial_uri = entity.source_uri
27
27
  modified_entity = nil
28
- Tempfile.create(["#{entity.type.to_s}_#{entity.name.to_s}", '.yaml']) do |tmpfile|
28
+ tmpfile = Tempfile.create(["#{entity.type.to_s}_#{entity.name.to_s}", '.yaml'])
29
+ tmpfile_path = tmpfile.path
30
+ begin
29
31
  tmpfile.puts entity.to_yaml
30
32
  tmpfile.flush
31
- securely_edit_file(tmpfile, &modifications_validation_block)
32
- modified_entity = UniverseCompiler::Entity::Persistence.load tmpfile
33
- modified_entity.source_uri = initial_uri
33
+ ensure
34
+ tmpfile.close
34
35
  end
36
+ securely_edit_file(tmpfile_path, &modifications_validation_block)
37
+ modified_entity = UniverseCompiler::Entity::Persistence.load tmpfile_path
38
+ modified_entity.source_uri = initial_uri
35
39
  return modified_entity
40
+ ensure
41
+ tmpfile.close
42
+ File.unlink tmpfile
36
43
  end
37
44
 
38
45
  def securely_edit_file(file, &modifications_validation_block)
@@ -41,7 +48,9 @@ module PowerStencil
41
48
  end
42
49
  ext = File.extname file
43
50
  base = File.basename file, ext
44
- tmp_file_path = Tempfile.new([base, ext]).path
51
+ tmp_file = Tempfile.create([base, ext])
52
+ tmp_file_path = tmp_file.path
53
+ tmp_file.close
45
54
  retry_count = 1
46
55
  begin
47
56
  FileUtils.copy file, tmp_file_path if retry_count == 1
@@ -1,3 +1,3 @@
1
1
  module PowerStencil
2
- VERSION = '0.4.9'.freeze
2
+ VERSION = '0.4.14'.freeze
3
3
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = %q{PowerStencil is the Swiss-army knife templating workflow for developers and ops.}
13
13
  spec.description = %q{PowerStencil is the Swiss-army knife templating workflow for developers and ops.}
14
- spec.homepage = 'https://gitlab.com/tools4devops/power_stencil'
14
+ spec.homepage = 'https://powerstencil.brizone.org/'
15
15
  spec.license = 'MIT'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -30,10 +30,13 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency 'universe_compiler', '~> 0.4.3'
31
31
  spec.add_dependency 'pry'
32
32
 
33
+ source_code_uri = 'https://gitlab.com/tools4devops/power_stencil'
34
+
33
35
  spec.metadata = {
34
- "Bug Tracker" => "#{spec.homepage}/issues",
35
- "Documentation" => "#{spec.homepage}/blob/master/README.md",
36
- "Project Website" => "https://powerstencil.brizone.org"
36
+ 'bug_tracker_uri' => "#{source_code_uri}/issues",
37
+ 'documentation_uri' => "#{source_code_uri}/blob/master/README.md",
38
+ 'source_code_uri' => source_code_uri,
39
+ 'homepage_uri' => spec.homepage
37
40
  }
38
41
 
39
42
  spec.post_install_message = %Q{
@@ -43,7 +46,8 @@ If your shell is not completing the command:
43
46
  If you use rbenv: `rbenv rehash`
44
47
  If you use zsh : `rehash`
45
48
 
46
- Full documentation here : #{spec.homepage}/blob/master/README.md
47
- Feel free to report issues: #{spec.homepage}/issues
49
+ Official Website : #{spec.homepage}
50
+ Full documentation here : #{spec.metadata['source_code_uri']}/blob/master/README.md
51
+ Feel free to report issues: #{spec.metadata['source_code_uri']}/issues
48
52
  }
49
53
  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.4.9
4
+ version: 0.4.14
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-09-28 00:00:00.000000000 Z
11
+ date: 2019-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -171,18 +171,19 @@ files:
171
171
  - etc/templates/plugin_definition/spec/spec_helper.rb
172
172
  - etc/templates/plugin_definition/spec/{entity}_spec.rb
173
173
  - etc/templates/project/.copy_ignore
174
- - etc/templates/project/.gitignore.erb
175
174
  - etc/templates/project/.ps_project/entities/.gitkeep
176
175
  - etc/templates/project/.ps_project/entities/README.md
177
176
  - etc/templates/project/.ps_project/entity_definitions/.gitkeep
178
177
  - etc/templates/project/.ps_project/entity_definitions/README.md
179
178
  - etc/templates/project/.ps_project/personal-config.yaml
180
179
  - etc/templates/project/.ps_project/plugins/.gitkeep
180
+ - etc/templates/project/.ps_project/plugins/README.md
181
181
  - etc/templates/project/.ps_project/templates-templates/.gitkeep
182
182
  - etc/templates/project/.ps_project/templates-templates/README.md
183
183
  - etc/templates/project/.ps_project/user_entities/.gitkeep
184
184
  - etc/templates/project/.ps_project/user_entities/README.md
185
185
  - etc/templates/project/.ps_project/versioned-config.yaml
186
+ - etc/templates/project/.zzzgitignore.erb
186
187
  - etc/templates/simple_exec/main.sh
187
188
  - exe/power_stencil
188
189
  - lib/power_stencil.rb
@@ -250,18 +251,20 @@ files:
250
251
  - lib/power_stencil/utils/semantic_version.rb
251
252
  - lib/power_stencil/version.rb
252
253
  - power_stencil.gemspec
253
- homepage: https://gitlab.com/tools4devops/power_stencil
254
+ homepage: https://powerstencil.brizone.org/
254
255
  licenses:
255
256
  - MIT
256
257
  metadata:
257
- Bug Tracker: https://gitlab.com/tools4devops/power_stencil/issues
258
- Documentation: https://gitlab.com/tools4devops/power_stencil/blob/master/README.md
259
- Project Website: https://powerstencil.brizone.org
260
- post_install_message: "\nThank you for installing PowerStencil 0.4.9 !\nFrom the command
261
- line you can run `power_stencil --help`\nIf your shell is not completing the command:\n
262
- \ If you use rbenv: `rbenv rehash`\n If you use zsh : `rehash`\n\nFull documentation
263
- here : https://gitlab.com/tools4devops/power_stencil/blob/master/README.md\nFeel
264
- free to report issues: https://gitlab.com/tools4devops/power_stencil/issues\n "
258
+ bug_tracker_uri: https://gitlab.com/tools4devops/power_stencil/issues
259
+ documentation_uri: https://gitlab.com/tools4devops/power_stencil/blob/master/README.md
260
+ source_code_uri: https://gitlab.com/tools4devops/power_stencil
261
+ homepage_uri: https://powerstencil.brizone.org/
262
+ post_install_message: "\nThank you for installing PowerStencil 0.4.14 !\nFrom the
263
+ command line you can run `power_stencil --help`\nIf your shell is not completing
264
+ the command:\n If you use rbenv: `rbenv rehash`\n If you use zsh : `rehash`\n\nOfficial
265
+ Website : https://powerstencil.brizone.org/\nFull documentation here :
266
+ https://gitlab.com/tools4devops/power_stencil/blob/master/README.md\nFeel free to
267
+ report issues: https://gitlab.com/tools4devops/power_stencil/issues\n "
265
268
  rdoc_options: []
266
269
  require_paths:
267
270
  - lib