Module: AllAccess::Initializer

Defined in:
lib/all_access.rb

Instance Method Summary collapse

Instance Method Details

#create_readersObject



17
18
19
20
21
# 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_writersObject



24
25
26
27
28
29
30
31
32
33
34
# 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

#initializeObject



5
6
7
8
9
# File 'lib/all_access.rb', line 5

def initialize
  super
  create_readers
  create_writers
end

#ivar_strings_and_symbolsObject



11
12
13
14
15
# 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