bocuse 0.1.1 → 0.1.2

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.
@@ -1,3 +1,5 @@
1
+ require 'blankslate'
2
+
1
3
  module Bocuse
2
4
 
3
5
  # This is the core class of bocuse.
@@ -9,7 +11,10 @@ module Bocuse
9
11
  # It will mainly return proxies that will lodge themselves in its internal
10
12
  # hash. The proxies usually represent an internal hash value.
11
13
  #
12
- class Configuration
14
+ class Configuration < BlankSlate
15
+
16
+ reveal :respond_to?
17
+ reveal :send
13
18
 
14
19
  attr_reader :store,
15
20
  :unresolved_block
@@ -10,7 +10,7 @@ describe "CLI:" do
10
10
  compiled = MultiJson.load(`#{project_path('bin/bocuse')} \
11
11
  compile complex.production.example.com`)
12
12
  compiled.size.should == 3
13
- compiled['recipes'].should == ['nginx', 'git', 'app::install', 'app::deploy'];
13
+ compiled['recipes'].should == ['nginx', 'git', 'app::install', 'app::deploy', 'my_service'];
14
14
  compiled['key_location'].should match(%r{spec/files/complex/config/nodes/production/key.txt$})
15
15
  end
16
16
  end
@@ -38,21 +38,21 @@ describe Bocuse::Configuration do
38
38
 
39
39
  configuration.something.to_h.should == 'value' # <= This is the tested getter.
40
40
  end
41
- it 'is modifiable in place' do
41
+ it 'is modifiable in place (#<<)' do
42
42
  something = configuration.something
43
43
 
44
44
  something << "hello"
45
45
 
46
46
  configuration.something.to_h.should == ["hello"]
47
47
  end
48
- it 'is modifiable in place' do
48
+ it 'is modifiable in place (#[])' do
49
49
  something = configuration.something
50
50
 
51
51
  something[:key] = "value"
52
52
 
53
53
  configuration.something.to_h.should == { :key => 'value' }
54
54
  end
55
- it 'is modifiable in place' do
55
+ it 'is modifiable in place (#=)' do
56
56
  something = configuration.something
57
57
 
58
58
  something[:key] = nil # Explicit nil.
@@ -145,4 +145,10 @@ describe Bocuse::Configuration do
145
145
  dup[:baz].should == 'this is new'
146
146
  end
147
147
  end
148
+ describe "method name edge cases" do
149
+ it "allows #method as a key" do
150
+ configuration.method :foo
151
+ configuration.to_h.should == { method: :foo }
152
+ end
153
+ end
148
154
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bocuse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-06 00:00:00.000000000 Z
14
+ date: 2012-09-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rspec
@@ -109,6 +109,22 @@ dependencies:
109
109
  - - ~>
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0.15'
112
+ - !ruby/object:Gem::Dependency
113
+ name: blankslate
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - '='
118
+ - !ruby/object:Gem::Version
119
+ version: 3.1.2
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - '='
126
+ - !ruby/object:Gem::Version
127
+ version: 3.1.2
112
128
  description: ! " bocuse teaches chef-solo a few tricks. A strict front-end to chef-solo,
113
129
  \n it reads a configuration syntax that is under source control and \n generates
114
130
  JSON for chef-solo.\n\n This library puts the full power of Ruby at your fingertips