mirror of
https://github.com/bumi/openalias-ruby
synced 2025-08-24 01:07:28 +00:00
Add currency lookup helpers
add ? methods to for simple currency selection: Openalias.addresses('donate@getmonero.org').find(&:xmr?)
This commit is contained in:
parent
6e3b03abda
commit
30e9a0d805
@ -36,6 +36,9 @@ Openalias.addresses('btc@michaelbumann.com')
|
|||||||
Openalias.addresses('donate.getmonero.org')
|
Openalias.addresses('donate.getmonero.org')
|
||||||
=> [#<Openalias::CryptoAddress cryptocurrency="xmr", address="44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A", recipient_name="Monero Development", tx_description="Donation to Monero Core Team">, #<Openalias::CryptoAddress cryptocurrency="btc", address="1KTexdemPdxSBcG55heUuTjDRYqbC5ZL8H", recipient_name="Monero Development", tx_description="Donation to Monero Core Team">]
|
=> [#<Openalias::CryptoAddress cryptocurrency="xmr", address="44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A", recipient_name="Monero Development", tx_description="Donation to Monero Core Team">, #<Openalias::CryptoAddress cryptocurrency="btc", address="1KTexdemPdxSBcG55heUuTjDRYqbC5ZL8H", recipient_name="Monero Development", tx_description="Donation to Monero Core Team">]
|
||||||
|
|
||||||
|
Openalias.addresses('donate.getmonero.org').find(&:xmr?)
|
||||||
|
=> #<Openalias::CryptoAddress cryptocurrency="xmr", address="44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A", recipient_name="Monero Development", tx_description="Donation to Monero Core Team">
|
||||||
|
|
||||||
Openalias.addresses('donate.getmonero.org')[0].recipient_name
|
Openalias.addresses('donate.getmonero.org')[0].recipient_name
|
||||||
=> "Monero Development"
|
=> "Monero Development"
|
||||||
|
|
||||||
|
@ -3,7 +3,16 @@ require 'ostruct'
|
|||||||
|
|
||||||
class Openalias
|
class Openalias
|
||||||
VERSION = "0.1.0"
|
VERSION = "0.1.0"
|
||||||
class CryptoAddress < OpenStruct; end
|
class CryptoAddress < OpenStruct;
|
||||||
|
|
||||||
|
def method_missing(method_name, *args, &block)
|
||||||
|
if symbol = method_name[/(.*)\?\z/, 1]
|
||||||
|
self.cryptocurrency.to_s.downcase === symbol.to_s.downcase
|
||||||
|
else
|
||||||
|
super
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
toplevel_dir = File.dirname(File.dirname(__FILE__))
|
toplevel_dir = File.dirname(File.dirname(__FILE__))
|
||||||
Thermite::Fiddle.load_module('init_openalias_rust',
|
Thermite::Fiddle.load_module('init_openalias_rust',
|
||||||
|
@ -5,6 +5,13 @@ RSpec.describe Openalias do
|
|||||||
expect(Openalias::VERSION).not_to be nil
|
expect(Openalias::VERSION).not_to be nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "provides ? methods to check for the currency" do
|
||||||
|
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.xmr?).to eql(true)
|
||||||
|
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.btc?).to eql(false)
|
||||||
|
expect(Openalias.addresses('donate.getmonero.org').find(&:xmr?).xmr?).to eql(true)
|
||||||
|
expect(Openalias.addresses('donate.getmonero.org').find(&:xmr?).xmr).to eql(true)
|
||||||
|
end
|
||||||
|
|
||||||
it "provides accessors for the data" do
|
it "provides accessors for the data" do
|
||||||
expect(Openalias.addresses('donate.getmonero.org')[0].recipient_name).to eql('Monero Development')
|
expect(Openalias.addresses('donate.getmonero.org')[0].recipient_name).to eql('Monero Development')
|
||||||
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.address).to eql('44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A')
|
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.address).to eql('44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user