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
Public Class Methods
Source
# File lib/grape/util/base_inheritable.rb, line 12 def initialize(inherited_values = nil) @inherited_values = inherited_values || {} @new_values = {} end
@param inherited_values
[Object] An object implementing an interface
of the Hash class.
Public Instance Methods
Source
# File lib/grape/util/base_inheritable.rb, line 17 def delete(key) new_values.delete key end
Source
# 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
Calls superclass method
Source
# File lib/grape/util/base_inheritable.rb, line 38 def key?(name) inherited_values.key?(name) || new_values.key?(name) end
Source
# File lib/grape/util/base_inheritable.rb, line 27 def keys if new_values.any? inherited_values.keys.tap do |combined| combined.concat(new_values.keys) combined.uniq! end else inherited_values.keys end end