Class: Module

Inherits:
Object show all
Defined in:
lib/core_ext/module.rb

Instance Method Summary collapse

Instance Method Details

#attr_accessor_bool(name, &block) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/core_ext/module.rb', line 2

def attr_accessor_bool(name, &block)
    define_method(name) do  
      instance_variable_get("@#{name}")
    end        

    define_method("#{name}=") do |val|
     if block.call(val)
       instance_variable_set("@#{name}",val)
     end
    end
end

#attr_accessor_of_boolean(*accessor) ⇒ Object



13
14
15
16
17
# File 'lib/core_ext/module.rb', line 13

def attr_accessor_of_boolean(*accessor)
  accessor.each {|a|
   attr_accessor_bool(a) {|o| o.class == TrueClass || o.class == FalseClass}
  }
end

#attr_accessor_of_class(klass, *accessor) ⇒ Object



18
19
20
21
22
# File 'lib/core_ext/module.rb', line 18

def attr_accessor_of_class (klass, *accessor)
  accessor.each {|a|
   attr_accessor_bool(a) {|o| o.class == klass}
  }
end