Module: RSpec::AdvancedSubject::ClassExampleGroup
- Extended by:
- CommonClassMethods
- Includes:
- CommonInstanceMethods
- Defined in:
- lib/rspec-advanced_subject/class_example_group.rb
Class Method Summary collapse
- .included(base) ⇒ Object
- .set_initialization_args(metadata) ⇒ Object
- .set_subject_class_proc(metadata) ⇒ Object
Instance Method Summary collapse
Methods included from CommonClassMethods
Methods included from CommonInstanceMethods
Class Method Details
.included(base) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/rspec-advanced_subject/class_example_group.rb', line 16 def self.included(base) set_subject_class_proc(base.) set_initialization_args(base.) base.subject do instance_eval &subject_class_proc end end |
.set_initialization_args(metadata) ⇒ Object
31 32 33 |
# File 'lib/rspec-advanced_subject/class_example_group.rb', line 31 def self.set_initialization_args() [:initialization_args] = .fetch(:with_args,[]) end |
.set_subject_class_proc(metadata) ⇒ Object
25 26 27 28 29 |
# File 'lib/rspec-advanced_subject/class_example_group.rb', line 25 def self.set_subject_class_proc() [:subject_class_proc] ||= proc do |x| described_class.new(*initialization_args) end end |
Instance Method Details
#initialization_args ⇒ Object
39 40 41 |
# File 'lib/rspec-advanced_subject/class_example_group.rb', line 39 def initialization_args .fetch(:initialization_args, Array.new) end |
#subject_class_proc ⇒ Object
35 36 37 |
# File 'lib/rspec-advanced_subject/class_example_group.rb', line 35 def subject_class_proc [:subject_class_proc] end |