Module: RSpec::SleepingKingStudios::Deferred::Dsl::SharedExamples::Macros

Included in:
RSpec::SleepingKingStudios::Deferred::Dsl::SharedExamples
Defined in:
lib/rspec/sleeping_king_studios/deferred/dsl/shared_examples.rb

Overview

Meta-methods for defining deferred examples.

Instance Method Summary collapse

Instance Method Details

#define_included_examples_method(method_name) ⇒ void

This method returns an undefined value.

Registers a method for deferring including a shared example group.

Parameters:

  • method_name (String, Symbol)

    the name of the deferred method.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rspec/sleeping_king_studios/deferred/dsl/shared_examples.rb', line 17

def define_included_examples_method(method_name) # rubocop:disable Metrics/MethodLength
  define_method(method_name) do |name, *args, **kwargs, &block|
    deferred_calls <<
      RSpec::SleepingKingStudios::Deferred::Calls::IncludedExamples.new(
        method_name,
        name,
        *args,
        **kwargs,
        &block
      )

    nil
  end
end

#define_shared_examples_method(method_name) ⇒ void

This method returns an undefined value.

Registers a method for deferring a shared example group.

Parameters:

  • method_name (String, Symbol)

    the name of the deferred method.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/rspec/sleeping_king_studios/deferred/dsl/shared_examples.rb', line 37

def define_shared_examples_method(method_name) # rubocop:disable Metrics/MethodLength
  define_method(method_name) do |name, *args, **kwargs, &block|
    deferred_calls <<
      RSpec::SleepingKingStudios::Deferred::Calls::SharedExamples.new(
        method_name,
        name,
        *args,
        **kwargs,
        &block
      )

    nil
  end
end