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

43 lines
1.1 KiB
Ruby

require 'equalizer'
require 'twitter/identity'
module Twitter
class Place < Twitter::Identity
attr_reader :attributes, :country, :full_name, :name
alias_method :woe_id, :id
alias_method :woeid, :id
object_attr_reader :GeoFactory, :bounding_box
object_attr_reader :Place, :contained_within
alias_method :contained?, :contained_within?
uri_attr_reader :uri
# Initializes a new place
#
# @param attrs [Hash]
# @raise [ArgumentError] Error raised when supplied argument is missing a :woeid key.
# @return [Twitter::Place]
def initialize(attrs = {})
attrs[:id] ||= attrs.fetch(:woeid)
super
end
# @return [String]
def country_code
@attrs[:country_code] || @attrs[:countryCode] # rubocop:disable SymbolName
end
memoize :country_code
# @return [Integer]
def parent_id
@attrs[:parentid]
end
memoize :parent_id
# @return [String]
def place_type
@attrs[:place_type] || @attrs[:placeType] && @attrs[:placeType][:name] # rubocop:disable SymbolName
end
memoize :place_type
end
end