class Ovchipkaart::Scraper

Attributes

balance[R]

Public Class Methods

scrape() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 8
def self.scrape
  scraper = new
  scraper.visit_ovchipkaart
  scraper.login_user
  scraper.visit_transaction_overview
  scraper.select_transaction_period
  scraper.checkbox_all_transactions
  scraper.download_transaction_history
  scraper.find_balance
  scraper
end

Public Instance Methods

checkbox_all_transactions() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 44
def checkbox_all_transactions
  check('transactiePanel:container:transacties.declareerAlles')
  self
end
download_transaction_history() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 49
def download_transaction_history
  click_link 'Opslaan als CSV'
  self
end
find_balance() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 54
def find_balance
  @balance = all('span', text: /[€,\d]/)[5].text
end
login_user() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 26
def login_user
  fill_in 'gebruikersnaam', with: Ovchipkaart.config[:username]
  fill_in 'wachtwoord',     with: Ovchipkaart.config[:password]
  click_button 'Inloggen'
  self
end
select_transaction_period() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 38
def select_transaction_period
  select('2013', from: 'periodes')
  click_button 'Transacties tonen'
  self
end
visit_ovchipkaart() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 20
def visit_ovchipkaart
  visit('https://www.ov-chipkaart.nl/login/')
  accept_cookies if need_to_accept_cookies?
  self
end
visit_transaction_overview() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 33
def visit_transaction_overview
  click_link 'Transactieoverzicht'
  self
end

Private Instance Methods

accept_cookies() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 64
def accept_cookies
  click_on('Ik accepteer deze cookies') rescue Capybara::ElementNotFound
end
need_to_accept_cookies?() click to toggle source
# File lib/ovchipkaart/scraper.rb, line 60
def need_to_accept_cookies?
  !find_link('Ik accepteer deze cookies').nil? rescue Capybara::ElementNotFound
end