class ToAscii::Visitor
Public Class Methods
columns(*args)
click to toggle source
# File lib/to_ascii/visitor.rb, line 40 def columns(*args) @columns ||= [] return @columns if args.length == 0 @columns += args end
for_class(clazz)
click to toggle source
# File lib/to_ascii/visitor.rb, line 36 def for_class(clazz) "#{clazz.name}ToAscii".constantize end
new()
click to toggle source
# File lib/to_ascii/visitor.rb, line 50 def initialize @columns = self.class.columns.dup end
Public Instance Methods
cell_border()
click to toggle source
# File lib/to_ascii/visitor.rb, line 60 def cell_border @cell_border ||= "|#{columns.map { |c| '-' * c[1] }.join('|')}|" end
columns(*args)
click to toggle source
# File lib/to_ascii/visitor.rb, line 54 def columns(*args) return @columns if args.length == 0 @columns += args end
headers(io)
click to toggle source
# File lib/to_ascii/visitor.rb, line 64 def headers(io) io.puts cell_border io.puts "|#{columns.map { |c| c[0].to_s.center(c[1]) }.join('|')}|" io.puts cell_border end
visit(o)
click to toggle source
# File lib/to_ascii/visitor.rb, line 70 def visit(o) "|#{columns.map { |c| o.send(c[0]).to_s.center(c[1]) }.join('|')}|" end