class Pragmatic

Public Class Methods

media() click to toggle source
# File lib/pragmatic.rb, line 19
def self.media
  uri = URI 'http://pragprog.com/categories/all'
  doc = Nokogiri::HTML(open uri) 

  works = doc.css('.thumbnail')
  titles =  works.collect{|w| w.css('img').first.attributes['alt'].text.gsub('Cover Image For ','').gsub('...','') } 
  covers = works.collect{|w| w.css("img").first.attributes['src'].text}
  urls = works.collect{|w| w.css("a").first.attributes['href'].text}
  books = titles.zip(covers,urls).inject([]) do |books, book| 
    books << Book.new(*book) 
  end 

  JSON.parse(books.to_json) 
end