class DBus::Type::Factory
Public Class Methods
Source
# File lib/dbus/type.rb, line 309 def self.from_plain_class(klass) @signature_type ||= DBus.type(SIGNATURE) @class_to_type ||= { DBus::ObjectPath => DBus.type(OBJECT_PATH), DBus::Signature => @signature_type, DBus::SingleCompleteType => @signature_type, String => DBus.type(STRING), Float => DBus.type(DOUBLE) } t = @class_to_type[klass] raise ArgumentError, "Cannot convert plain class #{klass} to a D-Bus type" if t.nil? t end
Make a {Type} corresponding to some plain classes:
-
String
-
Float
@param klass [Class] @return [Type] (frozen)
Source
# File lib/dbus/type.rb, line 288 def self.make_type(type) case type when Type type when String DBus.type(type) when Class from_plain_class(type) else msg = "Expecting DBus::Type, DBus::SingleCompleteType(aka ::String), or Class, got #{type.inspect}" raise ArgumentError, msg end end
@param type [Type,SingleCompleteType,Class] @see from_plain_class
@return [Type] (frozen)