class UrlFormatter

Public Class Methods

new(auth, page, params, row_limit) click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 2
def initialize(auth, page, params, row_limit)
  @auth = auth
  @page = page
  @params = params
  @row_limit = row_limit
end

Public Instance Methods

run() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 9
def run
  if @page
    stock_num = ((@page * @row_limit) + 1) - @row_limit
  else
    stock_num = 0
  end
  "#{url}&r=#{stock_num}"
end

Private Instance Methods

base_url() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 40
def base_url
  "http://#{'elite.' if @auth}finviz.com/screener.ashx?v=111"
end
filters() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 28
def filters
  "f=#{FilterMapper.new(@params).run}"
end
order() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 32
def order
  "o=#{@params[:order]}"
end
signal() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 24
def signal
  "s=#{@params[:signal]}"
end
tickers() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 36
def tickers
  "t=#{@params[:tickers].join(',') if @params[:tickers]}"
end
url() click to toggle source
# File lib/finviz_rails/url_formatter.rb, line 20
def url
  @url ||= [base_url, signal, filters, order, tickers].join("&")
end