Class: Charazard::IO
- Inherits:
-
FilterIO
- Object
- FilterIO
- Charazard::IO
- Defined in:
- lib/charazard/io.rb
Instance Method Summary collapse
-
#initialize(io) ⇒ IO
constructor
A new instance of IO.
Constructor Details
#initialize(io) ⇒ IO
Returns a new instance of IO.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/charazard/io.rb', line 6 def initialize(io) super do |data, state| # fix invalid UTF-8 literals data = Charazard.fix_invalid_unicode_literals(data) # grab another chunk if the last character is a delimiter raise FilterIO::NeedMoreData if data =~ /[\r\n]\z/ && !state.eof? # normalise line endings to LF data = data.gsub /\r\n|\r|\n/, "\n" data end end |