Class: Twitter::List
- Inherits:
-
Object
- Object
- Twitter::List
- Defined in:
- lib/twitter-lists/list.rb
Instance Attribute Summary collapse
-
#description ⇒ Object
Returns the value of attribute description.
-
#id ⇒ Object
Returns the value of attribute id.
-
#members ⇒ Object
Returns the value of attribute members.
-
#name ⇒ Object
Returns the value of attribute name.
-
#user ⇒ Object
Returns the value of attribute user.
Class Method Summary collapse
- .intersection(*lists) ⇒ Object
- .lists_to_sets(lists) ⇒ Object
- .parse(str) ⇒ Object
- .parse_and_load(str) ⇒ Object
- .setup_basic_auth(username, password) ⇒ Object
- .twitter_base ⇒ Object
- .twitter_base=(base) ⇒ Object
- .union(*lists) ⇒ Object
Instance Method Summary collapse
- #load_members ⇒ Object
- #load_members_paged(acc = [], cursor = -1)) ⇒ Object
- #member_ids ⇒ Object
- #member_names ⇒ Object
- #twitter_base ⇒ Object
Instance Attribute Details
#description ⇒ Object
Returns the value of attribute description.
5 6 7 |
# File 'lib/twitter-lists/list.rb', line 5 def description @description end |
#id ⇒ Object
Returns the value of attribute id.
5 6 7 |
# File 'lib/twitter-lists/list.rb', line 5 def id @id end |
#members ⇒ Object
Returns the value of attribute members.
5 6 7 |
# File 'lib/twitter-lists/list.rb', line 5 def members @members end |
#name ⇒ Object
Returns the value of attribute name.
5 6 7 |
# File 'lib/twitter-lists/list.rb', line 5 def name @name end |
#user ⇒ Object
Returns the value of attribute user.
5 6 7 |
# File 'lib/twitter-lists/list.rb', line 5 def user @user end |
Class Method Details
.intersection(*lists) ⇒ Object
42 43 44 45 |
# File 'lib/twitter-lists/list.rb', line 42 def intersection(*lists) sets = lists_to_sets(lists) sets.inject { |i,s| s.intersection i }.to_a end |
.lists_to_sets(lists) ⇒ Object
32 33 34 35 |
# File 'lib/twitter-lists/list.rb', line 32 def lists_to_sets(lists) lists = lists.collect { |l| l.is_a?(List) ? l : parse(l) } lists.collect { |l| l.load_members ; Set.new(l.members) } end |
.parse(str) ⇒ Object
20 21 22 23 24 |
# File 'lib/twitter-lists/list.rb', line 20 def parse(str) n = new n.user, n.name = str.sub(/^@/,'').split('/') n end |
.parse_and_load(str) ⇒ Object
26 27 28 29 30 |
# File 'lib/twitter-lists/list.rb', line 26 def parse_and_load(str) n = parse(str) n.load_members n end |
.setup_basic_auth(username, password) ⇒ Object
16 17 18 |
# File 'lib/twitter-lists/list.rb', line 16 def setup_basic_auth(username, password) self.twitter_base = Twitter::Base.new(Twitter::HTTPAuth.new(username, password)) end |
.twitter_base ⇒ Object
8 9 10 |
# File 'lib/twitter-lists/list.rb', line 8 def twitter_base @twitter_base end |
.twitter_base=(base) ⇒ Object
12 13 14 |
# File 'lib/twitter-lists/list.rb', line 12 def twitter_base=(base) @twitter_base=base end |
.union(*lists) ⇒ Object
37 38 39 40 |
# File 'lib/twitter-lists/list.rb', line 37 def union(*lists) sets = lists_to_sets(lists) sets.inject { |u,s| s.union u }.to_a end |
Instance Method Details
#load_members ⇒ Object
52 53 54 |
# File 'lib/twitter-lists/list.rb', line 52 def load_members self.members = load_members_paged.collect { |x| [x.id, x.screen_name] } end |
#load_members_paged(acc = [], cursor = -1)) ⇒ Object
64 65 66 67 68 |
# File 'lib/twitter-lists/list.rb', line 64 def load_members_paged(acc=[],cursor=-1) response = twitter_base.list_members(user,name,cursor) acc += response.users response.next_cursor == 0 ? acc : load_members_paged(acc,response.next_cursor) end |
#member_ids ⇒ Object
60 61 62 |
# File 'lib/twitter-lists/list.rb', line 60 def member_ids members.collect { |x| userid(x) } end |
#member_names ⇒ Object
56 57 58 |
# File 'lib/twitter-lists/list.rb', line 56 def member_names members.collect { |x| username(x) } end |
#twitter_base ⇒ Object
48 49 50 |
# File 'lib/twitter-lists/list.rb', line 48 def twitter_base self.class.twitter_base end |