knife-undev 0.0.3 → 0.0.4

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: 22d3206420fd2f88cf95c0b160dca6abbce60ca9
4
- data.tar.gz: 726ddfca3599a27a07da4d2e105dcb5b8e5b6d3a
3
+ metadata.gz: ca04a83132b4acf4ab9dff31685a44a9250c6637
4
+ data.tar.gz: 03d189c3f30bce8b449671bf73f55e12d5d5159c
5
5
  SHA512:
6
- metadata.gz: ce51b8bcab4cc61a7eba6cfdd2326507adaccfd9ad4d1a3048bd64098bcf4800a8e200ca81ba2fe152253cc8f5256a8aae1f1721e04350b9f2ab0635adf65d96
7
- data.tar.gz: 0ca1ed9853dd14b2f6d0f0f701a13911005b0d42ab0b37f537d49b233304f323acd1b5aa47895124b6d403572af34479c02a60933ed80cf49c06392da2f4f2dc
6
+ metadata.gz: 8a942a39807dfe9abd63550510a0fd4128206fe79b4b52675f7edb11b6278ed5696c7801e98d306ae15595299e912a9c8d61b6c4dd7de00cc94824bf6550a631
7
+ data.tar.gz: 66601c053a2b0b485c6c749a58122f5e205d10df6a73ad61834019eaa0896e012ed5a5592bf61d170a0e79eb5976c9494c9cc98de8f966ac90d5af48ea9b2f9c
data/bin/knife-undev CHANGED
@@ -8,6 +8,6 @@ require 'rubygems'
8
8
  require 'chef/application/knife'
9
9
 
10
10
  $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
11
- require 'knife/undev/monkey_patches/object_loader'
11
+ require 'knife/undev'
12
12
 
13
- Chef::Application::Knife.new.run
13
+ Chef::Application::Knife.new.run
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'trollop'
4
+
5
+ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
6
+ require 'knife/undev'
7
+ require 'knife/undev/converter'
8
+
9
+ opts = Trollop::options do
10
+ opt :file, "FileName", :type => :string
11
+ opt :class, "Chef class", :type => :string, :default => 'role'
12
+ end
13
+
14
+ Knife::Undev::Converter.new(opts[:file], opts[:class]).to_yml
data/knife-undev.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "chef"
22
+ spec.add_dependency "trollop"
22
23
 
23
24
  spec.add_development_dependency "bundler", "~> 1.3"
24
25
  spec.add_development_dependency "rake"
@@ -0,0 +1,57 @@
1
+ require 'yaml'
2
+ require 'chef/role'
3
+ require 'chef/environment'
4
+
5
+ module Knife
6
+ module Undev
7
+ class Converter
8
+
9
+ def initialize(filename, klass = 'role')
10
+ @filename = filename
11
+ @klass = klass
12
+ end
13
+
14
+ def to_yml
15
+ case @klass
16
+ when 'env'
17
+ env_to_yml
18
+ when 'role'
19
+ role_to_yml
20
+ end
21
+ end
22
+
23
+ def safe_delete(hash, key)
24
+ hash.delete(key) if hash[key].nil? || hash[key].empty?
25
+ end
26
+
27
+ def role_to_yml
28
+ r = Chef::Role.new
29
+ r.from_file(@filename)
30
+ hash = r.to_hash.dup
31
+ result_hash = Hash.new
32
+ hash.delete('chef_type')
33
+ hash.delete('json_class')
34
+ safe_delete(hash, 'override_attributes')
35
+ safe_delete(hash, 'run_list')
36
+ result_hash['name'] = hash.delete('name')
37
+ result_hash['description'] = hash.delete('description')
38
+ result_hash['env_run_lists'] = hash.delete('env_run_lists')
39
+ puts result_hash.merge(hash).to_yaml
40
+ end
41
+
42
+ def env_to_yml
43
+ r = Chef::Environment.new
44
+ r.from_file(@filename)
45
+ hash = r.to_hash.dup
46
+ hash.delete('chef_type')
47
+ hash.delete('json_class')
48
+ safe_delete(hash, 'override_attributes')
49
+ safe_delete(hash, 'default_attributes')
50
+ safe_delete(hash, 'cookbook_versions')
51
+ safe_delete(hash, 'description')
52
+ puts hash.to_yaml
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -1,5 +1,5 @@
1
1
  module Knife
2
2
  module Undev
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
data/lib/knife/undev.rb CHANGED
@@ -1,7 +1,2 @@
1
1
  require "knife/undev/version"
2
-
3
- module Knife
4
- module Undev
5
- # Your code goes here...
6
- end
7
- end
2
+ require "knife/undev/monkey_patches/object_loader"
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.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vasiliev Dmitry
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: trollop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -57,6 +71,7 @@ email:
57
71
  - vadv.mkn@gmail.com
58
72
  executables:
59
73
  - knife-undev
74
+ - knife-undev-converter
60
75
  extensions: []
61
76
  extra_rdoc_files: []
62
77
  files:
@@ -66,8 +81,10 @@ files:
66
81
  - README.md
67
82
  - Rakefile
68
83
  - bin/knife-undev
84
+ - bin/knife-undev-converter
69
85
  - knife-undev.gemspec
70
86
  - lib/knife/undev.rb
87
+ - lib/knife/undev/converter.rb
71
88
  - lib/knife/undev/monkey_patches/object_loader.rb
72
89
  - lib/knife/undev/version.rb
73
90
  homepage: ''