Class: Ukiryu::Models::FlagDefinition

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/ukiryu/models/flag_definition.rb

Overview

Flag definition for a command

Represents a boolean flag (present or absent)

Examples:

flag = FlagDefinition.new(
  name: 'verbose',
  cli: '-v',
  default: false,
  description: 'Enable verbose output'
)

Instance Method Summary collapse

Instance Method Details

#applies_to?(platform) ⇒ Boolean

Check if flag applies to a platform

Parameters:

  • platform (Symbol)

    the platform

Returns:

  • (Boolean)

    true if applies



50
51
52
53
54
# File 'lib/ukiryu/models/flag_definition.rb', line 50

def applies_to?(platform)
  return true if platforms.nil? || platforms.empty?

  cached_platforms_sym.include?(platform.to_sym)
end

#default_valueBoolean

Get the effective default value

Returns:

  • (Boolean)

    the default value



42
43
44
# File 'lib/ukiryu/models/flag_definition.rb', line 42

def default_value
  default || false
end

#name_symSymbol

Get name as symbol (cached for performance)

Returns:

  • (Symbol)

    the name as symbol



59
60
61
# File 'lib/ukiryu/models/flag_definition.rb', line 59

def name_sym
  @name_sym ||= name.to_sym
end

#position_constraint_symSymbol?

Get position_constraint as symbol (cached)

Returns:

  • (Symbol, nil)

    the position constraint as symbol, or nil if not set



66
67
68
# File 'lib/ukiryu/models/flag_definition.rb', line 66

def position_constraint_sym
  @position_constraint_sym ||= position_constraint&.to_sym
end