Sha256: f182b0b66b71a6172fa611e7ef9bd00426f60450ceb0aeb7401bf9922885595b

Contents?: true

Size: 416 Bytes

Versions: 1

Compression:

Stored size: 416 Bytes

Contents

module Wasserstand
  module Finders
    def [](name)
      results = all.select{|named| UnicodeUtils.upcase(name) == named.name}

      case results.size
      when 0
        nil # loookup returns nil if not found. This is a lookup, not find_all.
      when 1
        results.first
      else
        raise AmbigousNameError "Name '#{name}' is not unique. Found #{results.size} results."
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wasserstand-0.0.9 lib/wasserstand/finders.rb