Class: Arbitrage::NearbyCraigslists

Inherits:
Object
  • Object
show all
Defined in:
lib/arbitrage/nearby-craigslists.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(original_product, scraper) ⇒ NearbyCraigslists

Returns a new instance of NearbyCraigslists.



4
5
6
7
8
# File 'lib/arbitrage/nearby-craigslists.rb', line 4

def initialize(original_product,scraper)
  self.scraper = scraper
  self.all_indexes = []
  self.original_product = original_product
end

Instance Attribute Details

#all_indexesObject

Returns the value of attribute all_indexes.



2
3
4
# File 'lib/arbitrage/nearby-craigslists.rb', line 2

def all_indexes
  @all_indexes
end

#original_productObject

Returns the value of attribute original_product.



2
3
4
# File 'lib/arbitrage/nearby-craigslists.rb', line 2

def original_product
  @original_product
end

#scraperObject

Returns the value of attribute scraper.



2
3
4
# File 'lib/arbitrage/nearby-craigslists.rb', line 2

def scraper
  @scraper
end

Instance Method Details

#find_nearby_url(zipcode) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/arbitrage/nearby-craigslists.rb', line 50

def find_nearby_url(zipcode)
  nearby_url = ""
  csv_data = File.read('rsc/clzips.csv')
  rows = csv_data.split("\n")
  people = rows.collect do |row|
    data = row.split(",")
    if data[1].to_i == zipcode
      nearby_url= data[0]
    end
  end
  nearby_url
end

#next_two_craigslistsObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/arbitrage/nearby-craigslists.rb', line 19

def next_two_craigslists
  i=0
  zipcode = self.original_product.zipcode.to_i
  until i == 2
    zipcode += 1
    if !(url_stored?(zipcode)) && find_nearby_url(zipcode) != ""
        self.all_indexes << find_nearby_url(zipcode)
        i += 1
    end
  end
end

#prev_two_craigslistsObject



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/arbitrage/nearby-craigslists.rb', line 32

def prev_two_craigslists
  i=0
  zipcode = self.original_product.zipcode.to_i
  until i == 2
    zipcode -= 1
    if !(url_stored?(zipcode)) && find_nearby_url(zipcode) != ""
        self.all_indexes << find_nearby_url(zipcode)
        i += 1
    end
  end
end

#save_all_indexesObject



14
15
16
17
# File 'lib/arbitrage/nearby-craigslists.rb', line 14

def save_all_indexes
  next_two_craigslists
  prev_two_craigslists
end

#save_original_urlObject



10
11
12
# File 'lib/arbitrage/nearby-craigslists.rb', line 10

def save_original_url
  self.all_indexes << self.scraper.url
end

#url_stored?(zipcode) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
47
48
# File 'lib/arbitrage/nearby-craigslists.rb', line 44

def url_stored?(zipcode)
  self.all_indexes.any? do |current_url|
    current_url == find_nearby_url(zipcode)
  end
end