Pour mon thème actuel, j’ai eu besoin de récupérer le nombre de mes followers Twitter en Ruby. Jusqu’ici, je mettais le compteur à jour manuellement une fois de temps en temps, dans le genre feignasse, on peut difficilement faire mieux. Ça n’a rien de vraiment compliqué, mais je me dis que ça peut en intéresser d’autres, du coup je le partage avec vous.

Afin de ne pas bombarder l’API Twitter et ne pas pénaliser le temps de chargement des pages, ce snippet vient avec un système de cache de deux heures. À utiliser sans modération.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'open-uri'
require 'json'
 
def get_twitter_counter twitter_id
  url = "http://api.twitter.com/1/users/show.json?screen_name=#{twitter_id}"
  cache = File.join(Rails.root, "tmp", "twitter_counter")
  
  return File.read(cache) if File.exists?(cache) && (Time.now - File.mtime(cache)).to_i < 7200
 
  begin
    open(url) {|http| @json = JSON.parse(http.read)}
    File.open(cache, 'w') {|f| f.write(@json['followers_count']) }
  rescue 
    return 1337
  end
 
  return @json['followers_count']
end

Voilà, c’est tout. Je devrais partager pas mal d’autres snippets de code dans les semaines à venir. Bon week-end.

Perry the Platypus wants you to subscribe now! Even if you don't visit my site on a regular basis, you can get the latest posts delivered to you for free via Email: