class Arbitrage::NearbyCraigslists

Attributes

all_indexes[RW]
original_product[RW]
scraper[RW]

Public Class Methods

new(original_product,scraper) click to toggle source
# 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

Public Instance Methods

find_nearby_url(zipcode) click to toggle source
# 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_craigslists() click to toggle source
# 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_craigslists() click to toggle source
# 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_indexes() click to toggle source
# File lib/arbitrage/nearby-craigslists.rb, line 14
def save_all_indexes
  next_two_craigslists
  prev_two_craigslists
end
save_original_url() click to toggle source
# File lib/arbitrage/nearby-craigslists.rb, line 10
def save_original_url
  self.all_indexes << self.scraper.url
end
url_stored?(zipcode) click to toggle source
# 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