class NameQ::Support::List

Public Class Methods

new(items = nil, case_sensitive: true, &refill) click to toggle source
# File lib/nameq/support/list.rb, line 6
def initialize(items = nil, case_sensitive: true, &refill)
  @items = items || []
  @comparator = case_sensitive ? :eql? : :casecmp?
  @refill = refill
end

Public Instance Methods

add(name) click to toggle source
# File lib/nameq/support/list.rb, line 12
def add(name)
  @items << name
  name
end
include?(name) click to toggle source
# File lib/nameq/support/list.rb, line 17
def include?(name)
  all.any? { |a| a.send(@comparator, name) }
end

Private Instance Methods

all() click to toggle source
# File lib/nameq/support/list.rb, line 23
def all
  @items + (@refill&.call || [])
end