class EnumStatement

Represents an Enum statement

@example Enum Statement

enum Test { Invalid = 1; }

Public Instance Methods

flags?() click to toggle source

Returns true if this enum uses bitmask flags

@return [Bool]

# File lib/steamd/nodes/enum_statement_node.rb, line 24
def flags?
  type == 'flags'
end
name() click to toggle source

The name of the enum

@return [String]

# File lib/steamd/nodes/enum_statement_node.rb, line 10
def name
  enum_name.text_value
end
to_hash() click to toggle source

Hash representation of this Enum

# File lib/steamd/nodes/enum_statement_node.rb, line 42
def to_hash
  {
    name: name,
    type: type,
    flags: flags?,
    variables: variables
  }
end
type() click to toggle source

The type of the enum

@return [String]

# File lib/steamd/nodes/enum_statement_node.rb, line 17
def type
  enum_type.type.text_value if enum_type.respond_to?(:type)
end
variables() click to toggle source

Returns a list of EnumVariable objects

@return Array

# File lib/steamd/nodes/enum_statement_node.rb, line 31
def variables
  declerations = [first_var] + other.elements.map(&:enum_decleration)

  variables = declerations.select do |node|
    node.is_a?(EnumVariable)
  end

  variables.map!(&:to_hash)
end