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