Class: Textus::Application::Reads::Deps

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/application/reads/deps.rb

Instance Method Summary collapse

Constructor Details

#initialize(manifest:) ⇒ Deps

Returns a new instance of Deps.



5
6
7
# File 'lib/textus/application/reads/deps.rb', line 5

def initialize(manifest:)
  @manifest = manifest
end

Instance Method Details

#call(key) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/textus/application/reads/deps.rb', line 9

def call(key)
  entry = @manifest.entries.find { |e| e.key == key } or return []
  return [] unless entry.is_a?(Textus::Manifest::Entry::Derived)

  src = entry.source
  result = if src.is_a?(Textus::Manifest::Entry::Derived::Projection)
             Array(src.select).compact
           elsif src.is_a?(Textus::Manifest::Entry::Derived::External)
             Array(src.sources).compact
           else
             []
           end
  result.uniq
end