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 +1 -0
- data/History.md +4 -0
- data/README.md +12 -0
- data/Rakefile +5 -1
- data/aruba.gemspec +1 -1
- data/features/{before_run_hooks.feature → before_cmd_hooks.feature} +3 -3
- data/lib/aruba/api.rb +2 -2
- data/lib/aruba/config.rb +4 -4
- data/spec/aruba/hooks_spec.rb +18 -0
- metadata +128 -80
data/.travis.yml
CHANGED
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
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.
|
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:
|
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.
|
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.
|
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(:
|
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
|
11
|
-
@hooks.append(:
|
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
|
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
|
-
|
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
|
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
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
85
|
+
version_requirements: *id004
|
86
|
+
name: rspec
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
type: :development
|
59
89
|
prerelease: false
|
60
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
92
|
-
|
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
|
-
|
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/
|
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
|
-
|
155
|
-
segments:
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
hash: 3
|
201
|
+
segments:
|
156
202
|
- 0
|
157
|
-
|
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
|
-
|
164
|
-
segments:
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
hash: 3
|
210
|
+
segments:
|
165
211
|
- 0
|
166
|
-
|
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.
|
173
|
-
test_files:
|
174
|
-
- features/
|
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
|