module Hashie::Extensions::KeyConflictWarning
Public Instance Methods
disable_warnings(*method_keys)
click to toggle source
Disable the logging of warnings based on keys conflicting keys/methods
@api semipublic @return [void]
# File lib/hashie/extensions/key_conflict_warning.rb, line 17 def disable_warnings(*method_keys) raise CannotDisableMashWarnings if self == Hashie::Mash if method_keys.any? disabled_warnings.concat(method_keys).tap(&:flatten!).uniq! else disabled_warnings.clear end @disable_warnings = true end
disable_warnings?(method_key = nil)
click to toggle source
Checks whether this class disables warnings for conflicting keys/methods
@api semipublic @return [Boolean]
# File lib/hashie/extensions/key_conflict_warning.rb, line 32 def disable_warnings?(method_key = nil) return disabled_warnings.include?(method_key) if disabled_warnings.any? && method_key @disable_warnings ||= false end
disabled_warnings()
click to toggle source
Returns an array of methods that this class disables warnings for.
@api semipublic @return [Boolean]
# File lib/hashie/extensions/key_conflict_warning.rb, line 41 def disabled_warnings @_disabled_warnings ||= [] end
inherited(subclass)
click to toggle source
Inheritance hook that sets class configuration when inherited.
@api semipublic @return [void]
Calls superclass method
# File lib/hashie/extensions/key_conflict_warning.rb, line 49 def inherited(subclass) super subclass.disable_warnings(disabled_warnings) if disable_warnings? end