Sha256: 1e7331e12bb90971fcb02043b579d79a170f71a11a15e8c060c1c43ba609cc5e
Contents?: true
Size: 512 Bytes
Versions: 1
Compression:
Stored size: 512 Bytes
Contents
# frozen_string_literal: true module NameQ module Support class List def initialize(items = nil, case_sensitive: true, &refill) @items = items || [] @comparator = case_sensitive ? :eql? : :casecmp? @refill = refill end def add(name) @items << name name end def include?(name) all.any? { |a| a.send(@comparator, name) } end private def all @items + (@refill&.call || []) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nameq-0.0.1 | lib/nameq/support/list.rb |