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.



33
34
35
# File 'lib/pubid.rb', line 33

def flavors
  @flavors
end

Class Method Details

.flavor_namesArray<String>

Get all registered flavor names

Returns:

  • (Array<String>)

    Array of flavor names



44
45
46
# File 'lib/pubid.rb', line 44

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



51
52
53
# File 'lib/pubid.rb', line 51

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)



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

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)


58
59
60
# File 'lib/pubid.rb', line 58

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