module Pangrid::ExolveWriter
Public Instance Methods
format_clues(numbers, clues)
click to toggle source
# File lib/pangrid/plugins/exolve.rb, line 35 def format_clues(numbers, clues) numbers.zip(clues).map {|n, c| "#{n.to_s.rjust(2)} #{c}"} end
format_headers(xw)
click to toggle source
# File lib/pangrid/plugins/exolve.rb, line 22 def format_headers(xw) headers = [ 'id', 'replace-with-unique-id', 'title', xw.title, 'setter', xw.author, 'width', xw.width, 'height', xw.height, 'copyright', xw.copyright, 'prelude', xw.preamble ] headers.each_slice(2).select {|k, v| v}.map {|k, v| "exolve-#{k}: #{v}"} end
indent(lines)
click to toggle source
# File lib/pangrid/plugins/exolve.rb, line 39 def indent(lines) lines.map {|x| " " + x} end
write(xw)
click to toggle source
# File lib/pangrid/plugins/exolve.rb, line 8 def write(xw) headers = format_headers(xw) across, down = xw.number grid = format_grid(xw) ac = format_clues(across, xw.across_clues) dn = format_clues(down, xw.down_clues) across = ["exolve-across:"] + indent(ac) down = ["exolve-down:"] + indent(dn) grid = ["exolve-grid:"] + indent(grid) body = headers + grid + across + down out = ["exolve-begin"] + indent(body) + ["exolve-end"] out.join("\n") end