Class: TipRanksForecast::Stock

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

Constant Summary collapse

CONSENSUS =
/(\d+)\D+(\d+)\D+(\d+)\D+(\d+)/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(symbol) ⇒ Stock

Returns a new instance of Stock.



10
11
12
# File 'lib/tip_ranks_forecast/stock.rb', line 10

def initialize(symbol)
  @symbol = symbol.downcase
end

Instance Attribute Details

#symbolObject (readonly)

Returns the value of attribute symbol.



6
7
8
# File 'lib/tip_ranks_forecast/stock.rb', line 6

def symbol
  @symbol
end

Instance Method Details

#buy_ratingsObject



14
15
16
# File 'lib/tip_ranks_forecast/stock.rb', line 14

def buy_ratings
  search(consensus_data, CONSENSUS, 2).to_i
end

#high_forecastObject



18
19
20
# File 'lib/tip_ranks_forecast/stock.rb', line 18

def high_forecast
  currency_int(search(price_target_data, /high forecast of \$([0-9,.]+)/))
end

#hold_ratingsObject



22
23
24
# File 'lib/tip_ranks_forecast/stock.rb', line 22

def hold_ratings
  search(consensus_data, CONSENSUS, 3).to_i
end

#low_forecastObject



26
27
28
# File 'lib/tip_ranks_forecast/stock.rb', line 26

def low_forecast
  currency_int(search(price_target_data, /low forecast of \$([0-9,.]+)/))
end

#num_analystsObject



30
31
32
# File 'lib/tip_ranks_forecast/stock.rb', line 30

def num_analysts
  search(price_target_data, /Based on (\d+)/).to_i
end

#price_targetObject



34
35
36
# File 'lib/tip_ranks_forecast/stock.rb', line 34

def price_target
  currency_int(search(price_target_data, /Average Price Target\$([0-9,.]+)/))
end

#sell_ratingsObject



38
39
40
# File 'lib/tip_ranks_forecast/stock.rb', line 38

def sell_ratings
  search(consensus_data, CONSENSUS, 4).to_i
end