class Nanopool::Client

Public Class Methods

new(client: nil, default_params: {}) click to toggle source
# File lib/nanopool/client.rb, line 47
def initialize(client: nil, default_params: {})
  @client = client || Faraday.new("https://api.nanopool.org/") do |conn|
    conn.response :json, parser_options: { symbolize_names: true }
    conn.adapter Faraday.default_adapter
  end
  @default_params = default_params || {}
end

Public Instance Methods

method_missing(name, *args, **kwargs) click to toggle source
Calls superclass method
# File lib/nanopool/client.rb, line 55
def method_missing(name, *args, **kwargs)
  pattern = Nanopool::ENDPOINTS[name]
  unless pattern
    super
    return
  end
  Response.from_faraday_resp call_api(pattern, @default_params.merge(kwargs))
end

Private Instance Methods

call_api(route, params) click to toggle source
# File lib/nanopool/client.rb, line 66
def call_api(route, params)
  path = route.expand(params)
  @client.get path
end