knife-undev 0.0.6 → 0.0.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: 02ccb6e7f71681b5e3e49b7286f6729d5c8ee2f5
4
- data.tar.gz: db8802d7842b2e8f680ac46ce6510506ee1eb100
3
+ metadata.gz: be0a0d743a484ec9a8693fd64610ccd847fb1f4c
4
+ data.tar.gz: ba5ea1dfbeb9b2b17023ae42f7573e931ab5aa95
5
5
  SHA512:
6
- metadata.gz: 1e7ee83e8c6bae0314940dcdbe584016e5171af96de2e9625a4ded52f5cfc3b1fe9d889ee54719fb849352869fdbb37ae7fff4c2f1322cbce8e52a7b13e4c575
7
- data.tar.gz: 713083287a2c317f36fe5e8940d77d0bc038f2ccc79a35ccd87e3c1b04c5c0e05b3a538150bf9453f72a79ade7fec823da87c321a9aa9353e18ac290bb1fa0ef
6
+ metadata.gz: c895a81c0bd2ca4f11e982d6f8711772d7acb77ad64ed576ba901f97e06b06efb2dbeba6d2f709cc64a8eb1d8452ae8ab526de7de616a36b44833ef61b6865b3
7
+ data.tar.gz: 2b4cd515fc25a65e96d59594d114c692ccbc90a7b9274d278fbb90cc0ae65259a9f0f7e5aafdece38d0b8dabc7c40325a405a32db43a16efa7152664216cf3cd
data/knife-undev.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "chef"
22
22
  spec.add_dependency "trollop"
23
+ spec.add_dependency "activesupport"
23
24
 
24
25
  spec.add_development_dependency "bundler", "~> 1.3"
25
26
  spec.add_development_dependency "rake"
@@ -5,13 +5,19 @@ require 'chef/environment'
5
5
  module Knife
6
6
  module Undev
7
7
  class Converter
8
-
8
+
9
9
  def initialize(filename, klass = 'role')
10
10
  @filename = filename
11
11
  @klass = klass
12
12
  @comment_counter = 0
13
13
  end
14
14
 
15
+ def stringify_keys(obj)
16
+ return obj.inject({}){|memo,(k,v)| memo[k.to_s] = stringify_keys(v); memo} if obj.is_a? Hash
17
+ return obj.inject([]){|memo,v | memo << stringify_keys(v); memo} if obj.is_a? Array
18
+ obj
19
+ end
20
+
15
21
  def to_yml
16
22
  case @klass
17
23
  when 'env'
@@ -32,7 +38,7 @@ module Knife
32
38
  def role_to_yml
33
39
  r = Chef::Role.new
34
40
  r.from_file(@filename)
35
- hash = r.to_hash.dup
41
+ hash = stringify_keys(r.to_hash)
36
42
  result_hash = Hash.new
37
43
  hash.delete('chef_type')
38
44
  hash.delete('json_class')
@@ -46,7 +52,7 @@ module Knife
46
52
  result_hash.merge(hash).to_yaml.each_line do |line|
47
53
  puts '' if line.match /#comment_\d+/
48
54
  next if line.match /#comment_\d+/
49
- next if line == '---'
55
+ next if line.match '^---'
50
56
  puts line
51
57
  end
52
58
  end
@@ -54,7 +60,7 @@ module Knife
54
60
  def env_to_yml
55
61
  r = Chef::Environment.new
56
62
  r.from_file(@filename)
57
- hash = r.to_hash.dup
63
+ hash = stringify_keys(r.to_hash)
58
64
  hash.delete('chef_type')
59
65
  hash.delete('json_class')
60
66
  safe_delete(hash, 'override_attributes')
@@ -62,11 +68,11 @@ module Knife
62
68
  safe_delete(hash, 'cookbook_versions')
63
69
  safe_delete(hash, 'description')
64
70
  hash.to_yaml.each_line do |line|
65
- next if line == '---'
71
+ next if line.match '^---'
66
72
  puts line
67
73
  end
68
74
  end
69
-
75
+
70
76
  end
71
77
  end
72
78
  end
@@ -1,5 +1,5 @@
1
1
  module Knife
2
2
  module Undev
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-undev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vasiliev Dmitry
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement