class Ronin::Support::Binary::Struct::Member
Represents a member defined within a {Struct}.
Attributes
The default value for the structure member.
@return [Object, Proc, nil]
The name of the structure member.
@return [Symbol]
The type signature of the structure member.
@return [Symbol, (Symbol, Integer
), Range(Symbol)]
Public Class Methods
Source
# File lib/ronin/support/binary/struct/member.rb, line 56 def initialize(name,type_signature, default: nil) @name = name @type_signature = type_signature @default = default end
Initializes the structure member.
@param [Symbol] name
@param [Symbol, (Symbol, Integer
), Range(Symbol)] type_signature
The type signature of the field.
@param [Object, Proc, nil] default
The optional default value for the structure's field.
Public Instance Methods
Source
# File lib/ronin/support/binary/struct/member.rb, line 71 def default_value(struct) case @default when Proc if @default.arity == 1 @default.call(struct) else @default.call end else @default.dup end end
Returns a default value for the structure’s field.
@param [Struct] struct
The structure that is being initialized.
@return [Object, nil]
The new default value for the member field in the given structure.