class MonoclePrint::Table::Member

Attributes

member_name[R]
after[RW]
before[RW]
table[R]

Public Class Methods

define( member_name, sup = self, &body ) click to toggle source
# File lib/monocle-print/table/members.rb, line 12
def define( member_name, sup = self, &body )
  klass =
    Class.new( sup ) do
      @member_name = member_name
      class_eval( &body )
    end

  define_method( "#{ member_name }!" ) do |*args|
    klass.new( @table, *args ) { |m| link( m ) }.tail
  end
  return( klass )
end
new( table, *args ) { |self| ... } click to toggle source
# File lib/monocle-print/table/members.rb, line 30
def initialize( table, *args )
  @table    = table
  @before   = nil
  @after    = nil
  @disabled = false
  block_given? and yield( self )
  initialize!( *args )
end

Public Instance Methods

columns() click to toggle source
# File lib/monocle-print/table/members.rb, line 96
def columns
  table.columns
end
disable() click to toggle source
# File lib/monocle-print/table/members.rb, line 57
def disable
  @disabled = true
end
disabled?() click to toggle source
# File lib/monocle-print/table/members.rb, line 69
def disabled?
  @disabled
end
each() { |node| ... } click to toggle source
# File lib/monocle-print/table/members.rb, line 48
def each
  block_given? or return( enum_for( __method__ ) )
  node = self
  begin
    yield( node )
    node = node.after
  end while( node )
end
enable() click to toggle source
# File lib/monocle-print/table/members.rb, line 61
def enable
  @disabled = false
end
enabled?() click to toggle source
# File lib/monocle-print/table/members.rb, line 65
def enabled?
  not disabled?
end
first?() click to toggle source
# File lib/monocle-print/table/members.rb, line 73
def first?
  @before.nil?
end
initialize!( * ) click to toggle source
# File lib/monocle-print/table/members.rb, line 39
def initialize!( * )
  # do nothing
end
inspect( *args ) click to toggle source
# File lib/monocle-print/table/members.rb, line 43
def inspect( *args )
  content = args.map! { |a| a.inspect }.join(', ')
  "#{self.class.member_name}(#{content})"
end
last?() click to toggle source
# File lib/monocle-print/table/members.rb, line 77
def last?
  @after.nil?
end
render( out, style ) click to toggle source
# File lib/monocle-print/table/members.rb, line 92
def render( out, style )
  render!( out, style ) unless disabled?
end
tail() click to toggle source
# File lib/monocle-print/table/members.rb, line 100
def tail
  @after ? @after.tail : self
end