class Consensus::Portrayal
Public Class Methods
attribute(*names)
click to toggle source
# File lib/consensus/portrayal.rb, line 6 def attribute(*names) names.each do |n| ; define_attribute(n) ; end end
Private Class Methods
define_attribute(name)
click to toggle source
# File lib/consensus/portrayal.rb, line 12 def define_attribute name base_name = name.to_s.sub(/\?$/, '') attr_writer base_name class_eval <<-EOS, __FILE__, __LINE__ + 1 def #{name} if @#{base_name}.respond_to?(:call) @#{base_name} = @#{base_name}.call else @#{base_name} end end EOS end