class CoinMarketPro::Endpoint::Base

Attributes

client[R]
logger[R]

Public Class Methods

new(client:, logger:) click to toggle source
# File lib/coin_market_pro/endpoint/base.rb, line 8
def initialize(client:, logger:)
  @client = client
  @logger = logger
end

Protected Instance Methods

valid_params?(args) click to toggle source

@param args [Hash] @return [Boolean] @raise [ArgumentError]

# File lib/coin_market_pro/endpoint/base.rb, line 18
def valid_params?(args)
  raise ArgumentError.new('At least one "id" or "symbol" is required.') if args[:id].blank? && args[:symbol].blank?

  true
end

Private Instance Methods

convert_params(**params) click to toggle source

Convert/Standardize base params @param params [Hash] @return [Hash]

# File lib/coin_market_pro/endpoint/base.rb, line 29
def convert_params(**params)
  return {} if params.blank?

  params.each { |k, v| params[k] = standardize_value(v) }
  params
end
standardize_value(param) click to toggle source

Standardize request params

# File lib/coin_market_pro/endpoint/base.rb, line 37
def standardize_value(param)
  if param.is_a?(Array)
    param.join(',')
  elsif param.is_a?(String)
    param.strip
  else
    param
  end
end