Class: Ethname::Record
- Inherits:
-
Object
- Object
- Ethname::Record
- Defined in:
- lib/ethname/directory.rb
Instance Attribute Summary collapse
-
#address ⇒ Object
(also: #addr)
readonly
Returns the value of attribute address.
-
#interfaces ⇒ Object
readonly
Returns the value of attribute interfaces.
-
#names ⇒ Object
readonly
Returns the value of attribute names.
Class Method Summary collapse
Instance Method Summary collapse
- #erc20? ⇒ Boolean
- #erc721? ⇒ Boolean
-
#initialize(address: nil, names: [], interfaces: []) ⇒ Record
constructor
A new instance of Record.
- #name ⇒ Object
Constructor Details
#initialize(address: nil, names: [], interfaces: []) ⇒ Record
Returns a new instance of Record.
35 36 37 38 39 40 41 |
# File 'lib/ethname/directory.rb', line 35 def initialize( address: nil, names: [], interfaces: [] ) @address = address @names = names @interfaces = interfaces end |
Instance Attribute Details
#address ⇒ Object (readonly) Also known as: addr
Returns the value of attribute address.
33 34 35 |
# File 'lib/ethname/directory.rb', line 33 def address @address end |
#interfaces ⇒ Object (readonly)
Returns the value of attribute interfaces.
33 34 35 |
# File 'lib/ethname/directory.rb', line 33 def interfaces @interfaces end |
#names ⇒ Object (readonly)
Returns the value of attribute names.
33 34 35 |
# File 'lib/ethname/directory.rb', line 33 def names @names end |
Class Method Details
.directory ⇒ Object
5 |
# File 'lib/ethname/directory.rb', line 5 def self.directory() Ethname.directory; end |
.find(addr) ⇒ Object
7 |
# File 'lib/ethname/directory.rb', line 7 def self.find( addr ) directory.find_record( addr ); end |
.find_by(name:) ⇒ Object
8 |
# File 'lib/ethname/directory.rb', line 8 def self.find_by( name: ) directory.find_record_by( name: name ); end |
.parse(row) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ethname/directory.rb', line 12 def self.parse( row ) ## note: always downcase addresses for now ## (do NOT use addresss checksum with mixed-hexchars) - why? why not? address = row['address'].downcase names = row['names'].split('|') names = names.map {|name| name.strip } ## remove leading & trailing withespaces ## note: always downcase and normalize (remove space and - for now) # - why? why not? ## e.g. ERC20 => erc20 ## ERC-20 | ERC-721 => erc20 | erc721 interfaces = (row['interfaces'] || '').split('|') interfaces = interfaces.map {|inter| inter.downcase.gsub(/[ -]/, '' ) } new( address: address, names: names, interfaces: interfaces ) end |
Instance Method Details
#erc20? ⇒ Boolean
46 |
# File 'lib/ethname/directory.rb', line 46 def erc20?() @interfaces.include?('erc20' ); end |
#erc721? ⇒ Boolean
47 |
# File 'lib/ethname/directory.rb', line 47 def erc721?() @interfaces.include?('erc721' ); end |
#name ⇒ Object
44 |
# File 'lib/ethname/directory.rb', line 44 def name() @names[0]; end |