module CardanoWallet::Utils

General Utils not connected to API

Public Class Methods

format_payments(payments) click to toggle source

@param payments [Array of Hashes] - [{addr1: 1}, {addr2: 2}] @return [Array of Hashes] - [{:address=>“addr1”, :amount=>{:quantity=>1, :unit=>“lovelace”}}, {…}}]

# File lib/cardano_wallet/utils.rb, line 18
def self.format_payments(payments)
  verify_param_is_array!(payments)
  unless payments.all? { |p| p.size == 1 && p.is_a?(Hash) }
    raise ArgumentError, 'argument should be Array of single Hashes'
  end

  payments.map do |p|
    a = p.collect do |addr, amt|
      { address: addr.to_s,
        amount: { quantity: amt.to_i,
                  unit: 'lovelace' } }
    end.flatten
    Hash[*a]
  end
end
to_query(query) click to toggle source
# File lib/cardano_wallet/utils.rb, line 34
def self.to_query(query)
  verify_param_is_hash!(query)
  q = query.collect do |k, v|
    "#{k}=#{v}"
  end.join '&'
  "?#{q}"
end
verify_param_is_array!(param) click to toggle source
# File lib/cardano_wallet/utils.rb, line 11
def self.verify_param_is_array!(param)
  raise ArgumentError, 'argument should be Array' unless param.is_a?(Array)
end
verify_param_is_hash!(param) click to toggle source
# File lib/cardano_wallet/utils.rb, line 7
def self.verify_param_is_hash!(param)
  raise ArgumentError, 'argument should be Hash' unless param.is_a?(Hash)
end