lib/twitter/base.rb in twitter-5.12.0 vs lib/twitter/base.rb in twitter-5.13.0

- old
+ new

@@ -83,11 +83,11 @@ # @param key1 [Symbol] # @param klass [Symbol] # @param key2 [Symbol] def define_attribute_method(key1, klass = nil, key2 = nil) define_method(key1) do || - if @attrs[key1].nil? || @attrs[key1].respond_to?(:empty?) && @attrs[key1].empty? + if attr_falsey_or_empty?(key1) NullObject.new else if klass.nil? @attrs[key1] else @@ -112,11 +112,11 @@ # # @param key1 [Symbol] # @param key2 [Symbol] def define_predicate_method(key1, key2 = key1) define_method(:"#{key1}?") do || - !@attrs[key2].nil? && @attrs[key2] != false && !(@attrs[key2].respond_to?(:empty?) && @attrs[key2].empty?) + !attr_falsey_or_empty?(key2) end memoize(:"#{key1}?") end end @@ -137,9 +137,13 @@ rescue NoMethodError nil end private + + def attr_falsey_or_empty?(key) + @attrs[key].nil? || @attrs[key] == false || @attrs[key].respond_to?(:empty?) && @attrs[key].empty? + end def attrs_for_object(key1, key2 = nil) if key2.nil? @attrs[key1] else