Sha256: 39cab69806a5a05724708d8354bcf4518dce02e414287c55b37615ac98acda4a
Contents?: true
Size: 817 Bytes
Versions: 8
Compression:
Stored size: 817 Bytes
Contents
# frozen_string_literal: true require 'oj' require_relative '../cache/redis_cache.rb' module EodFacade class Fundamentals < ::EodFacade::Base class << self def call(symbol) unless Cache::RedisCache.get(redis_key(symbol)) response = make_request(url_path(symbol)) unless response.success? raise ArgumentError, "Error fetching fundamentals data for #{symbol}" end Cache::RedisCache.set( redis_key(symbol), response.parsed_response.to_json ) end Oj.load(Cache::RedisCache.get(redis_key(symbol))) end private def url_path(symbol) "/fundamentals/#{symbol}" end def redis_key(symbol) "#{symbol}_fundamentals" end end end end
Version data entries
8 entries across 8 versions & 1 rubygems