Class: Evilution::SpecResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/spec_resolver.rb

Constant Summary collapse

STRIPPABLE_PREFIXES =
%w[lib/ app/].freeze
CONTROLLER_PREFIX =
"controllers/"

Instance Method Summary collapse

Constructor Details

#initialize(test_dir: "spec", test_suffix: "_spec.rb", request_dir: "requests") ⇒ SpecResolver

Returns a new instance of SpecResolver.



7
8
9
10
11
# File 'lib/evilution/spec_resolver.rb', line 7

def initialize(test_dir: "spec", test_suffix: "_spec.rb", request_dir: "requests")
  @test_dir = test_dir
  @test_suffix = test_suffix
  @request_dir = request_dir
end

Instance Method Details

#call(source_path) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/evilution/spec_resolver.rb', line 13

def call(source_path)
  return nil if source_path.nil? || source_path.empty?

  normalized = normalize_path(source_path)
  candidates = candidate_test_paths(normalized)
  candidates.find { |path| File.exist?(path) }
end

#resolve_all(source_paths) ⇒ Object



21
22
23
# File 'lib/evilution/spec_resolver.rb', line 21

def resolve_all(source_paths)
  Array(source_paths).filter_map { |path| call(path) }.uniq
end