Class: Grape::Util::BaseInheritable
- Inherits:
-
Object
- Object
- Grape::Util::BaseInheritable
- Defined in:
- lib/grape/util/base_inheritable.rb
Overview
Base for classes which need to operate with own values kept in the hash and inherited values kept in a Hash-like object.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#inherited_values ⇒ Object
Returns the value of attribute inherited_values.
-
#new_values ⇒ Object
Returns the value of attribute new_values.
Instance Method Summary collapse
- #delete(key) ⇒ Object
-
#initialize(inherited_values = nil) ⇒ BaseInheritable
constructor
A new instance of BaseInheritable.
- #initialize_copy(other) ⇒ Object
- #key?(name) ⇒ Boolean
- #keys ⇒ Object
Constructor Details
#initialize(inherited_values = nil) ⇒ BaseInheritable
Returns a new instance of BaseInheritable.
12 13 14 15 |
# File 'lib/grape/util/base_inheritable.rb', line 12 def initialize(inherited_values = nil) @inherited_values = inherited_values || {} @new_values = {} end |
Instance Attribute Details
#inherited_values ⇒ Object
Returns the value of attribute inherited_values.
8 9 10 |
# File 'lib/grape/util/base_inheritable.rb', line 8 def inherited_values @inherited_values end |
#new_values ⇒ Object
Returns the value of attribute new_values.
8 9 10 |
# File 'lib/grape/util/base_inheritable.rb', line 8 def new_values @new_values end |
Instance Method Details
#delete(key) ⇒ Object
17 18 19 |
# File 'lib/grape/util/base_inheritable.rb', line 17 def delete(key) new_values.delete key end |
#initialize_copy(other) ⇒ Object
21 22 23 24 25 |
# File 'lib/grape/util/base_inheritable.rb', line 21 def initialize_copy(other) super self.inherited_values = other.inherited_values self.new_values = other.new_values.dup end |
#key?(name) ⇒ Boolean
38 39 40 |
# File 'lib/grape/util/base_inheritable.rb', line 38 def key?(name) inherited_values.key?(name) || new_values.key?(name) end |
#keys ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/grape/util/base_inheritable.rb', line 27 def keys if new_values.any? combined = inherited_values.keys combined.concat(new_values.keys) combined.uniq! combined else inherited_values.keys end end |