Sha256: 5fea543757c56b3a156ef18e51cfad5407aec24e81f392b1fa6e56aa7ae16571
Contents?: true
Size: 550 Bytes
Versions: 17
Compression:
Stored size: 550 Bytes
Contents
# frozen_string_literal: true require_relative 'name' module RubyNPM module Options class Factory def initialize(definitions) @definitions = definitions end def resolve(names, parameters) names .map { |name| Name.new(name) } .inject([]) do |options, name| options + resolve_name(name, parameters) end end private def resolve_name(name, parameters) @definitions.find { |d| d.matches?(name) }.build(parameters) end end end end
Version data entries
17 entries across 17 versions & 1 rubygems