class Nem::Endpoint::Base

Public Class Methods

new(node) click to toggle source
# File lib/nem/endpoint/base.rb, line 4
def initialize(node)
  @node = if node.is_a?(Nem::NodePool)
    node
  else
    Nem::NodePool.new([node])
  end
end

Public Instance Methods

current_node() click to toggle source
# File lib/nem/endpoint/base.rb, line 12
def current_node
  @node.first
end
next_node!() click to toggle source
# File lib/nem/endpoint/base.rb, line 16
def next_node!
  @node.next!
end
request(method, path, params = {}) { |res| ... } click to toggle source
# File lib/nem/endpoint/base.rb, line 20
def request(method, path, params = {})
  begin
    res = current_node.request(method, path, params)
    block_given? ? yield(res) : res
  rescue Faraday::ConnectionFailed => err
    Nem.logger.error err.message
    next_node!
    retry
  end
end
request!(method, path, params = {}) { |res| ... } click to toggle source
# File lib/nem/endpoint/base.rb, line 31
def request!(method, path, params = {})
  begin
    res = current_node.request!(method, path, params)
    block_given? ? yield(res) : res
  rescue Faraday::ConnectionFailed => err
    Nem.logger.error err.message
    next_node!
    retry
  rescue => err
    raise err
  end
end