class Inquirer::Style

Public Class Methods

activate_getter_setter() click to toggle source

blog.marc-seeger.de/2011/04/06/attr_reader-for-class-variables-in-ruby/

# File lib/inquirer/style.rb, line 26
    def self.activate_getter_setter
      # this creates the methods when the class is loaded
      self.class_variables.each{ |sym|

        # build the meta syntax
        class_variable_getter_and_setter = <<EVALME

    # getter
    def self.#{sym.to_s.gsub('@@','')}
      #{sym}
    end

    # setter
    def self.#{sym.to_s.gsub('@@','')}=(value)
      #{sym} = value
    end;
EVALME
        class_eval(class_variable_getter_and_setter)
      }
    end