File: list.rb

package info (click to toggle)
ruby-twitter 7.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,840 kB
  • sloc: ruby: 10,919; makefile: 6
file content (40 lines) | stat: -rw-r--r-- 1,082 bytes parent folder | download | duplicates (4)
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