Class: JamrockStocks::Mayberry

Inherits:
Object
  • Object
show all
Defined in:
lib/jamrock_stocks/brokers/mayberry.rb

Constant Summary collapse

STRING_NO_SPACE =
''
REGEXP_DOLLAR_SIGN =
/\$/
REGEXP_NON_BREAKING_SPACE =
/\u00a0/
STOCKS_URL =
'https://www.mayberryinv.com/PhysicalPages/Ticker/TickerDataSource.aspx'
TRADES_URL =
'https://www.mayberryinv.com/PhysicalPages/Ticker/TickerTradeDataSource.aspx'
BASE_HTML_PATH =
'span#TickerSpan > table > tr > td > table > tr > td > table >'
SYMBOLS_HTML_PATH =
"#{BASE_HTML_PATH} tr[2] > td > strong > span[1]"
PRICE_HTML_PATH =
"#{BASE_HTML_PATH} tr[2] > td > strong > span[2]"
CHANGE_AND_VOLUME_HTML_PATH =
"#{BASE_HTML_PATH} tr[4] > td > strong"
TIME_HTML_PATH =
'span#TickerSpan > table > tr > td > table > tr > td[2] > span#LabelSummaryTime'
TRADES_HTML_PATH =
'span#TickerTradeDataSpan > table > tr > td'

Instance Method Summary collapse

Instance Method Details

#clear_pageObject



27
28
29
# File 'lib/jamrock_stocks/brokers/mayberry.rb', line 27

def clear_page
  @pate = nil
end

#clear_stocksObject



23
24
25
# File 'lib/jamrock_stocks/brokers/mayberry.rb', line 23

def clear_stocks
  @stocks = nil
end

#fetch_stocksObject



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/jamrock_stocks/brokers/mayberry.rb', line 36

def fetch_stocks
  reset
  stocks = []
  stock_symbols.count.times do |index|
    stocks << Stock.new(symbol: stock_symbols[index],
                        price:  stock_prices[index].to_f,
                        change: change_and_volume[index][0].to_f,
                        volume: change_and_volume[index][1].to_i,
                        updated_at: updated_at)
  end
  stocks
end

#resetObject



31
32
33
34
# File 'lib/jamrock_stocks/brokers/mayberry.rb', line 31

def reset
  clear_stocks
  clear_page
end

#stocksObject



19
20
21
# File 'lib/jamrock_stocks/brokers/mayberry.rb', line 19

def stocks
  @stocks ||= fetch_stocks
end