module AsciiTree::Scanner
Public Class Methods
scan(string)
click to toggle source
# File lib/ascii_tree/scanner.rb, line 4 def scan(string) Enumerator.new do |yielder| indexed_lines(string).each do |line, y| indexed_chars(line).each do |char, x| yielder.yield [char, Coordinate.new(x: x, y: y)] end end end end
Private Class Methods
chars(line)
click to toggle source
# File lib/ascii_tree/scanner.rb, line 28 def chars(line) line.split("") end
indexed_chars(line)
click to toggle source
# File lib/ascii_tree/scanner.rb, line 24 def indexed_chars(line) chars(line).each_with_index.to_a end
indexed_lines(string)
click to toggle source
# File lib/ascii_tree/scanner.rb, line 16 def indexed_lines(string) lines(string).each.with_index.to_a end
lines(string)
click to toggle source
# File lib/ascii_tree/scanner.rb, line 20 def lines(string) string.split("\n") end