module RSpec::AdvancedSubject::ClassMethodExampleGroup
Public Class Methods
class_regex()
click to toggle source
# File lib/rspec-advanced_subject/class_method_example_group.rb, line 36 def self.class_regex /^\./ end
included(base)
click to toggle source
# File lib/rspec-advanced_subject/class_method_example_group.rb, line 12 def self.included(base) set_subject_proc(base.metadata) set_subject_method_name(base.metadata) base.subject do raise NotImplementedError if metadata[:with_args].nil? instance_eval &subject_proc end end
set_subject_method_name(metadata)
click to toggle source
# File lib/rspec-advanced_subject/class_method_example_group.rb, line 31 def self.set_subject_method_name(metadata) d = metadata[:description_args].first metadata[:subject_method_name] = d.gsub class_regex, "" end
set_subject_proc(metadata)
click to toggle source
# File lib/rspec-advanced_subject/class_method_example_group.rb, line 22 def self.set_subject_proc(metadata) metadata[:subject_proc] = proc do |x| described_class.send( subject_method_name, *subject_args ) end end
Public Instance Methods
subject_method_name()
click to toggle source
# File lib/rspec-advanced_subject/class_method_example_group.rb, line 44 def subject_method_name metadata[:subject_method_name] end
subject_proc()
click to toggle source
# File lib/rspec-advanced_subject/class_method_example_group.rb, line 40 def subject_proc metadata[:subject_proc] end