1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
require 'twitter/creatable'
require 'twitter/identity'
module Twitter
class List < Twitter::Identity
include Twitter::Creatable
# @return [Integer]
attr_reader :member_count, :subscriber_count
# @return [String]
attr_reader :description, :full_name, :mode, :name, :slug
object_attr_reader :User, :user
predicate_attr_reader :following
# @return [Addressable::URI] The URI to the list members.
def members_uri
Addressable::URI.parse("#{uri}/members") if uri?
end
memoize :members_uri
alias members_url members_uri
# @return [Addressable::URI] The URI to the list subscribers.
def subscribers_uri
Addressable::URI.parse("#{uri}/subscribers") if uri?
end
memoize :subscribers_uri
alias subscribers_url subscribers_uri
# @return [Addressable::URI] The URI to the list.
def uri
Addressable::URI.parse("https://twitter.com/#{user.screen_name}/#{slug}") if slug? && user.screen_name?
end
memoize :uri
alias url uri
def uri?
!!uri
end
memoize :uri?
end
end
|