Class: DBus::Type::StructFactory

Inherits:
Factory
  • Object
show all
Defined in:
lib/dbus/type.rb

Overview

Syntactic helper for constructing a struct Type. You may be looking for Data::Struct instead.

Examples:

t = Type::Struct[Type::INT16, Type::STRING]

Class Method Summary collapse

Methods inherited from Factory

from_plain_class, make_type

Class Method Details

.[](*member_types) ⇒ Type

Returns (frozen).

Parameters:

Returns:

  • (Type)

    (frozen)

Raises:

  • (ArgumentError)


375
376
377
378
379
380
381
382
383
384
# File 'lib/dbus/type.rb', line 375

def self.[](*member_types)
  raise ArgumentError if member_types.empty?

  t = Type.new(STRUCT, abstract: true)
  member_types.each do |mt|
    t << make_type(mt)
  end
  t.members.freeze
  t
end