twitter-status-bot/.gems/gems/twitter-5.11.0/lib/twitter/trend_results.rb

55 lines
1.2 KiB
Ruby
Raw Normal View History

require 'memoizable'
require 'twitter/creatable'
require 'twitter/enumerable'
require 'twitter/null_object'
require 'twitter/utils'
module Twitter
class TrendResults
include Twitter::Creatable
include Twitter::Enumerable
include Twitter::Utils
include Memoizable
attr_reader :attrs
alias_method :to_h, :attrs
deprecate_alias :to_hash, :to_h
deprecate_alias :to_hsh, :to_h
# Initializes a new TrendResults object
#
# @param attrs [Hash]
# @return [Twitter::TrendResults]
def initialize(attrs = {})
@attrs = attrs
@collection = @attrs.fetch(:trends, []).collect do |trend|
Trend.new(trend)
end
end
# Time when the object was created on Twitter
#
# @return [Time]
def as_of
Time.parse(@attrs[:as_of]) unless @attrs[:as_of].nil?
end
memoize :as_of
def as_of?
!!@attrs[:as_of]
end
memoize :as_of?
# @return [Twitter::Place, NullObject]
def location
location? ? Place.new(@attrs[:locations].first) : NullObject.new
end
memoize :location
# @return [Boolean]
def location?
!@attrs[:locations].nil? && !@attrs[:locations].first.nil?
end
memoize :location?
end
end