Class: Xing::Base
- Inherits:
-
Object
- Object
- Xing::Base
- Defined in:
- lib/xing/base.rb
Instance Attribute Summary collapse
-
#attrs ⇒ Object
(also: #to_hash)
Returns the value of attribute attrs.
Class Method Summary collapse
-
.lazy_attr_reader(*attrs) ⇒ Object
Define methods that retrieve the value from an initialized instance variable Hash, using the attribute as a key.
Instance Method Summary collapse
-
#[](method) ⇒ Object
Initializes a new Base object.
-
#initialize(attrs = {}) ⇒ Xing::Base
constructor
Initializes a new Base object.
Constructor Details
#initialize(attrs = {}) ⇒ Xing::Base
Initializes a new Base object
27 28 29 |
# File 'lib/xing/base.rb', line 27 def initialize(attrs={}) @attrs = attrs.dup end |
Instance Attribute Details
#attrs ⇒ Object Also known as: to_hash
Returns the value of attribute attrs.
4 5 6 |
# File 'lib/xing/base.rb', line 4 def attrs @attrs end |
Class Method Details
.self.lazy_attr_reader(attr) ⇒ Object .self.lazy_attr_reader(attrs) ⇒ Object
Define methods that retrieve the value from an initialized instance variable Hash, using the attribute as a key
13 14 15 16 17 18 19 20 21 |
# File 'lib/xing/base.rb', line 13 def self.lazy_attr_reader(*attrs) attrs.each do |attribute| class_eval do define_method attribute do @attrs[attribute.to_s] end end end end |
Instance Method Details
#[](method) ⇒ Object
Initializes a new Base object
34 35 36 37 38 |
# File 'lib/xing/base.rb', line 34 def [](method) self.__send__(method.to_sym) rescue NoMethodError nil end |