class GObjectIntrospection::TypeInfo
Public Instance Methods
match?(value)
click to toggle source
# File lib/gobject-introspection/type-info.rb, line 19 def match?(value) case tag when TypeTag::BOOLEAN value == true or value == false when TypeTag::INT8, TypeTag::UINT8, TypeTag::INT16, TypeTag::UINT16, TypeTag::INT32, TypeTag::UINT32, TypeTag::INT64, TypeTag::UINT64, TypeTag::FLOAT, TypeTag::DOUBLE value.is_a?(Numeric) when TypeTag::GTYPE value.is_a?(GLib::Type) when TypeTag::UTF8 value.is_a?(String) when TypeTag::FILENAME value.is_a?(String) when TypeTag::ARRAY element_type_info = get_param_type(0) value.is_a?(Array) and value.all? {|v| element_type_info.match?(v)} when TypeTag::INTERFACE interface.match?(value) when TypeTag::GLIST, TypeTag::GSLIST element_type_info = get_param_type(0) value.is_a?(Array) and value.all? {|v| element_type_info.match?(v)} else # TODO false end end