class CryptoVal::List::CryptoCompare
Public Class Methods
fetch()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 8 def self.fetch new.fetch end
Public Instance Methods
fetch()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 4 def fetch format_response end
Private Instance Methods
base_url()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 14 def base_url "https://www.cryptocompare.com" end
format_response()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 38 def format_response list = [] parsed["Data"].keys.each do |key| data = parsed["Data"][key] if data.is_a?(Hash) logo = data["ImageUrl"].to_s.empty? ? "" : "#{base_url}#{data["ImageUrl"]}" list << { symbol: data["Name"], name: data["CoinName"], logo: logo, algorithm: data["Algorithm"] } end end list end
get_response()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 26 def get_response uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) http.request(request).body end
parsed()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 34 def parsed @parsed ||= JSON.parse(response) end
response()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 22 def response @response ||= get_response end
url()
click to toggle source
# File lib/crypto_val/list/crypto_compare.rb, line 18 def url "#{base_url}/api/data/coinlist" end