lib/adyen/hash_with_accessors.rb in adyen-ruby-api-library-7.0.1 vs lib/adyen/hash_with_accessors.rb in adyen-ruby-api-library-7.0.2

- old
+ new

@@ -1,5 +1,9 @@ +# rubocop:disable Metrics/AbcSize +# rubocop:disable Metrics/MethodLength +# rubocop:disable Metrics/PerceivedComplexity + # This utility method inherits from Hash, but allows keys to be read # and updated with dot notation. Usage is entirely optional (i.e., hash values # can still be accessed via symbol and string keys). # # Based on: https://gist.github.com/winfred/2185384#file-ruby-dot-hash-access-rb @@ -7,32 +11,33 @@ class HashWithAccessors < Hash def method_missing(method, *args) string_key = method.to_s.sub(/=\z/, '') sym_key = string_key.to_sym - key = if has_key?(string_key) - string_key - elsif has_key?(sym_key) - sym_key - end + key = if key?(string_key) + string_key + elsif key?(sym_key) + sym_key + end return super unless key assignment = sym_key != method if assignment raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 1)" unless args.size == 1 self[key] = args.first else - raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" unless args.size == 0 + raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" unless args.empty? self[key] end end def respond_to_missing?(method, include_private = false) string_key = method.to_s.sub(/=\z/, '') - has_key?(string_key) || has_key?(string_key.to_sym) || super + key?(string_key) || key?(string_key.to_sym) || super end end end +# rubocop:enable all