class CoinAddressValidators

Constants

TOKENS
VERSION

Attributes

coin[R]

Public Class Methods

[](coin) click to toggle source
# File lib/coin-address-validators.rb, line 26
def self.[](coin)
  @singletons ||= {}
  @singletons[coin] ||= new(coin)
end
new(coin) click to toggle source
# File lib/coin-address-validators.rb, line 13
def initialize(coin)
  @coin = coin
end

Public Instance Methods

parse_cash_addr(address) click to toggle source
# File lib/coin-address-validators.rb, line 22
def parse_cash_addr(address)
  inner_validator.parse_cash_addr(address)
end
valid?(address) click to toggle source
# File lib/coin-address-validators.rb, line 17
def valid?(address)
  return false if address.nil?
  inner_validator.valid?(address)
end

Private Instance Methods

inner_validator() click to toggle source
# File lib/coin-address-validators.rb, line 33
def inner_validator
  @inner_validator ||= inner_validator_class.new
end
inner_validator_class() click to toggle source
# File lib/coin-address-validators.rb, line 37
def inner_validator_class
  prefix = coin == "usdt" ? "btc" : coin
  prefix = TOKENS.include?(coin) ? "eth" : prefix
  CoinAddressValidators.const_get("#{prefix.capitalize}Validator")
end