Module: KAttr

Defined in:
lib/kattr/reader.rb,
lib/kattr/writer.rb,
lib/kattr/accessor.rb

Instance Method Summary collapse

Instance Method Details

#kattr_accessor(*syms) ⇒ Object Also known as: cattr_accessor



5
6
7
8
# File 'lib/kattr/accessor.rb', line 5

def kattr_accessor(*syms)
  kattr_writer(*syms)
  kattr_reader(*syms)
end

#kattr_reader(*syms) ⇒ Object Also known as: cattr_reader



2
3
4
5
6
7
8
9
# File 'lib/kattr/reader.rb', line 2

def kattr_reader(*syms)
  syms.flatten.each do |sym|
    self.class.send(:define_method, sym) do
      return nil unless class_variable_defined? "@@#{sym}"
      return class_variable_get "@@#{sym}" 
    end
  end
end

#kattr_writer(*syms) ⇒ Object Also known as: cattr_writer



2
3
4
5
6
7
8
# File 'lib/kattr/writer.rb', line 2

def kattr_writer(*syms)
  syms.flatten.each do |sym|
    self.class.send(:define_method, :"#{sym}=") do |opt|
      class_variable_set("@@#{sym}", opt)
    end
  end
end