Module: Dry::Monads::RSpec Private

Defined in:
lib/dry/monads/extensions/rspec.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

API:

  • private

Defined Under Namespace

Modules: Matchers

Constant Summary collapse

Constructors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

CONSTANTS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

%i[Success Failure Some None List].to_set
NESTED_CONSTANTS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

CONSTANTS.to_set { |c| "::#{c}" }

Class Method Summary collapse

Class Method Details

.name_to_const(name) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/dry/monads/extensions/rspec.rb', line 149

def name_to_const(name)
  case name
  in :Success
    ::Dry::Monads::Result::Success
  in :Failure
    ::Dry::Monads::Result::Failure
  in :Some
    ::Dry::Monads::Maybe::Some
  in :None
    ::Dry::Monads::Maybe::None
  in :List
    ::Dry::Monads::List
  end
end

.resolve_constant_name(name) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



139
140
141
142
143
144
145
146
147
# File 'lib/dry/monads/extensions/rspec.rb', line 139

def resolve_constant_name(name)
  if CONSTANTS.include?(name)
    name
  elsif NESTED_CONSTANTS.any? { |c| name.to_s.end_with?(c) }
    name[/::(\w+)$/, 1].to_sym
  else
    nil
  end
end

.rspec_example_context?(location) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

API:

  • private



164
165
166
167
168
169
# File 'lib/dry/monads/extensions/rspec.rb', line 164

def rspec_example_context?(location)
  example_group_instance = ::RSpec.current_example&.example_group_instance
  return false unless example_group_instance

  spec_example_block?(location) || example_group_method?(example_group_instance, location)
end