require 'rubypants' module WezM module Helpers module Articles def personal_articles sorted_articles.select { |a| a.identifier =~ %r{^/personal/} } end def technical_articles sorted_articles.select { |a| a.identifier =~ %r{^/technical/} } end def article_to_json(article) { :title => RubyPants.new(article[:title]).to_html, :path => article.identifier, :date => Time.parse(article[:created_at]).rfc2822, :text => RubyPants.new(article[:title]).to_html, :extra => RubyPants.new(article[:extra] || " ").to_html } end def short_url(url) require 'bitly' begin @bitly ||= Bitly.new('wezm', 'R_f2bfdace56c886671086eb0c8acb9ce7') @cache ||= {} unless u = @cache[url] u = @bitly.shorten(url) else puts "Cache hit on #{url}" end u.short_url rescue BitlyError nil end end end end end