class NoidsClient::Pool

Attributes

ids_used[R]
last_mint_date[R]
max_ids[R]
name[R]
template[R]

Public Class Methods

new(rest_resource) click to toggle source
# File lib/noids_client/pool.rb, line 8
def initialize(rest_resource)
  @noid_pool = rest_resource
  update
end

Public Instance Methods

advance_past(this_id) click to toggle source
# File lib/noids_client/pool.rb, line 33
def advance_past(this_id)
  decode_json(@noid_pool['advancePast'].post '', params: {id: this_id})
end
close() click to toggle source
# File lib/noids_client/pool.rb, line 21
def close
  decode_json(@noid_pool['close'].put '')
end
closed?() click to toggle source
# File lib/noids_client/pool.rb, line 25
def closed?
  @is_closed
end
mint(this_many_ids=1) click to toggle source
# File lib/noids_client/pool.rb, line 29
def mint(this_many_ids=1)
  JSON.parse(@noid_pool['mint'].post '', params: {n: this_many_ids})
end
open() click to toggle source
# File lib/noids_client/pool.rb, line 17
def open
  decode_json(@noid_pool['open'].put '')
end
update() click to toggle source
# File lib/noids_client/pool.rb, line 13
def update
  decode_json(@noid_pool.get)
end

Private Instance Methods

decode_json(json_string) click to toggle source
# File lib/noids_client/pool.rb, line 38
def decode_json(json_string)
  info = JSON.parse(json_string)
  @name = info['Name']
  @template = info['Template']
  @ids_used = info['Used']
  @max_ids = info['Max']
  if @max_ids == -1
    @max_ids = Float::INFINITY
  end
  @is_closed = info['Closed']
  @last_mint_date = DateTime.rfc3339(info['LastMint'])
end