class Cryptopunks::Metadata::AccessoryType

nested class

Attributes

accessories[R]
name[R]

Public Class Methods

all() click to toggle source
# File lib/cryptopunks/structs.rb, line 78
def self.all() registry.values; end
build() click to toggle source
# File lib/cryptopunks/structs.rb, line 58
def self.build
  ACCESSORY_TYPES.reduce( {} ) do |h, rec|
    type = AccessoryType.new( rec[:name] )
    ## add all accessories
    rec[:accessories].each do |rec_acc|
      type.accessories << Accessory.new( rec_acc[:name],
                                         type,
                                         rec_acc[:limit].to_i )
    end
    h[ rec[:name].downcase ] = type
    h
  end
end
find( q ) click to toggle source
# File lib/cryptopunks/structs.rb, line 80
def self.find( q ) registry[ q.to_s.downcase ]; end
new( name, accessories=[] ) click to toggle source
# File lib/cryptopunks/structs.rb, line 51
def initialize( name, accessories=[] )
  @name        = name
  @accessories = accessories
end
registry() click to toggle source
# File lib/cryptopunks/structs.rb, line 72
def self.registry
  ## auto-build registry (hash table) lookup (by name)
  @@types ||= build
  @@types
end