class Grape::Util::BaseInheritable
Base for classes which need to operate with own values kept in the hash and inherited values kept in a Hash-like object.
Attributes
inherited_values[RW]
new_values[RW]
Public Class Methods
new(inherited_values = nil)
click to toggle source
@param inherited_values
[Object] An object implementing an interface
of the Hash class.
# File lib/grape/util/base_inheritable.rb, line 12 def initialize(inherited_values = nil) @inherited_values = inherited_values || {} @new_values = {} end
Public Instance Methods
delete(key)
click to toggle source
# File lib/grape/util/base_inheritable.rb, line 17 def delete(key) new_values.delete key end
initialize_copy(other)
click to toggle source
Calls superclass method
# 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)
click to toggle source
# File lib/grape/util/base_inheritable.rb, line 38 def key?(name) inherited_values.key?(name) || new_values.key?(name) end
keys()
click to toggle source
# 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