class BarchartData::Scraper

Public Instance Methods

extract_symbols_from_page(page) click to toggle source
# File lib/barchart_scripts/scraper.rb, line 4
def extract_symbols_from_page page
  array = page.search('.ds_symbol').map { |e| e.text() }
  array.map! { |elem| elem.split }
end
insert_data(arr, sym) click to toggle source
# File lib/barchart_scripts/scraper.rb, line 16
def insert_data arr, sym
  case sym
  when :AllTimeHigh
    arr.each do |s|
      AllTimeHigh.create(symbol: s, saved_on: Time.current)
    end
  when :AllTimeLow
    arr.each do |s|
      AllTimeLow.create(symbol: s, saved_on: Time.current)
    end
  when :NewHigh
    arr.each do |s|
      NewHigh.create(symbol: s, saved_on: Time.current)
    end
  when :NewLow
    arr.each do |s|
      NewLow.create(symbol: s, saved_on: Time.current)
    end
  end
end
validate_data_integrity(dirty_array) click to toggle source
# File lib/barchart_scripts/scraper.rb, line 9
def validate_data_integrity dirty_array
  dirty_array.reduce([]) { |cleaned_array, i|
    cleaned_array << i if i.to_s == i.to_s.upcase
    cleaned_array
  }
end