Class: Factorix::API::Tag

Inherits:
Data
  • Object
show all
Defined in:
lib/factorix/api/tag.rb,
lib/factorix/api/tag.rb

Overview

Tag object from MOD Portal API

Represents a MOD tag with value, name, and description. Uses flyweight pattern - same tag value returns same instance.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#descriptionString (readonly)

Returns tag description.

Returns:

  • (String)

    tag description



14
15
16
# File 'lib/factorix/api/tag.rb', line 14

def description
  @description
end

#nameString (readonly)

Returns human-readable tag name (e.g., “Transportation”, “Logistics”).

Returns:

  • (String)

    human-readable tag name (e.g., “Transportation”, “Logistics”)



14
15
16
# File 'lib/factorix/api/tag.rb', line 14

def name
  @name
end

#valueString (readonly)

Returns tag value (e.g., “transportation”, “logistics”).

Returns:

  • (String)

    tag value (e.g., “transportation”, “logistics”)



14
15
16
# File 'lib/factorix/api/tag.rb', line 14

def value
  @value
end

Class Method Details

.for(value) ⇒ Tag

Get Tag instance for the given value

Returns predefined instance for known tags (flyweight pattern). Raises an error for unknown tag values.

Parameters:

  • value (String)

    tag value

Returns:

  • (Tag)

    Tag instance

Raises:

  • (KeyError)

    if tag value is unknown



93
# File 'lib/factorix/api/tag.rb', line 93

def self.for(value) = TAGS.fetch(value.to_s)

.identifiersArray<String>

Returns all tag identifiers.

Returns:

  • (Array<String>)

    all tag identifiers



83
# File 'lib/factorix/api/tag.rb', line 83

def self.identifiers = TAGS.keys