Sha256: ed9ac385ec403039d67d42fa25afaa345c3954f63672b3df4c6ac92b0ed80050
Contents?: true
Size: 552 Bytes
Versions: 26
Compression:
Stored size: 552 Bytes
Contents
# frozen_string_literal: true require_relative 'name' module RubyVault 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
26 entries across 26 versions & 1 rubygems