Class: ConvenientService::RSpec::Matchers::Classes::Export

Inherits:
Object
  • Object
show all
Includes:
Support::DependencyContainer::Import
Defined in:
lib/convenient_service/rspec/matchers/classes/export.rb

Instance Method Summary collapse

Methods included from Support::Concern

included

Constructor Details

#initialize(slug, scope: constants.DEFAULT_SCOPE) ⇒ void

Parameters:

  • slug (Symbol, String)
  • scope (Symbol) (defaults to: constants.DEFAULT_SCOPE)


19
20
21
22
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 19

def initialize(slug, scope: constants.DEFAULT_SCOPE)
  @slug = slug
  @scope = scope
end

Instance Method Details

#descriptionString

Returns:

  • (String)


41
42
43
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 41

def description
  "export `#{slug}` with scope `#{scope}`"
end

#failure_messageString

Returns:

  • (String)


48
49
50
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 48

def failure_message
  "expected `#{container}` to export `#{slug}` with scope `#{scope}`"
end

#failure_message_when_negatedString

Returns:

  • (String)


55
56
57
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 55

def failure_message_when_negated
  "expected `#{container}` NOT to export `#{slug}` with scope `#{scope}`"
end

#matches?(container) ⇒ Boolean

Parameters:

  • container (Module)

Returns:

  • (Boolean)


28
29
30
31
32
33
34
35
36
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 28

def matches?(container)
  @container = container

  commands.AssertValidContainer.call(container: container)

  commands.AssertValidScope.call(scope: scope)

  Utils.to_bool(container.exported_methods.find_by(slug: slug, scope: scope))
end