Sha256: 07eb6c5bd3f6de42fbe6405147aa040bd04f2e232bacff8ccddfbb8a4af951e5

Contents?: true

Size: 513 Bytes

Versions: 1

Compression:

Stored size: 513 Bytes

Contents

class Delimiters < Array
  # TODO: caching
  
  def unescaped
    self.map do |delimiter|
      (delimiter[0] == ?\\) ?
              delimiter[1..-1] :
              delimiter
    end
  end

  def first_in(array)
    # TODO: should we optimize this O(n*m)? hash or modified or KNP or at leaset sort + b-search. But they are so short

    array.each do |element|
      return element if self.unescaped.any? { |delimiter| delimiter == element }
    end
    nil    
  end

  # TODO: Delimiters#regex and so on  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
usher-0.5.11 lib/usher/delimiters.rb