Module: Raven::BetterAttrAccessor::ClassMethods
- Defined in:
- lib/raven/better_attr_accessor.rb
Instance Method Summary collapse
Instance Method Details
#attr_accessor(attr, options = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/raven/better_attr_accessor.rb', line 29 def attr_accessor(attr, = {}) @attributes ||= Set.new @attributes << attr.to_s define_method attr do if instance_variable_defined? "@#{attr}" instance_variable_get "@#{attr}" elsif .key? :default instance_variable_set "@#{attr}", [:default].dup end end attr_writer attr end |
#attributes ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/raven/better_attr_accessor.rb', line 19 def attributes @attributes ||= Set.new if superclass.include? BetterAttrAccessor @attributes + superclass.attributes else @attributes end end |