Sha256: ddc72a1b5dcf585c800da53a7fd742d05f324b405d3a40bbab4f749275a44744

Contents?: true

Size: 659 Bytes

Versions: 5

Compression:

Stored size: 659 Bytes

Contents

# frozen_string_literal: true
require 'dry-struct'
require 'dry-initializer'
require_relative 'coins_paid/address'
require_relative 'coins_paid/coins_paid_address'

module CoinsPaid
  module_function

  UnknownCurrency = Class.new RuntimeError

  def address(foreign_id, currency:, convert_to: currency)
    Address.new(foreign_id: foreign_id, currency: currency, convert_to: convert_to).call
  end

  def currency(name)
    CoinsPaid::API.currencies_list.find { |item| item.currency == name } || raise(UnknownCurrency, name)
  end

  def issued_addresses(foreign_id)
    CoinsPaidAddress.where(foreign_id: foreign_id).order(:currency, :convert_to)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
coins_paid_rails-2.1.0 lib/coins_paid.rb
coins_paid_rails-2.0.0 lib/coins_paid.rb
coins_paid_rails-1.5.0 lib/coins_paid.rb
coins_paid_rails-1.4.0 lib/coins_paid.rb
coins_paid_rails-1.3.0 lib/coins_paid.rb