knife-undev 0.0.6 → 0.0.7

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: 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