devroom.io/lib/helpers/post.rb
2013-06-07 14:35:24 +02:00

41 lines
903 B
Ruby

module PostHelper
def articles_by_year(articles)
hash = Hash.new { |h, k| h[k] = [] }
articles.inject(hash) do |output, article|
year = attribute_to_time(article[:created_at]).year
output[year] << article
output
end
end
def get_summary(post, length = 200)
doc = Nokogiri.HTML(post.compiled_content)
summary = ""
paragraphs = doc.search("p")
paragraphs.each do |paragraph|
summary += paragraph.to_s
break if summary.size >= length
end
summary
end
def get_short_date(post)
attribute_to_time(post[:created_at]).strftime('%Y-%m-%d')
end
def get_pretty_date(post)
attribute_to_time(post[:created_at]).strftime('%-d %B %Y')
end
def get_tags(post)
if post[:tags].nil? || post[:tags].empty?
"(not tagged)"
else
post[:tags].compact.map { |tag| tag.downcase }.sort.join(", ")
end
end
end