From 7bcbc84198738ab052a69b6eef5b406d2a29e2ed Mon Sep 17 00:00:00 2001
From: Alexandre Morignot <erdnaxeli@gmail.com>
Date: Tue, 1 Jan 2013 23:17:43 +0100
Subject: [PATCH] Youtube Plugin is done !

---
 plugins/youtube_plugin.rb   | 11 ++++++++++-
 spec/site_plugin_spec.rb    |  2 +-
 spec/youtube_plugin_spec.rb |  7 +++++++
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/plugins/youtube_plugin.rb b/plugins/youtube_plugin.rb
index bffb681..262b83d 100644
--- a/plugins/youtube_plugin.rb
+++ b/plugins/youtube_plugin.rb
@@ -1,12 +1,21 @@
 require_relative '../lib/site_plugin.rb'
 
+require 'rubygems'
+require 'youtube_it'
+
 class YoutubePlugin < SitePlugin
     def self.can_handle?(site) 
         site =~ /^http:\/\/((www.)?youtube.(fr|com)\/watch\?v=|youtu\.be\/)[a-zA-Z0-9]+$/
     end
 
     public
+    # Store a new youtube api client
+    def initialize
+        @client = YouTubeIt::Client.new
+    end
+
     def get(url)
-        puts "Oh oh oh ! #{url}"
+        video = @client.video_by(url)
+        {:title => video.title, :author => video.author.name}
     end
 end
diff --git a/spec/site_plugin_spec.rb b/spec/site_plugin_spec.rb
index 241ab69..833ea20 100644
--- a/spec/site_plugin_spec.rb
+++ b/spec/site_plugin_spec.rb
@@ -14,7 +14,7 @@ describe SitePlugin do
     end
 
     describe '.for_site' do
-        it 'return plugin that can handle a given site"' do
+        it 'return plugin that can handle a given site' do
             class TestPlugin2 < SitePlugin
                 def self.can_handle?(site)
                     site =~ /test/
diff --git a/spec/youtube_plugin_spec.rb b/spec/youtube_plugin_spec.rb
index 3dba54c..8a6c06e 100644
--- a/spec/youtube_plugin_spec.rb
+++ b/spec/youtube_plugin_spec.rb
@@ -14,4 +14,11 @@ describe YoutubePlugin do
             YoutubePlugin.can_handle?('http://youtu.be/Pb8VPYMgHlg').should be_true
         end
     end
+
+    describe '#get' do
+        it "return video's informations" do
+            YoutubePlugin.new.get('http://youtube.com/watch?v=Pb8VPYMgHlg')[:title].should == 'DJ Showtek - FTS (Fuck the system)'
+            YoutubePlugin.new.get('http://youtube.com/watch?v=Pb8VPYMgHlg')[:author].should == 'bf2julian'
+        end
+    end
 end
-- 
GitLab