class QuickTicker::Cli
Attributes
exit_message[RW]
last_option_lambda[RW]
scraper[RW]
stock[RW]
Public Class Methods
new(cli = nil)
click to toggle source
# File lib/cli.rb, line 7 def initialize(cli = nil) self.scraper = QuickTicker::Scraper.new(self) end
Public Instance Methods
display_stock_description()
click to toggle source
# File lib/cli.rb, line 30 def display_stock_description print "#{self.stock.description.sector} : #{self.stock.description.industry}\n\n" puts "#{self.stock.description.summary}".fit end
display_stock_header()
click to toggle source
# File lib/cli.rb, line 16 def display_stock_header print "\n#{self.stock.name} (#{self.stock.exchange}:#{self.stock.symbol})\n\n" end
display_stock_quote()
click to toggle source
# File lib/cli.rb, line 20 def display_stock_quote puts "Current: #{self.stock.quote.price} #{stock.quote.change}(#{stock.quote.change_pct}%)" puts "Open: #{self.stock.quote.open}" puts "Volume: #{self.stock.quote.volume}" puts "Avg Vol: #{self.stock.quote.volume_avg}" puts "Mkt Cap: #{self.stock.quote.mkt_cap}" puts "P/E(ttm): #{self.stock.quote.pe_ttm}" puts "Yield: #{self.stock.quote.div_yld}%" end
fetch_stock_description()
click to toggle source
# File lib/cli.rb, line 52 def fetch_stock_description self.display_stock_header self.display_stock_description self.call_stock_option_menu({ option_1_string: "Display a quote", option_2_string: "Display related companies", option_1_lambda: -> { self.fetch_stock_quote }, option_2_lambda: -> { self.fetch_stock_related_companies }, last_option_lambda: -> {self.last_option_lambda.()} }) end
fetch_stock_quote()
click to toggle source
# File lib/cli.rb, line 46 def fetch_stock_quote self.display_stock_header self.display_stock_quote self.call_stock_option_menu({ option_1_string: "Display a company description", option_2_string: "Display related companies", option_1_lambda: -> { self.fetch_stock_description }, option_2_lambda: -> { self.fetch_stock_related_companies }, last_option_lambda: -> {self.last_option_lambda.()} }) end
symbol_validation(symbol, fixture_url = nil)
click to toggle source
# File lib/cli.rb, line 90 def symbol_validation(symbol, fixture_url = nil) # stock_array[0] is a stock if one was succesfully created and nil otherwise. # stock_array[1] indicates whether the symbol cooresponds to a mutual fund. stock_array = self.scraper.load_gfs(symbol, fixture_url) self.stock = stock_array[0] valid = self.stock.nil? ? false : true puts "Invalid ticker symbol." if !valid puts "Mutual funds are not currently not supported." if stock_array[1] self.fetch_stock_quote if valid # returns an array. # array[0] - whether the entered symbol was valid # array[1] = stock_array[1] - whether the entered # symbol was a mutal fund. [valid, stock_array[1]] end
welcome(mode_name, mode_lambda)
click to toggle source
# File lib/cli.rb, line 11 def welcome(mode_name, mode_lambda) print "\nWelcome to " + mode_name + "!\n" mode_lambda.() end