class Cane::EncodingAwareIterator
Provides iteration over lines (from a file), correctly handling encoding.
Attributes
lines[R]
Public Class Methods
new(lines)
click to toggle source
# File lib/cane/encoding_aware_iterator.rb, line 7 def initialize(lines) @lines = lines end
Public Instance Methods
each(&block)
click to toggle source
# File lib/cane/encoding_aware_iterator.rb, line 11 def each(&block) return self.to_enum unless block lines.each do |line| begin line =~ /\s/ rescue ArgumentError line.encode!('UTF-8', 'binary', invalid: :replace, undef: :replace) end block.call(line) end end