Module: CoinsPaid

Defined in:
lib/coins_paid.rb,
lib/coins_paid/address.rb,
lib/coins_paid/qr_code.rb,
lib/coins_paid/coins_paid_address.rb,
lib/generators/coins_paid/migration_data.rb,
lib/generators/coins_paid/migration_generator.rb

Defined Under Namespace

Modules: Generators, MigrationData Classes: Address, CoinsPaidAddress, QrCode

Constant Summary collapse

UnknownCurrency =
Class.new RuntimeError
DEFAULT_CONVERT_TO =
ENV['COINS_PAID_CURRENCY']
ADDRESS_PREFIXES =
{
  'BTC' => 'bitcoin',
  'BCH' => 'bitcoincash',
  'DOGE' => 'doge',
  'ETH' => 'ethereum',
  'EURTE' => 'ethereum',
  'LTC' => 'litecoin',
  'USDT' => 'bitcoin',
  'USDTE' => 'ethereum',
  'TRX' => 'tron',
  'USDTT' => 'tron'
}.freeze

Class Method Summary collapse

Class Method Details

.address(foreign_id, currency:) ⇒ Object



28
29
30
# File 'lib/coins_paid.rb', line 28

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

.currency(name) ⇒ Object



36
37
38
# File 'lib/coins_paid.rb', line 36

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

.issued_addresses(foreign_id) ⇒ Object



40
41
42
# File 'lib/coins_paid.rb', line 40

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

.qr_code(player_id, currency:, label:, message:) ⇒ Object



32
33
34
# File 'lib/coins_paid.rb', line 32

def qr_code(player_id, currency:, label:, message:)
  QrCode.new(player_id, currency: currency, label: label, message: message)
end