Module: Wukong::HashlikeClass
- Defined in:
- lib/wukong/extensions/hashlike_class.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/wukong/extensions/hashlike_class.rb', line 35 def self.included base base.class_eval do extend ClassMethods include HashLike class_inheritable_accessor :members def to_hash *args super(*args).merge 'type' => self.class.to_s end end end |
Instance Method Details
#[](key) ⇒ Object
19 20 21 |
# File 'lib/wukong/extensions/hashlike_class.rb', line 19 def [](key) self.send(key) end |
#[]=(key, val) ⇒ Object
23 24 25 |
# File 'lib/wukong/extensions/hashlike_class.rb', line 23 def []=(key, val) self.send("#{key}=", val) end |
#to_a ⇒ Object
27 28 29 |
# File 'lib/wukong/extensions/hashlike_class.rb', line 27 def to_a values_of(*members) end |
#to_flat ⇒ Object
31 32 33 |
# File 'lib/wukong/extensions/hashlike_class.rb', line 31 def to_flat to_a.map(&:to_flat).flatten end |