Sha256: 9bc5eeb2d3d13cd6ea137e8b3d567e8199a953b374cf459e8c733ab78672b2a1

Contents?: true

Size: 765 Bytes

Versions: 4

Compression:

Stored size: 765 Bytes

Contents

module Stellar
  class Currency
    def self.native
      new(:currency_type_native)
    end

    def self.iso4217(code, issuer)
      raise ArgumentError, "Bad :issuer" unless issuer.is_a?(KeyPair)
      an = AlphaNum.new({currency_code:code, issuer:issuer.public_key})
      new(:currency_type_alphanum, an)
    end

    def to_s
      if switch == CurrencyType.currency_type_native
        "native"
      else
        encoder = Stellar::Util::Base58.stellar
        issuer_address = encoder.check_encode(:account_id,alpha_num.issuer)
        "#{alpha_num.currency_code}/#{issuer_address}"
      end
    end

    def inspect
      label = switch.to_s
      "#<Stellar::Currency #{to_s}>"
    end

    def code
      self.alpha_num!.currency_code
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
stellar-base-0.0.9 lib/stellar/currency.rb
stellar-base-0.0.8 lib/stellar/currency.rb
stellar-base-0.0.7 lib/stellar/currency.rb
stellar-base-0.0.6 lib/stellar/currency.rb