Class: AdequateCryptoAddress::Altcoin

Inherits:
Object
  • Object
show all
Defined in:
lib/adequate_crypto_address/altcoin.rb

Overview

simple class for common altcoin addresses like legacy btc, ripple, dash, zec, etc.

Direct Known Subclasses

Dash, Doge, Ltc, Trx, Xrp, Xtz, Zec

Constant Summary collapse

EXPECTED_LENGTH =
50
ADDRESS_TYPES =
{}.freeze
ALPHABET_TYPE =
:bitcoin
MAX_LENGTH =
100

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(address) ⇒ Altcoin

Returns a new instance of Altcoin.



14
15
16
17
# File 'lib/adequate_crypto_address/altcoin.rb', line 14

def initialize(address)
  @address = address
  @type = detect_type
end

Instance Attribute Details

#address ⇒ Object (readonly) Also known as: raw_address

Returns the value of attribute address.



11
12
13
# File 'lib/adequate_crypto_address/altcoin.rb', line 11

def address
  @address
end

#type ⇒ Object (readonly)

Returns the value of attribute type.



11
12
13
# File 'lib/adequate_crypto_address/altcoin.rb', line 11

def type
  @type
end

Instance Method Details

#address_type ⇒ Object

Public contract: the detected network type Symbol, or nil when invalid.



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

def address_type
  type
end

#valid?(validated_type = nil) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
# File 'lib/adequate_crypto_address/altcoin.rb', line 19

def valid?(validated_type = nil)
  if validated_type
    type == validated_type.to_sym
  else
    !type.nil?
  end
end