Method: Object#argv
- Defined in:
- lib/extensions/mspec/mspec/helpers/argv.rb
#argv(args) ⇒ Object
Convenience helper for altering ARGV. Saves the value of ARGV and sets it to args
. If a block is given, yields to the block and then restores the value of ARGV. The previously saved value of ARGV can be restored by passing :restore
. The former is useful in a single spec. The latter is useful in before/after actions. For example:
describe "This" do
before do
argv ['a', 'b']
end
after do
argv :restore
end
it "does something" do
# do something
end
end
describe "That" do
it "does something" do
argv ['a', 'b'] do
# do something
end
end
end
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/extensions/mspec/mspec/helpers/argv.rb', line 31 def argv(args) if args == :restore ARGV.replace(@__mspec_saved_argv__ || []) else @__mspec_saved_argv__ = ARGV ARGV.replace args if block_given? yield argv :restore end end end |