Żyję w świecie mikroblogów, tu blip tam twit… nie lubię tego ale muszę
się dostosować. O ile prywatne twitowanie nie jest takie straszne to
czasami potrzebujemy czegoś więcej. Puścić twita z naszej aplikacji jako
inny użytkownik… i tak kilka razy dziennie.
Chciałbym posiąść narzędzie, które roześle mi daną wiadomość na cały
świat… bez przełaczania się, wylogowywania i innych czasochłonnych
czynności.
Tak narodził się Twilip.
Twilip został napisany osobiście przeze mnie, tym bardziej jestem z tego
dumny, że jest to pierwszy mój publiczny gem :) W początkowej wersji są
4 adaptery: do Twittera, Blipa,
Flakera oraz Pingera. Ale może
zostać poszerzony o dodatkowe.
Co robi Twilip?
Twilip tak właściwie robi tylko jedno zadanie: za pośrednictwem
dołączonych adapterów rozsyła wiadomość do konkretnych microblogów.
Zasada działania Mikroblogów jest bardzo podobna więc adaptery też są
prawie takie same.
Dodatkową funkcjonalnością jest wycinanie z treści wiadomości adresów
http i skracanie ich za pośrednictwem googl.
Czy wszystko zostało napisane od zera?
Jak to powiada moja ukochana teściowa: „Czyś ty zgłupiał?” ;)
oczywiście, że nie, trzeba się trochę polenić. Napisałem prostrze
rzeczy, ale łączenie z Twitterem lub Googl zostawiłem odpowiednim gemom.
Właściwie jak to działa?
Właściwie to czas już to wyjaśnić.
Tworzymy plik konfiguracyjny w YAML, np:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
adapters: - flaker - blip - twitter blip: login: bliplogin password: blippassword twitter: consumer_key: key consumer_secret: secret oauth_token: oauth-token oauth_token_secret: oauth-secret flaker: login: flakerlogin password: flakerpassword pinger: login: pingerlogin password: pingerpassword |
Plik konfiguracyjny mówi sam za siebie adapters
to lista adapterów
których chcemy użyć w naszej aplikacji, a poniżej dane do logowania dla
poszczególnych adapterów.
Instalacja
Prościej nie trzeba:
1 2 |
gem install twilip |
Jak użyć tworzymy instancję Twilipa podając plik konfiguracyjny i
wysyłamy wiadomość.
1 2 3 4 5 6 7 8 9 10 11 |
require 'rubygems' require 'twilip' @config_file = File.join(File.dirname(__FILE__), 'twilip.yml') tags="ruby, rails, other_tag" message = "Popełniłem nowy tekst na blogu: #{site_url} zapraszam" @client = Twilip::Client.new @config_file @client.deliver message, tags |
Powyższy fragment pochodzi z Rakefile znajdującego się na moim blogu,
który publikuje linka do mojego posta (tak się stanie ja ten post
zostanie puszczony w świat).
Gdzie są testy?
Po co? przecież gem działa ;)
Koniec
Mam jeszcze kilka pomysłów jak rozwinąć ten gem, gdy będę miał trochę
czasu to może uda mi się je zrealizować :)
A tak właściwe skąd się wzięła Kanada w tytule?
Bo tak w trójmieście mówi się o Kościerzynie ;)
Miłego Twilipowania.
.