whisk 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.
data/README.md CHANGED
@@ -19,7 +19,11 @@ whisk.rb file.
19
19
 
20
20
  bowl "production" do
21
21
  path cb_path % name
22
- ingredient "ntp", :source github % "ntp"
22
+
23
+ ingredient "ntp",
24
+ :source => github % "ntp",
25
+ :options => { :ref => 'master' }
26
+
23
27
  end
24
28
 
25
29
 
data/bin/whisk CHANGED
@@ -31,7 +31,13 @@ logger.formatter = Whisk::Log.logger.formatter
31
31
  Whisk::Log::Formatter.show_time = false
32
32
  Whisk::Log.loggers << logger
33
33
 
34
- whiskfile = File.join(ENV['HOME'], '.chef', 'whisk.rb')
34
+ if File.exists?("Whiskfile")
35
+ whiskfile = "Whiskfile"
36
+ else
37
+ whiskfile = File.join(ENV['HOME'], '.chef', 'whisk.rb')
38
+ end
39
+
40
+ Whisk::Log.info "Loading configuration from Whiskfile: #{whiskfile}"
35
41
 
36
42
  Whisk::Config.from_file(whiskfile)
37
43
 
data/lib/whisk/bowl.rb CHANGED
@@ -22,11 +22,11 @@ require 'whisk/ingredient'
22
22
 
23
23
  class Whisk
24
24
  class Bowl
25
- attr_accessor :name, :path, :ingredients
25
+ attr_accessor :name, :ingredients
26
26
 
27
27
  def initialize(name, path=nil, &block)
28
28
  @name = name
29
- @path = path
29
+ @path = File.join(Dir.getwd, name)
30
30
  @ingredients = {}
31
31
 
32
32
  instance_eval(&block) if block_given?
@@ -52,8 +52,8 @@ class Whisk
52
52
  end
53
53
  end
54
54
 
55
- def create
56
- unless File.exists? path
55
+ def create!
56
+ if not path.nil? and Dir.exists? path
57
57
  begin
58
58
  Whisk::Log.info "creating bowl '#{name}' with path #{path}"
59
59
  ::FileUtils.mkdir_p path
@@ -64,16 +64,16 @@ class Whisk
64
64
  end
65
65
 
66
66
  def prepare
67
- self.create unless File.exists? path
67
+ self.create!
68
68
  ::Dir.chdir path
69
69
 
70
70
  Whisk::Log.info "preparing bowl '#{name}' with path #{path}"
71
71
 
72
- ingredients.keys.each do |i|
72
+ ingredients.each do |name, ingredient|
73
73
  begin
74
- ingredients[i].prepare
74
+ ingredient.prepare
75
75
  rescue Exception => e
76
- Whisk::Log.error "failed fetching ingredient #{i}! bailing"
76
+ Whisk::Log.error "failed fetching ingredient #{name}! bailing"
77
77
  raise
78
78
  exit 1
79
79
  end
@@ -34,7 +34,7 @@ class Whisk
34
34
 
35
35
  def checkout(ref="master")
36
36
  Whisk::Log.info "checking out ref '#{ref}' for ingredient #{self.name}"
37
- shell_out("git checkout #{ref}")
37
+ shell_out("git checkout #{ref}", :cwd => self.name)
38
38
  end
39
39
 
40
40
  def post_fetch
data/lib/whisk/version.rb CHANGED
@@ -17,5 +17,5 @@
17
17
  #
18
18
 
19
19
  class Whisk
20
- VERSION = '0.0.3'
20
+ VERSION = '0.0.4'
21
21
  end
metadata CHANGED
@@ -1,123 +1,91 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: whisk
3
- version: !ruby/object:Gem::Version
4
- hash: 25
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 3
10
- version: 0.0.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Mathieu Sauve-Frankel
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-02-10 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-06-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: mixlib-log
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &7955580 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 27
29
- segments:
30
- - 1
31
- - 3
32
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
33
21
  version: 1.3.0
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: mixlib-shellout
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *7955580
25
+ - !ruby/object:Gem::Dependency
26
+ name: mixlib-shellout
27
+ requirement: &7954280 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 15424055
45
- segments:
46
- - 1
47
- - 0
48
- - 0
49
- - rc
50
- - 1
51
- version: 1.0.0.rc.1
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.0
52
33
  type: :runtime
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: rspec
56
34
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *7954280
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &7951860 !ruby/object:Gem::Requirement
58
39
  none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- hash: 3
63
- segments:
64
- - 0
65
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
66
44
  type: :development
67
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *7951860
68
47
  description: A simple Chef cookbook dependency manager
69
48
  email: msf@kisoku.net
70
- executables:
49
+ executables:
71
50
  - whisk
72
51
  extensions: []
73
-
74
52
  extra_rdoc_files: []
75
-
76
- files:
53
+ files:
77
54
  - LICENSE
78
55
  - README.md
79
- - lib/whisk.rb
56
+ - lib/whisk/version.rb
57
+ - lib/whisk/bowl.rb
58
+ - lib/whisk/ingredient.rb
80
59
  - lib/whisk/mixin/shellout.rb
81
- - lib/whisk/config.rb
82
60
  - lib/whisk/flavour/git.rb
83
- - lib/whisk/bowl.rb
84
61
  - lib/whisk/flavours.rb
62
+ - lib/whisk/config.rb
85
63
  - lib/whisk/log.rb
86
- - lib/whisk/version.rb
87
- - lib/whisk/ingredient.rb
64
+ - lib/whisk.rb
88
65
  - bin/whisk
89
66
  homepage: http://github.com/kisoku/whisk
90
67
  licenses: []
91
-
92
68
  post_install_message:
93
69
  rdoc_options: []
94
-
95
- require_paths:
70
+ require_paths:
96
71
  - lib
97
- required_ruby_version: !ruby/object:Gem::Requirement
72
+ required_ruby_version: !ruby/object:Gem::Requirement
98
73
  none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- hash: 3
103
- segments:
104
- - 0
105
- version: "0"
106
- required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
79
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- hash: 3
112
- segments:
113
- - 0
114
- version: "0"
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
115
84
  requirements: []
116
-
117
85
  rubyforge_project:
118
- rubygems_version: 1.8.10
86
+ rubygems_version: 1.8.15
119
87
  signing_key:
120
88
  specification_version: 3
121
89
  summary: A simple Chef cookbook dependency manager
122
90
  test_files: []
123
-
91
+ has_rdoc: