aruba 0.4.8 → 0.4.9

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ rvm:
2
2
  - 1.9.3
3
3
  - 1.9.2
4
4
  - 1.8.7
5
+ - ree
5
6
  # whitelist
6
7
  branches:
7
8
  only:
data/History.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [v0.4.9](https://github.com/cucumber/aruba/compare/v0.4.8...v0.4.9)
2
+ * Rename before_run hook to before_cmd (Matt Wynne)
3
+ * Fix 1.8.7 compatibility (#95 Dave Copeland)
4
+
1
5
  ## [v0.4.8](https://github.com/cucumber/aruba/compare/v0.4.7...v0.4.8)
2
6
 
3
7
  * Add before_run hook (Matt Wynne)
data/README.md CHANGED
@@ -75,6 +75,18 @@ To get more information on what Aruba is doing, use these tags:
75
75
  * `@announce-env` - See environment variables set by Aruba
76
76
  * `@announce` - Does all of the above
77
77
 
78
+ ### Adding Hooks
79
+
80
+ You can hook into Aruba's lifecycle just before it runs a command:
81
+
82
+ ```
83
+ Aruba.configure do |config|
84
+ config.before_cmd do |cmd|
85
+ puts "About to run '#{cmd}'
86
+ end
87
+ end
88
+ ```
89
+
78
90
  #### Keep files around with `@no-clobber`
79
91
 
80
92
  Aruba clobbers all files in its working directory before each scenario. -Unless you tag it with `@no-clobber`
data/Rakefile CHANGED
@@ -12,4 +12,8 @@ Cucumber::Rake::Task.new do |t|
12
12
  t.cucumber_opts = opts
13
13
  end
14
14
 
15
- task :default => :cucumber
15
+ task :spec do
16
+ sh('rspec --color')
17
+ end
18
+
19
+ task :default => [:spec, :cucumber]
data/aruba.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'aruba'
5
- s.version = '0.4.8'
5
+ s.version = '0.4.9'
6
6
  s.authors = ["Aslak Hellesøy", "David Chelimsky", "Mike Sassak", "Matt Wynne"]
7
7
  s.description = 'CLI Steps for Cucumber, hand-crafted for you in Aruba'
8
8
  s.summary = "aruba-#{s.version}"
@@ -1,4 +1,4 @@
1
- Feature: before_run hooks
1
+ Feature: before_cmd hooks
2
2
 
3
3
  You can configure Aruba to run blocks of code before it runs
4
4
  each command.
@@ -12,7 +12,7 @@ Feature: before_run hooks
12
12
  require 'aruba/api'
13
13
 
14
14
  Aruba.configure do |config|
15
- config.before_run do |cmd|
15
+ config.before_cmd do |cmd|
16
16
  puts "about to run `#{cmd}`"
17
17
  end
18
18
  end
@@ -36,7 +36,7 @@ Feature: before_run hooks
36
36
  require 'aruba/api'
37
37
 
38
38
  Aruba.configure do |config|
39
- config.before_run do |cmd|
39
+ config.before_cmd do |cmd|
40
40
  puts "I can see @your_context=#{@your_context}"
41
41
  end
42
42
  end
data/lib/aruba/api.rb CHANGED
@@ -258,8 +258,8 @@ module Aruba
258
258
  cmd = detect_ruby(cmd)
259
259
 
260
260
  in_current_dir do
261
- Aruba.config.hooks.execute(:before_run, cmd, self)
262
-
261
+ Aruba.config.hooks.execute(:before_cmd, self, cmd)
262
+
263
263
  announce_or_puts("$ cd #{Dir.pwd}") if @announce_dir
264
264
  announce_or_puts("$ #{cmd}") if @announce_cmd
265
265
 
data/lib/aruba/config.rb CHANGED
@@ -7,8 +7,8 @@ module Aruba
7
7
  end
8
8
 
9
9
  # Register a hook to be called before Aruba runs a command
10
- def before_run(&block)
11
- @hooks.append(:before_run, block)
10
+ def before_cmd(&block)
11
+ @hooks.append(:before_cmd, block)
12
12
  end
13
13
  end
14
14
 
@@ -24,7 +24,7 @@ module Aruba
24
24
  @store[label] << block
25
25
  end
26
26
 
27
- def execute(label, *args, context)
27
+ def execute(label, context, *args)
28
28
  @store[label].each do |block|
29
29
  context.instance_exec(*args, &block)
30
30
  end
@@ -41,4 +41,4 @@ module Aruba
41
41
  end
42
42
 
43
43
  self.config = Config.new
44
- end
44
+ end
@@ -0,0 +1,18 @@
1
+ require 'aruba/config'
2
+
3
+ describe Aruba::Hooks do
4
+ it 'executes a stored hook' do
5
+ hook_was_run = false
6
+ subject.append :hook_label, lambda { hook_was_run = true }
7
+ subject.execute :hook_label, self
8
+ hook_was_run.should be_true
9
+ end
10
+
11
+ it 'executes a stored hook that takes multiple arguments' do
12
+ hook_values = []
13
+ subject.append :hook_label, lambda { |a,b,c| hook_values = [a,b,c] }
14
+ subject.execute :hook_label, self, 1, 2, 3
15
+ hook_values.should == [1,2,3]
16
+ end
17
+
18
+ end
metadata CHANGED
@@ -1,102 +1,146 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: aruba
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.8
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 4
9
+ - 9
10
+ version: 0.4.9
6
11
  platform: ruby
7
- authors:
8
- - Aslak Hellesøy
12
+ authors:
13
+ - "Aslak Helles\xC3\xB8y"
9
14
  - David Chelimsky
10
15
  - Mike Sassak
11
16
  - Matt Wynne
12
17
  autorequire:
13
18
  bindir: bin
14
19
  cert_chain: []
15
- date: 2011-12-05 00:00:00.000000000 Z
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
18
- name: cucumber
19
- requirement: &2154130540 !ruby/object:Gem::Requirement
20
+
21
+ date: 2011-12-08 00:00:00 Z
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ type: :runtime
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
20
27
  none: false
21
- requirements:
22
- - - ! '>='
23
- - !ruby/object:Gem::Version
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 17
32
+ segments:
33
+ - 1
34
+ - 1
35
+ - 1
24
36
  version: 1.1.1
37
+ version_requirements: *id001
38
+ name: cucumber
39
+ - !ruby/object:Gem::Dependency
25
40
  type: :runtime
26
41
  prerelease: false
27
- version_requirements: *2154130540
28
- - !ruby/object:Gem::Dependency
29
- name: childprocess
30
- requirement: &2154129760 !ruby/object:Gem::Requirement
42
+ requirement: &id002 !ruby/object:Gem::Requirement
31
43
  none: false
32
- requirements:
33
- - - ! '>='
34
- - !ruby/object:Gem::Version
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ hash: 17
48
+ segments:
49
+ - 0
50
+ - 2
51
+ - 3
35
52
  version: 0.2.3
53
+ version_requirements: *id002
54
+ name: childprocess
55
+ - !ruby/object:Gem::Dependency
36
56
  type: :runtime
37
57
  prerelease: false
38
- version_requirements: *2154129760
39
- - !ruby/object:Gem::Dependency
40
- name: ffi
41
- requirement: &2154129000 !ruby/object:Gem::Requirement
58
+ requirement: &id003 !ruby/object:Gem::Requirement
42
59
  none: false
43
- requirements:
44
- - - =
45
- - !ruby/object:Gem::Version
60
+ requirements:
61
+ - - "="
62
+ - !ruby/object:Gem::Version
63
+ hash: 1
64
+ segments:
65
+ - 1
66
+ - 0
67
+ - 11
46
68
  version: 1.0.11
69
+ version_requirements: *id003
70
+ name: ffi
71
+ - !ruby/object:Gem::Dependency
47
72
  type: :runtime
48
73
  prerelease: false
49
- version_requirements: *2154129000
50
- - !ruby/object:Gem::Dependency
51
- name: rspec
52
- requirement: &2154144360 !ruby/object:Gem::Requirement
74
+ requirement: &id004 !ruby/object:Gem::Requirement
53
75
  none: false
54
- requirements:
55
- - - ! '>='
56
- - !ruby/object:Gem::Version
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ hash: 19
80
+ segments:
81
+ - 2
82
+ - 7
83
+ - 0
57
84
  version: 2.7.0
58
- type: :runtime
85
+ version_requirements: *id004
86
+ name: rspec
87
+ - !ruby/object:Gem::Dependency
88
+ type: :development
59
89
  prerelease: false
60
- version_requirements: *2154144360
61
- - !ruby/object:Gem::Dependency
62
- name: bcat
63
- requirement: &2154142940 !ruby/object:Gem::Requirement
90
+ requirement: &id005 !ruby/object:Gem::Requirement
64
91
  none: false
65
- requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ hash: 5
96
+ segments:
97
+ - 0
98
+ - 6
99
+ - 1
68
100
  version: 0.6.1
101
+ version_requirements: *id005
102
+ name: bcat
103
+ - !ruby/object:Gem::Dependency
69
104
  type: :development
70
105
  prerelease: false
71
- version_requirements: *2154142940
72
- - !ruby/object:Gem::Dependency
73
- name: rdiscount
74
- requirement: &2154141800 !ruby/object:Gem::Requirement
106
+ requirement: &id006 !ruby/object:Gem::Requirement
75
107
  none: false
76
- requirements:
77
- - - ! '>='
78
- - !ruby/object:Gem::Version
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ hash: 31
112
+ segments:
113
+ - 1
114
+ - 6
115
+ - 8
79
116
  version: 1.6.8
117
+ version_requirements: *id006
118
+ name: rdiscount
119
+ - !ruby/object:Gem::Dependency
80
120
  type: :development
81
121
  prerelease: false
82
- version_requirements: *2154141800
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: &2154141000 !ruby/object:Gem::Requirement
122
+ requirement: &id007 !ruby/object:Gem::Requirement
86
123
  none: false
87
- requirements:
88
- - - ! '>='
89
- - !ruby/object:Gem::Version
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ hash: 63
128
+ segments:
129
+ - 0
130
+ - 9
131
+ - 2
90
132
  version: 0.9.2
91
- type: :development
92
- prerelease: false
93
- version_requirements: *2154141000
133
+ version_requirements: *id007
134
+ name: rake
94
135
  description: CLI Steps for Cucumber, hand-crafted for you in Aruba
95
136
  email: cukes@googlegroups.com
96
137
  executables: []
138
+
97
139
  extensions: []
140
+
98
141
  extra_rdoc_files: []
99
- files:
142
+
143
+ files:
100
144
  - .document
101
145
  - .gitignore
102
146
  - .rvmrc
@@ -109,7 +153,7 @@ files:
109
153
  - aruba.gemspec
110
154
  - config/.gitignore
111
155
  - cucumber.yml
112
- - features/before_run_hooks.feature
156
+ - features/before_cmd_hooks.feature
113
157
  - features/exit_statuses.feature
114
158
  - features/file_system_commands.feature
115
159
  - features/flushing.feature
@@ -126,6 +170,7 @@ files:
126
170
  - lib/aruba/jruby.rb
127
171
  - lib/aruba/process.rb
128
172
  - lib/aruba/reporting.rb
173
+ - spec/aruba/hooks_spec.rb
129
174
  - templates/css/console.css
130
175
  - templates/css/filesystem.css
131
176
  - templates/css/pygments-autumn.css
@@ -141,37 +186,39 @@ files:
141
186
  - templates/main.erb
142
187
  homepage: http://github.com/cucumber/aruba
143
188
  licenses: []
189
+
144
190
  post_install_message:
145
- rdoc_options:
191
+ rdoc_options:
146
192
  - --charset=UTF-8
147
- require_paths:
193
+ require_paths:
148
194
  - lib
149
- required_ruby_version: !ruby/object:Gem::Requirement
195
+ required_ruby_version: !ruby/object:Gem::Requirement
150
196
  none: false
151
- requirements:
152
- - - ! '>='
153
- - !ruby/object:Gem::Version
154
- version: '0'
155
- segments:
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ hash: 3
201
+ segments:
156
202
  - 0
157
- hash: -1312847667383042518
158
- required_rubygems_version: !ruby/object:Gem::Requirement
203
+ version: "0"
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
205
  none: false
160
- requirements:
161
- - - ! '>='
162
- - !ruby/object:Gem::Version
163
- version: '0'
164
- segments:
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ hash: 3
210
+ segments:
165
211
  - 0
166
- hash: -1312847667383042518
212
+ version: "0"
167
213
  requirements: []
214
+
168
215
  rubyforge_project:
169
216
  rubygems_version: 1.8.10
170
217
  signing_key:
171
218
  specification_version: 3
172
- summary: aruba-0.4.8
173
- test_files:
174
- - features/before_run_hooks.feature
219
+ summary: aruba-0.4.9
220
+ test_files:
221
+ - features/before_cmd_hooks.feature
175
222
  - features/exit_statuses.feature
176
223
  - features/file_system_commands.feature
177
224
  - features/flushing.feature
@@ -180,3 +227,4 @@ test_files:
180
227
  - features/output.feature
181
228
  - features/step_definitions/aruba_dev_steps.rb
182
229
  - features/support/env.rb
230
+ - spec/aruba/hooks_spec.rb