Class: RSpec::Core::Example
- Inherits:
-
Object
- Object
- RSpec::Core::Example
- Defined in:
- lib/rspec/core/example.rb
Defined Under Namespace
Modules: Procsy
Instance Attribute Summary collapse
-
#example_group_instance ⇒ Object
readonly
Returns the value of attribute example_group_instance.
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
Instance Method Summary collapse
- #apply?(predicate, filters) ⇒ Boolean
- #around_hooks ⇒ Object
- #example_group ⇒ Object
- #fail_fast(reporter, exception) ⇒ Object
-
#initialize(example_group_class, desc, options, example_block = nil) ⇒ Example
constructor
A new instance of Example.
- #run(example_group_instance, reporter) ⇒ Object
- #set_exception(exception) ⇒ Object
Constructor Details
#initialize(example_group_class, desc, options, example_block = nil) ⇒ Example
Returns a new instance of Example.
15 16 17 18 19 20 |
# File 'lib/rspec/core/example.rb', line 15 def initialize(example_group_class, desc, , example_block=nil) @example_group_class, @options, @example_block = example_group_class, , example_block @metadata = @example_group_class..for_example(desc, ) @exception = nil @pending_declared_in_example = false end |
Instance Attribute Details
#example_group_instance ⇒ Object (readonly)
Returns the value of attribute example_group_instance.
5 6 7 |
# File 'lib/rspec/core/example.rb', line 5 def example_group_instance @example_group_instance end |
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata.
5 6 7 |
# File 'lib/rspec/core/example.rb', line 5 def @metadata end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/rspec/core/example.rb', line 5 def @options end |
Class Method Details
.delegate_to_metadata(*keys) ⇒ Object
7 8 9 10 11 |
# File 'lib/rspec/core/example.rb', line 7 def self.(*keys) keys.each do |key| define_method(key) {@metadata[key]} end end |
.procsy(metadata, &block) ⇒ Object
86 87 88 |
# File 'lib/rspec/core/example.rb', line 86 def self.procsy(, &block) Proc.new(&block).extend(Procsy).with() end |
Instance Method Details
#apply?(predicate, filters) ⇒ Boolean
30 31 32 33 |
# File 'lib/rspec/core/example.rb', line 30 def apply?(predicate, filters) @metadata.apply?(predicate, filters) || @example_group_class.apply?(predicate, filters) end |
#around_hooks ⇒ Object
26 27 28 |
# File 'lib/rspec/core/example.rb', line 26 def around_hooks @around_hooks ||= example_group.around_hooks_for(self) end |
#example_group ⇒ Object
22 23 24 |
# File 'lib/rspec/core/example.rb', line 22 def example_group @example_group_class end |
#fail_fast(reporter, exception) ⇒ Object
80 81 82 83 84 |
# File 'lib/rspec/core/example.rb', line 80 def fail_fast(reporter, exception) start(reporter) set_exception(exception) finish(reporter) end |
#run(example_group_instance, reporter) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/rspec/core/example.rb', line 37 def run(example_group_instance, reporter) @example_group_instance = example_group_instance @example_group_instance.example = self start(reporter) begin unless pending with_around_hooks do begin run_before_each @example_group_instance.instance_eval(&@example_block) rescue Pending::PendingDeclaredInExample => e @pending_declared_in_example = e. rescue Exception => e set_exception(e) ensure run_after_each end end end rescue Exception => e set_exception(e) ensure @example_group_instance.instance_variables.each do |ivar| @example_group_instance.instance_variable_set(ivar, nil) end @example_group_instance = nil begin assign_auto_description rescue Exception => e set_exception(e) end end finish(reporter) end |
#set_exception(exception) ⇒ Object
76 77 78 |
# File 'lib/rspec/core/example.rb', line 76 def set_exception(exception) @exception ||= exception end |