Class: Favt::TwitterClient
- Inherits:
-
Object
- Object
- Favt::TwitterClient
- Defined in:
- lib/favt.rb
Instance Method Summary collapse
- #favorite_posts ⇒ Object
- #favorites_from_user ⇒ Object
- #init_client ⇒ Object
-
#initialize(options) ⇒ TwitterClient
constructor
A new instance of TwitterClient.
- #render ⇒ Object
- #take(set_fav_posts) ⇒ Object
- #target_users ⇒ Object
- #to_set(favorites) ⇒ Object
Constructor Details
#initialize(options) ⇒ TwitterClient
Returns a new instance of TwitterClient.
19 20 21 22 23 24 25 26 |
# File 'lib/favt.rb', line 19 def initialize() yaml_file = ["config_file"] || "config.yaml" @render = ["render"] || Render = @config = YAML.load_file(yaml_file) self.init_client() end |
Instance Method Details
#favorite_posts ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/favt.rb', line 50 def favorite_posts show_fav_posts = self.to_set(self.favorites_from_user.sort do |prev_post, next_post| next_post.id <=> prev_post.id end) return self.take(show_fav_posts) end |
#favorites_from_user ⇒ Object
28 29 30 31 32 33 |
# File 'lib/favt.rb', line 28 def favorites_from_user users = self.target_users return users.flat_map do |user| @client.favorites user end end |
#init_client ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/favt.rb', line 9 def init_client keys = @config["client"] @client = Twitter::REST::Client.new do |config| config.consumer_key = keys["consumer_key"] config.consumer_secret = keys["consumer_secret"] config.access_token = keys["access_token"] config.access_token_secret = keys["access_token_secret"] end end |
#render ⇒ Object
71 72 73 74 75 |
# File 'lib/favt.rb', line 71 def render self.favorite_posts.each do |_, favorite| print @render.new(favorite, ).to_s end end |
#take(set_fav_posts) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/favt.rb', line 35 def take(set_fav_posts) show_count = ["show_count"].to_i || 0 if show_count != 0 return set_fav_posts.take(show_count) end return set_fav_posts end |
#target_users ⇒ Object
43 44 45 46 47 48 |
# File 'lib/favt.rb', line 43 def target_users if !["user"] return @config["users"] end return [["user"]] end |
#to_set(favorites) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/favt.rb', line 58 def to_set(favorites) favorites_dict = {} favorites.each do |favorite| if !(favorites_dict.key? favorite.id) favorites_dict[favorite.id] = { "users" => 1, "post" => favorite} else favorites_dict[favorite.id]["users"] += 1 end end return favorites_dict end |