Created
January 26, 2012 03:12
-
-
Save wallerdev/1680733 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Ruby$ ruby broken.rb | |
Apartment found at The Oaks ( 2 BEDROOM ) | |
Frame number: 0/11 | |
Frame type: block | |
From: broken.rb @ line 61 in AdChecker#check_ad: | |
56: # If something matches the apartment hash, we output it | |
57: print "Apartment found at #{key}" | |
58: | |
59: print " ( SPRING )" if check_title_and_content(Periods) | |
60: print " ( 2 BEDROOM )" if check_title_and_content(Bedrooms) | |
=> 61: binding.pry | |
62: puts "\n", @title, @url, "\n" | |
63: end | |
64: end | |
65: end | |
66: end | |
[1] pry(#<AdChecker>)> show-stack | |
Showing all accessible frames in stack: | |
-- | |
=> #0 [block] block in check_ad <AdChecker#check_ad()> | |
#1 [method] check_ad <AdChecker#check_ad()> | |
#2 [block] block in find_from_feed <ApartmentFinder#find_from_feed(feed)> | |
#3 [method] find_from_feed <ApartmentFinder#find_from_feed(feed)> | |
#4 [block] block (2 levels) in find <ApartmentFinder#find(urls)> | |
#5 [method] open_uri <OpenURI.open_uri(name, *rest)> | |
#6 [method] open <OpenURI::OpenRead#open(*rest, &block)> | |
#7 [method] open <Kernel#open(name, *rest, &block)> | |
#8 [block] block in find <ApartmentFinder#find(urls)> | |
#9 [method] find <ApartmentFinder#find(urls)> | |
#10 [eval] <main> | |
#11 [top] <main> | |
[2] pry(#<AdChecker>)> up | |
Frame number: 1/11 | |
Frame type: method | |
From: broken.rb @ line 54 in AdChecker#check_ad: | |
49: def check_title_and_content(regexes) | |
50: regexes.any? { |regex| @title =~ regex || @content =~ regex } | |
51: end | |
52: | |
53: def check_ad | |
=> 54: Apartments.each_key do |key| | |
55: if check_title_and_content(Apartments[key]) | |
56: # If something matches the apartment hash, we output it | |
57: print "Apartment found at #{key}" | |
58: | |
59: print " ( SPRING )" if check_title_and_content(Periods) | |
[3] pry(#<AdChecker>)> up | |
Frame number: 2/11 | |
Frame type: block | |
From: broken.rb @ line 35 in ApartmentFinder#find_from_feed: | |
30: | |
31: # Check each item in the feed | |
32: def find_from_feed(feed) | |
33: feed.items.each do |entry| | |
34: checker = AdChecker.new(entry.title, entry.description, entry.link) | |
=> 35: checker.check_ad | |
36: end | |
37: end | |
38: end | |
39: | |
40: class AdChecker | |
[4] pry(#<ApartmentFinder>)> up | |
Frame number: 3/11 | |
Frame type: method | |
From: broken.rb @ line 33 in ApartmentFinder#find_from_feed: | |
28: end | |
29: end | |
30: | |
31: # Check each item in the feed | |
32: def find_from_feed(feed) | |
=> 33: feed.items.each do |entry| | |
34: checker = AdChecker.new(entry.title, entry.description, entry.link) | |
35: checker.check_ad | |
36: end | |
37: end | |
38: end | |
[5] pry(#<ApartmentFinder>)> up | |
Frame number: 4/11 | |
Frame type: block | |
From: broken.rb @ line 26 in ApartmentFinder#find: | |
21: # Find apartments based on the rss feed urls given. | |
22: def find(urls) | |
23: urls.each do |url| | |
24: open(url) do |rss| | |
25: feed = RSS::Parser.parse(rss) | |
=> 26: find_from_feed(feed) | |
27: end | |
28: end | |
29: end | |
30: | |
31: # Check each item in the feed | |
[6] pry(#<ApartmentFinder>)> up | |
Frame number: 5/11 | |
Frame type: method | |
From: /Users/Eddie/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/open-uri.rb @ line 150 in OpenURI.open_uri: | |
145: | |
146: io = open_loop(uri, options) | |
147: io.set_encoding(encoding) if encoding | |
148: if block_given? | |
149: begin | |
=> 150: yield io | |
151: ensure | |
152: io.close | |
153: end | |
154: else | |
155: io | |
[7] pry(OpenURI)> up | |
Frame number: 6/11 | |
Frame type: method | |
From: /Users/Eddie/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/open-uri.rb @ line 671 in OpenURI::OpenRead#open: | |
666: # OpenURI::HTTPRedirect exception raised on redirection. | |
667: # It is true by default. | |
668: # The true means redirections between http and ftp is permitted. | |
669: # | |
670: def open(*rest, &block) | |
=> 671: OpenURI.open_uri(self, *rest, &block) | |
672: end | |
673: | |
674: # OpenURI::OpenRead#read([options]) reads a content referenced by self and | |
675: # returns the content as string. | |
676: # The string is extended with OpenURI::Meta. | |
[8] pry(#<URI::HTTP>)> up | |
Frame number: 7/11 | |
Frame type: method | |
From: /Users/Eddie/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/open-uri.rb @ line 33 in Kernel#open: | |
28: if name.respond_to?(:open) | |
29: name.open(*rest, &block) | |
30: elsif name.respond_to?(:to_str) && | |
31: %r{\A[A-Za-z][A-Za-z0-9+\-\.]*://} =~ name && | |
32: (uri = URI.parse(name)).respond_to?(:open) | |
=> 33: uri.open(*rest, &block) | |
34: else | |
35: open_uri_original_open(name, *rest, &block) | |
36: end | |
37: end | |
38: module_function :open | |
[9] pry(#<ApartmentFinder>)> up | |
Frame number: 8/11 | |
Frame type: block | |
From: broken.rb @ line 24 in ApartmentFinder#find: | |
19: | |
20: class ApartmentFinder | |
21: # Find apartments based on the rss feed urls given. | |
22: def find(urls) | |
23: urls.each do |url| | |
=> 24: open(url) do |rss| | |
25: feed = RSS::Parser.parse(rss) | |
26: find_from_feed(feed) | |
27: end | |
28: end | |
29: end | |
[10] pry(#<ApartmentFinder>)> up | |
Frame number: 9/11 | |
Frame type: method | |
From: broken.rb @ line 23 in ApartmentFinder#find: | |
18: | |
19: | |
20: class ApartmentFinder | |
21: # Find apartments based on the rss feed urls given. | |
22: def find(urls) | |
=> 23: urls.each do |url| | |
24: open(url) do |rss| | |
25: feed = RSS::Parser.parse(rss) | |
26: find_from_feed(feed) | |
27: end | |
28: end | |
[11] pry(#<ApartmentFinder>)> up | |
Frame number: 10/11 | |
Frame type: eval | |
From: broken.rb @ line 69: | |
64: end | |
65: end | |
66: end | |
67: | |
68: apartment_finder = ApartmentFinder.new | |
=> 69: apartment_finder.find([ | |
70: 'http://lansing.craigslist.org/apa/index.rss', | |
71: 'http://lansing.craigslist.org/sub/index.rss' | |
72: ]) | |
[12] pry(main)> up | |
Frame number: 11/11 | |
Frame type: top | |
From: broken.rb @ line 0: | |
1: # This script can be used to check craigslist to see if certain apartment complexes become available. | |
2: # You can customize the Apartments, Periods and Bedrooms below to change the parameters. | |
3: | |
4: require 'rubygems' | |
5: require 'htmlentities' | |
[13] pry(main)> up | |
Error: At top of stack, cannot go further! | |
[14] pry(main)> down | |
Frame number: 10/11 | |
Frame type: eval | |
From: broken.rb @ line 69: | |
64: end | |
65: end | |
66: end | |
67: | |
68: apartment_finder = ApartmentFinder.new | |
=> 69: apartment_finder.find([ | |
70: 'http://lansing.craigslist.org/apa/index.rss', | |
71: 'http://lansing.craigslist.org/sub/index.rss' | |
72: ]) | |
[15] pry(main)> down | |
Frame number: 9/11 | |
Frame type: method | |
From: broken.rb @ line 23 in ApartmentFinder#find: | |
18: | |
19: | |
20: class ApartmentFinder | |
21: # Find apartments based on the rss feed urls given. | |
22: def find(urls) | |
=> 23: urls.each do |url| | |
24: open(url) do |rss| | |
25: feed = RSS::Parser.parse(rss) | |
26: find_from_feed(feed) | |
27: end | |
28: end | |
[16] pry(#<ApartmentFinder>)> urls | |
=> ["http://lansing.craigslist.org/apa/index.rss", | |
"http://lansing.craigslist.org/sub/index.rss"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment