Sha256: 4615057d914372e96b641be8ec6e5a47b9c38305d78acf37e8918ef48299c0c2

Contents?: true

Size: 580 Bytes

Versions: 1

Compression:

Stored size: 580 Bytes

Contents

class Module
  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
 def attr_accessor_of_boolean(*accessor)
   accessor.each {|a|
    attr_accessor_bool(a) {|o| o.class == TrueClass || o.class == FalseClass}
   }
 end
 def attr_accessor_of_class (klass, *accessor)
   accessor.each {|a|
    attr_accessor_bool(a) {|o| o.class == klass}
   }
 end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
RXAAL-0.0.1 lib/core_ext/module.rb