class Humr::Splitter::Pattern
Public Class Methods
new(pattern)
click to toggle source
# File lib/humr/splitter/pattern.rb, line 8 def initialize(pattern) @pattern = Regexp.new(pattern) @pattern_la = Regexp.new("(?=#{pattern})") end
Public Instance Methods
sub_each_field(line) { |field, index| ... }
click to toggle source
# File lib/humr/splitter/pattern.rb, line 13 def sub_each_field(line, &block) scanner = StringScanner.new(line) result = '' index = 1 loop do field = scanner.scan_until(@pattern_la) if field result << yield(field, index) result << scanner.scan(@pattern) index += 1 else result << yield(scanner.rest, index) break end end result end