Sha256: b2873ec6b5b48a143758f05d39b03e2bdbb32c3eb8a126f99a5e5380943618cf
Contents?: true
Size: 635 Bytes
Versions: 1
Compression:
Stored size: 635 Bytes
Contents
class Module def namespace_free_name self.name.match( /(\w*?)$/ )[1] end def attr_accessor_with_default_setter( *syms, &block ) raise 'Default value in block required' unless block syms.each do | sym | module_eval do attr_writer( sym ) define_method( sym ) do | | class << self; self; end.class_eval do attr_reader( sym ) end if instance_variables.include? "@#{sym}" instance_variable_get( "@#{sym}" ) else instance_variable_set( "@#{sym}", block.call ) end end end end nil end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
contextr-0.0.1 | lib/core_ext/module.rb |