diff options
Diffstat (limited to 'app/helpers/users_helper.rb')
-rw-r--r-- | app/helpers/users_helper.rb | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 93067e8..2ce1765 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -1,6 +1,7 @@ -module UsersHelper require "open-uri" +require "rexml/document" +module UsersHelper def mentions(content) users = [] words = content.scan(/@[a-zA-Z0-9_]{1,16}/) @@ -11,15 +12,16 @@ require "open-uri" users.uniq end - def get_youtube(yt_name) - yt = {channel: yt_name} - if yt_name.blank? + def get_youtube(yt_channel) + yt = {channel: yt_channel} + if yt_channel.blank? yt[:channel] = nil yt[:channel_name] = nil yt[:is_correct?] = true else begin - yt[:channel_name] = JSON.parse(open("https://gdata.youtube.com/feeds/api/users/#{CGI.escape(yt_name)}?alt=json", :read_timeout => 1).read)["entry"]["title"]["$t"] + # TODO: This whole thing needs to be gone badly + yt[:channel_name] = REXML::Document.new(open("https://www.youtube.com/feeds/videos.xml?channel_id=#{CGI.escape(yt_channel)}", :read_timeout => 1)).root.elements.find{ |n| n.name == "title" }.text yt[:is_correct?] = true rescue yt[:is_correct?] = false |