Sha256: bb628e4f6b97c19139d63ba591eb283e793e11ecdb8db240d87ee4e686658af1

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

module ShareCounts
  module Reddit
    extend Common
    extend Caching
    
    def self.info_for url, raise_exceptions = false
      try("reddit-details", url, raise_exceptions) {
        data = extract_info from_json( "http://www.reddit.com/api/info.json", :url => url ), :selector => "data/children/data" 
        data.select{|k, v| ["permalink", "score"].include? k }.map{|x| { x[0] => x[1] } }.to_hash
      }
    end
    
    def self.by_domain domain, raise_exceptions = false
      try("reddit-domain", domain, raise_exceptions) {
        urls = extract_info from_json("http://www.reddit.com/domain/#{domain}.json"), :selector => "data/children", :preserve_arrays => true 
        urls.inject({}) do |result, url_all_info|
          url_data    = extract_info(url_all_info, :selector => "data").reject{ |key, value| !["permalink", "score", "url"].include? key } 
          url         = url_data.delete "url"
          p url
          result[url] = url_data
          
          result
        end
      }
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
share_counts-0.1.1 lib/share_counts/reddit.rb
share_counts-0.1.0 lib/share_counts/reddit.rb