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

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

Instance Method Summary collapse

Constructor Details

#initialize(slug, scope: Support::DependencyContainer::Constants::DEFAULT_SCOPE) ⇒ void

Parameters:

  • slug (Symbol, String)
  • scope (Symbol) (defaults to: Support::DependencyContainer::Constants::DEFAULT_SCOPE)


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

def initialize(slug, scope: Support::DependencyContainer::Constants::DEFAULT_SCOPE)
  @slug = slug
  @scope = scope
end

Instance Method Details

#descriptionString

Returns:

  • (String)


39
40
41
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 39

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

#failure_messageString

Returns:

  • (String)


46
47
48
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 46

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

#failure_message_when_negatedString

Returns:

  • (String)


53
54
55
# File 'lib/convenient_service/rspec/matchers/classes/export.rb', line 53

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

#matches?(container) ⇒ Boolean

Parameters:

  • container (Module)

Returns:

  • (Boolean)


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

def matches?(container)
  @container = container

  Support::DependencyContainer::Commands::AssertValidContainer[container: container]
  Support::DependencyContainer::Commands::AssertValidScope[scope: scope]

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