Class: ConvenientService::RSpec::Matchers::Classes::IncludeConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/convenient_service/rspec/matchers/classes/include_config.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ IncludeConfig

Returns a new instance of IncludeConfig.

Parameters:

  • config (Module)


16
17
18
# File 'lib/convenient_service/rspec/matchers/classes/include_config.rb', line 16

def initialize(config)
  @config = config
end

Instance Method Details

#descriptionString

Returns:

  • (String)


40
41
42
# File 'lib/convenient_service/rspec/matchers/classes/include_config.rb', line 40

def description
  "include config `#{config.inspect}`"
end

#failure_messageString

Returns:

  • (String)


47
48
49
# File 'lib/convenient_service/rspec/matchers/classes/include_config.rb', line 47

def failure_message
  "expected `#{klass.inspect}` to include config `#{config.inspect}`"
end

#failure_message_when_negatedString

Returns:

  • (String)


54
55
56
# File 'lib/convenient_service/rspec/matchers/classes/include_config.rb', line 54

def failure_message_when_negated
  "expected `#{klass.inspect}` NOT to include config `#{config.inspect}`"
end

#matches?(klass) ⇒ Boolean

rubocop:disable Performance/RedundantEqualityComparisonBlock

Parameters:

  • klass (Class)

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/convenient_service/rspec/matchers/classes/include_config.rb', line 30

def matches?(klass)
  @klass = klass

  klass.ancestors.drop_while { |ancestor| ancestor != klass }.any? { |mod| config == mod }
end