class Spectroscope::Example::Scope
Example::Scope
is used by Context
to create a shared scope for running examples.
Public Class Methods
new(group)
click to toggle source
@param [Context] group
# File lib/spectroscope/example.rb, line 182 def initialize(group) @_group = group extend group.scope #include group.scope #extend self @_let ||= {} end
Public Instance Methods
pending(message=nil)
click to toggle source
@raise [NotImplementedError] Example
is a “todo”.
# File lib/spectroscope/example.rb, line 193 def pending(message=nil) raise NotImplementedError.new(message) end
subject()
click to toggle source
Calls superclass method
# File lib/spectroscope/example.rb, line 200 def subject @_subject ||= ( if defined?(super) super || described_class.new else described_class.new end ) end
Private Instance Methods
described_class()
click to toggle source
@todo Maybe deprecate. It seems silly.
# File lib/spectroscope/example.rb, line 230 def described_class case @_group.subject when Class @_group.subject else raise NoMethodError, "undefined method `described_class` for #{self}" end end
method_missing(s, *a, &b)
click to toggle source
Handle implicit subject.
# File lib/spectroscope/example.rb, line 215 def method_missing(s, *a, &b) subject.__send__(s, *a, &b) # public_send end