class EodFacade::Dividends
Public Class Methods
call(symbol, params = {})
click to toggle source
# File lib/eod_facade/dividends.rb, line 9 def call(symbol, params = {}) unless Cache::RedisCache.get(redis_key(symbol, params[:from], params[:to])) response = make_request(url_path(symbol), params.merge(fmt: 'json')) unless response.success? raise ArgumentError, "Error fetching dividend data for #{symbol}" end Cache::RedisCache.set( redis_key(symbol, params[:from], params[:to]), response.parsed_response.to_json ) end Oj.load(Cache::RedisCache.get(redis_key(symbol, params[:from], params[:to]))) end
Private Class Methods
redis_key(symbol, from, to)
click to toggle source
# File lib/eod_facade/dividends.rb, line 32 def redis_key(symbol, from, to) "#{symbol}_#{from || ''}_#{to || ''}_dividend" end
url_path(symbol)
click to toggle source
# File lib/eod_facade/dividends.rb, line 28 def url_path(symbol) "/div/#{symbol}" end