Module: RSpec::SleepingKingStudios::Deferred::Dependencies::ClassMethods

Defined in:
lib/rspec/sleeping_king_studios/deferred/dependencies.rb

Overview

Class methods for declaring dependent methods.

Instance Method Summary collapse

Instance Method Details

#call(example_group) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/rspec/sleeping_king_studios/deferred/dependencies.rb', line 44

def call(example_group)
  super

   = :deferred_dependencies_check_added

  return if example_group.[]

  example_group.[] = true

  example_group.before(:context) do
    RSpec::SleepingKingStudios::Deferred::Dependencies
      .check_dependencies_for(self)
  end
end

#dependent_methodsObject



60
61
62
# File 'lib/rspec/sleeping_king_studios/deferred/dependencies.rb', line 60

def dependent_methods
  @dependent_methods ||= []
end

#depends_on(method_name, description = nil) ⇒ void

This method returns an undefined value.

Declares an external method dependency.

Parameters:

  • method_name (String, Symbol)

    the name of the expected method.

  • description (String) (defaults to: nil)

    a short description of the method.



70
71
72
73
74
75
76
77
78
# File 'lib/rspec/sleeping_king_studios/deferred/dependencies.rb', line 70

def depends_on(method_name, description = nil)
  dependent_methods << {
    deferred_group: self,
    description:,
    method_name:    method_name.to_s.sub(/\A#/, '').intern
  }

  nil
end