Sha256: 9f14c673717798f7106947adf3c6ef807f1690114d86190ea2ed3f46aa863f88
Contents?: true
Size: 647 Bytes
Versions: 4
Compression:
Stored size: 647 Bytes
Contents
# Based on an original idea by Aslak Hellesoy. require 'glue/hash' class Module def ann(anns) @@anns ||= SafeHash.new def self.method_missing(sym, *args) #:nodoc: @@anns[sym] end t = Thread.current t[:attr_anns] ||= {} t[:attr_anns].merge!(anns) end alias old_attr_reader attr_reader #:nodoc: def attr_reader(*syms) #:nodoc: t = Thread.current syms.each do |sym| @@anns[sym] = t[:attr_anns] end t[:attr_anns] = nil old_attr_reader(*syms) end def attr_accessor(*syms) #:nodoc: attr_reader(*syms) attr_writer(*syms) end end # * George Moschovitis <gm@navel.gr>
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
glue-0.20.0 | lib/glue/annotation.rb |
glue-0.21.0 | lib/glue/annotation.rb |
glue-0.22.0 | lib/glue/annotation.rb |
glue-0.21.2 | lib/glue/annotation.rb |