Class: Zodra::Export::SurfaceResolver
- Inherits:
-
Object
- Object
- Zodra::Export::SurfaceResolver
- Defined in:
- lib/zodra/export/surface_resolver.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(definitions, contracts) ⇒ SurfaceResolver
constructor
A new instance of SurfaceResolver.
- #resolve ⇒ Object
Constructor Details
#initialize(definitions, contracts) ⇒ SurfaceResolver
Returns a new instance of SurfaceResolver.
12 13 14 15 |
# File 'lib/zodra/export/surface_resolver.rb', line 12 def initialize(definitions, contracts) @definitions_by_name = definitions.to_h { |d| [d.name, d] } @contracts = contracts end |
Class Method Details
.call(definitions, contracts) ⇒ Object
6 7 8 9 10 |
# File 'lib/zodra/export/surface_resolver.rb', line 6 def self.call(definitions, contracts) return definitions if contracts.empty? new(definitions, contracts).resolve end |
Instance Method Details
#resolve ⇒ Object
17 18 19 20 |
# File 'lib/zodra/export/surface_resolver.rb', line 17 def resolve reachable = (collect_seed_types) @definitions_by_name.values.select { |d| reachable.include?(d.name) } end |