Class: FinancialDataPull::Stock

Inherits:
Object
  • Object
show all
Defined in:
lib/financial_data_pull/stock.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(prevclose = nil, open = nil, bid = nil, ask = nil, oneyeartarget = nil, beta = nil, nextearningdate = nil, daysrange = nil, fiftytwoweekrange = nil, volume = nil, avgvolume = nil, marketcap = nil, pettm = nil, epsttm = nil, divyield = nil, title = nil) ⇒ Stock

Returns a new instance of Stock.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/financial_data_pull/stock.rb', line 34

def initialize(prevclose=nil, open=nil, bid=nil, ask=nil, oneyeartarget=nil, beta=nil, nextearningdate=nil, daysrange=nil, fiftytwoweekrange=nil, volume=nil, avgvolume=nil, marketcap=nil, pettm=nil, epsttm=nil, divyield=nil, title=nil)
  @prevclose = prevclose
  @open = open
  @bid = bid
  @ask = ask
  @oneyeartarget = oneyeartarget
  @beta = beta
  @nextearningdate = nextearningdate
  @daysrange = daysrange
  @fiftytwoweekrange = fiftytwoweekrange
  @volume = volume
  @avgvolume = avgvolume
  @marketcap = marketcap
  @pettm = pettm
  @epsttm = epsttm
  @divyield = divyield
  @title = title
end

Instance Attribute Details

#askObject

Returns the value of attribute ask.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def ask
  @ask
end

#avgvolumeObject

Returns the value of attribute avgvolume.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def avgvolume
  @avgvolume
end

#betaObject

Returns the value of attribute beta.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def beta
  @beta
end

#bidObject

Returns the value of attribute bid.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def bid
  @bid
end

#daysrangeObject

Returns the value of attribute daysrange.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def daysrange
  @daysrange
end

#divyieldObject

Returns the value of attribute divyield.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def divyield
  @divyield
end

#epsttmObject

Returns the value of attribute epsttm.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def epsttm
  @epsttm
end

#fiftytwoweekrangeObject

Returns the value of attribute fiftytwoweekrange.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def fiftytwoweekrange
  @fiftytwoweekrange
end

#marketcapObject

Returns the value of attribute marketcap.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def marketcap
  @marketcap
end

#nextearningdateObject

Returns the value of attribute nextearningdate.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def nextearningdate
  @nextearningdate
end

#oneyeartargetObject

Returns the value of attribute oneyeartarget.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def oneyeartarget
  @oneyeartarget
end

#openObject

Returns the value of attribute open.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def open
  @open
end

#pettmObject

Returns the value of attribute pettm.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def pettm
  @pettm
end

#prevcloseObject

Returns the value of attribute prevclose.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def prevclose
  @prevclose
end

#tickerObject

Returns the value of attribute ticker.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def ticker
  @ticker
end

#titleObject

Returns the value of attribute title.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def title
  @title
end

#volumeObject

Returns the value of attribute volume.



3
4
5
# File 'lib/financial_data_pull/stock.rb', line 3

def volume
  @volume
end

Class Method Details

.new_from_scrape(website) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/financial_data_pull/stock.rb', line 8

def self.new_from_scrape(website)

self.new(
  # 0 - 14 from table
   @prevclose = website.css("td.yfnc_tabledata1")[0].text,
   @open = website.css("td.yfnc_tabledata1")[1].text,
   @bid = website.css("td.yfnc_tabledata1")[2].text,
   @ask = website.css("td.yfnc_tabledata1")[3].text,
   @oneyeartarget = website.css("td.yfnc_tabledata1")[4].text,
   @beta = website.css("td.yfnc_tabledata1")[5].text,
   @nextearningdate = website.css("td.yfnc_tabledata1")[6].text,
   @daysrange = website.css("td.yfnc_tabledata1")[7].text,
   @fiftytwoweekrange = website.css("td.yfnc_tabledata1")[8].text,
   @volume = website.css("td.yfnc_tabledata1")[9].text,
   @avgvolume = website.css("td.yfnc_tabledata1")[10].text,
   @marketcap = website.css("td.yfnc_tabledata1")[11].text,
   @pettm = website.css("td.yfnc_tabledata1")[12].text,
   @epsttm = website.css("td.yfnc_tabledata1")[13].text,
   @divyield = website.css("td.yfnc_tabledata1")[14].text,
  #title
   @title = website.css(".title h2").text
  )
  printstock
  
end

.printstockObject



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/financial_data_pull/stock.rb', line 53

def self.printstock
  puts "......................................."
  puts " --->#{@title}<---"
  puts " Prev Close: #{@prevclose}"              
  puts " Open: #{@open}"
  puts " Bid: #{@bid}"
  puts " Ask: #{@ask}"
  puts " 1y Target Est: #{@oneyeartarget}"
  puts " Beta: #{@beta}"
  puts " Next Earnings Date: #{@nextearningdate}"
  puts " Day's Range: #{@daysrange}"
  puts " 52wk Range: #{@fiftytwoweekrange}"
  puts " Volume: #{@volume}"
  puts " Avg Vol (3m): #{@avgvolume}"
  puts " Market Cap: #{@marketcap}"
  puts " P/E (ttm): #{@pettm}"
  puts " EPS (ttm): #{@epsttm}"
  puts " Div & Yield: #{@divyield}"
  puts ".......................................\n\n"
end