module AllAccess::Initializer

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/all_access.rb, line 5
def initialize
  super
  create_readers
  create_writers
end

Public Instance Methods

create_readers() click to toggle source
# File lib/all_access.rb, line 17
def create_readers
  ivar_strings_and_symbols.each do |iv|
    define_singleton_method iv[0].to_sym, lambda { eval(iv[1]) }
  end
end
create_writers() click to toggle source
# File lib/all_access.rb, line 24
def create_writers
  ivar_strings_and_symbols.each do |iv|
    define_singleton_method "#{iv[0]}=".to_sym, lambda {|assignment|
      if assignment.class == String
       eval "#{iv[1]} = '#{assignment}'"
      else
       eval "#{iv[1]} = #{assignment}"
      end
      }
  end
end
ivar_strings_and_symbols() click to toggle source
# File lib/all_access.rb, line 11
def ivar_strings_and_symbols
  instance_variables.map do |iv|
    [iv.to_s.gsub("@",'').to_sym, iv.to_s]
  end
end