forked from sferik/twitter-ruby
/
utils.rb
43 lines (40 loc) · 1.42 KB
/
utils.rb
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
41
42
43
# -*- encoding: utf-8 -*-
module Twitter
class Client
# @private
module Utils
private
# Remove @ signs from screen names
def clean_screen_name!(screen_name)
screen_name.gsub!(/[@@]/, '') if screen_name
end
# Take a single user ID or screen name and merge it into an options hash with the correct key
def merge_user_into_options!(user_id_or_screen_name, options={})
case user_id_or_screen_name
when Fixnum
options[:user_id] = user_id_or_screen_name
when String
clean_screen_name!(user_id_or_screen_name)
options[:screen_name] = user_id_or_screen_name
end
options
end
# Take a multiple user IDs and screen names and merge them into an options hash with the correct keys
def merge_users_into_options!(user_ids_or_screen_names, options={})
user_ids, screen_names = [], []
user_ids_or_screen_names.flatten.each do |user_id_or_screen_name|
case user_id_or_screen_name
when Fixnum
user_ids << user_id_or_screen_name
when String
clean_screen_name!(user_id_or_screen_name)
screen_names << user_id_or_screen_name
end
end
options[:user_id] = user_ids.join(',') unless user_ids.empty?
options[:screen_name] = screen_names.join(',') unless screen_names.empty?
options
end
end
end
end