Class: Pubid::Registry

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

Overview

Registry for tracking all loaded flavors

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.flavorsObject (readonly)

Returns the value of attribute flavors.



13
14
15
# File 'lib/pubid.rb', line 13

def flavors
  @flavors
end

Class Method Details

.flavor_namesArray<String>

Get all registered flavor names

Returns:

  • (Array<String>)

    Array of flavor names



24
25
26
# File 'lib/pubid.rb', line 24

def flavor_names
  @flavors.keys.sort
end

.get(name) ⇒ Module?

Get flavor module by name

Parameters:

  • name (String, Symbol)

    Flavor name

Returns:

  • (Module, nil)

    The flavor module or nil if not found



31
32
33
# File 'lib/pubid.rb', line 31

def get(name)
  @flavors[name.to_s.downcase]
end

.register(name, flavor_module) ⇒ Object

Register a flavor with the registry

Parameters:

  • name (String, Symbol)

    Flavor name (e.g., :iso, :iec)

  • flavor_module (Module)

    The flavor module (e.g., Pubid::Iso)



18
19
20
# File 'lib/pubid.rb', line 18

def register(name, flavor_module)
  @flavors[name.to_s.downcase] = flavor_module
end

.registered?(name) ⇒ Boolean

Check if a flavor is registered

Parameters:

  • name (String, Symbol)

    Flavor name

Returns:

  • (Boolean)


38
39
40
# File 'lib/pubid.rb', line 38

def registered?(name)
  @flavors.key?(name.to_s.downcase)
end