module RSpec::AdvancedSubject::InstanceMethodExampleGroup
Public Class Methods
included(base)
click to toggle source
Calls superclass method
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 13 def self.included(base) set_subject_method_proc(base.metadata) set_subject_method_name(base.metadata) base.subject do if metadata[:with_args].nil? super() else callee end end end
instance_regex()
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 39 def self.instance_regex /^#/ end
set_subject_method_name(metadata)
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 34 def self.set_subject_method_name(metadata) d = metadata[:description_args].first metadata[:subject_method_name] = d.gsub instance_regex, "" end
set_subject_method_proc(metadata)
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 26 def self.set_subject_method_proc(metadata) metadata[:subject_method_proc] = Proc.new do |x| x.send( subject_method_name, *subject_args ) end end
Public Instance Methods
callee()
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 43 def callee instance_exec parent_callee, &subject_method_proc end
parent_callee()
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 47 def parent_callee instance_eval &subject_class_proc end
subject_method_name()
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 55 def subject_method_name metadata[:subject_method_name] end
subject_method_proc()
click to toggle source
# File lib/rspec-advanced_subject/instance_method_example_group.rb, line 51 def subject_method_proc metadata[:subject_method_proc] end