class RedditMediaChecker

Public Class Methods

new(url, pages) click to toggle source
# File lib/reddit_media_checker.rb, line 7
def initialize(url, pages)
  if !url.end_with?(".json")
    url = url + ".json"
  end
  if pages <= 0
    puts "Must be given an integer number of pages greater than zero."
  else
    @url = url
    @pages = pages
    getJson(@url)
  end
end

Public Instance Methods

getJson(url) click to toggle source
# File lib/reddit_media_checker.rb, line 20
def getJson(url)
  uri = URI.parse(url)
  request = Net::HTTP::Get.new(uri)
  response = Net::HTTP.new(uri.hostname, uri.port()).start { |http|
    http.request(request)
  }
  
  if(response.is_a? Net::HTTPSuccess)
    @pages-=1
    parseJson(response.body)
  else
    puts "Connection Failed!"
  end
end
parseJson(redditJson) click to toggle source
# File lib/reddit_media_checker.rb, line 35
def parseJson(redditJson)
  parsed = JSON.parse(redditJson)
  links = parsed["data"]["children"]
  
  for link in links
    data = link["data"]
    if data["media"] != nil
      puts data["domain"] + " -> " + data["permalink"]
    end
  end
  
  if @pages > 0 && parsed["data"]["after"] != nil
    getJson(@url + "?after=" + parsed["data"]["after"])
  end
end