Class: Grape::Util::BaseInheritable
- Inherits:
-
Object
- Object
- Grape::Util::BaseInheritable
show all
- 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.
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(inherited_values = {}) ⇒ BaseInheritable
12
13
14
15
|
# File 'lib/grape/util/base_inheritable.rb', line 12
def initialize(inherited_values = {})
@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
|