aruba 0.4.8 → 0.4.9

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/.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