lib/twitter/base.rb in twitter-5.1.1 vs lib/twitter/base.rb in twitter-5.2.0

- old
+ new

@@ -6,21 +6,20 @@ module Twitter class Base extend Forwardable include Memoizable attr_reader :attrs - alias to_h attrs - alias to_hash attrs - alias to_hsh attrs + alias_method :to_h, :attrs + alias_method :to_hash, :attrs + alias_method :to_hsh, :attrs class << self - # Construct an object from a response hash # # @param response [Hash] # @return [Twitter::Base] - def from_response(response={}) + def from_response(response = {}) new(response[:body]) end # Define methods that retrieve the value from attributes # @@ -35,24 +34,24 @@ # Define object methods from attributes # # @param klass [Symbol] # @param key1 [Symbol] # @param key2 [Symbol] - def object_attr_reader(klass, key1, key2=nil) + def object_attr_reader(klass, key1, key2 = nil) define_attribute_method(key1, klass, key2) define_predicate_method(key1) end # Define URI methods from attributes # # @param attrs [Array, Symbol] def uri_attr_reader(*attrs) attrs.each do |uri_key| - array = uri_key.to_s.split("_") - index = array.index("uri") - array[index] = "url" - url_key = array.join("_").to_sym + array = uri_key.to_s.split('_') + index = array.index('uri') + array[index] = 'url' + url_key = array.join('_').to_sym define_uri_method(uri_key, url_key) alias_method(url_key, uri_key) define_predicate_method(uri_key, url_key) alias_method(:"#{url_key}?", :"#{uri_key}?") end @@ -82,11 +81,11 @@ # Dynamically define a method for an attribute # # @param key1 [Symbol] # @param klass [Symbol] # @param key2 [Symbol] - def define_attribute_method(key1, klass=nil, key2=nil) + def define_attribute_method(key1, klass = nil, key2 = nil) define_method(key1) do || if klass.nil? @attrs[key1] else if @attrs[key1] @@ -102,24 +101,23 @@ # Dynamically define a predicate method for an attribute # # @param key1 [Symbol] # @param key2 [Symbol] - def define_predicate_method(key1, key2=key1) + def define_predicate_method(key1, key2 = key1) define_method(:"#{key1}?") do || !!@attrs[key2] end memoize(:"#{key1}?") end - end # Initializes a new object # # @param attrs [Hash] # @return [Twitter::Base] - def initialize(attrs={}) + def initialize(attrs = {}) @attrs = attrs || {} end # Fetches an attribute of an object using hash notation # @@ -130,16 +128,15 @@ nil end private - def attrs_for_object(key1, key2=nil) + def attrs_for_object(key1, key2 = nil) if key2.nil? @attrs[key1] else attrs = @attrs.dup attrs.delete(key1).merge(key2 => attrs) end end - end end