class Pangrid::Text
Constants
- DESCRIPTION
Public Instance Methods
format_clues(numbers, clues, indent)
click to toggle source
# File lib/pangrid/plugins/text.rb, line 32 def format_clues(numbers, clues, indent) numbers.zip(clues).map {|n, c| " "*indent + "#{n.to_s.rjust(2)}. #{c}"}.join("\n") end
read_grid(data)
click to toggle source
rename to 'read' when this is complete
# File lib/pangrid/plugins/text.rb, line 25 def read_grid(data) s = data.each_line.map(&:strip) m = s[0].match(/^Grid (\d+) (\d+)$/) check("Grid line missing") { m } xw.height, xw.width = m[1].to_i, m[2].to_i end
write(xw)
click to toggle source
# File lib/pangrid/plugins/text.rb, line 15 def write(xw) across, down = xw.number rows = xw.to_array(:black => '#', :null => '.') grid = rows.map(&:join).join("\n") + "\n" ac = "Across:\n\n" + format_clues(across, xw.across_clues, 2) dn = "Down:\n\n" + format_clues(down, xw.down_clues, 2) grid + "\n" + ac + "\n\n" + dn + "\n" end