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