# class DBus::Data::Boolean

Boolean: encoded as a {UInt32} but only 0 and 1 are valid.

### Constants

FORMAT

### Public Class Methods

alignment() click to toggle source

        # File lib/dbus/data.rb
    207 def self.alignment
    208   4
    209 end

format() click to toggle source

        # File lib/dbus/data.rb
    211 def self.format
    212   FORMAT
    213 end

from_raw(value, mode:) click to toggle source

        # File lib/dbus/data.rb
    221 def self.from_raw(value, mode:)
    222   validate_raw!(value)
    223
    224   value = value == 1
    225   return value if mode == :plain
    226
    227   new(value)
    228 end

new(value) click to toggle source

Accept any value, store its Ruby truth value (excepting another instance of this class, where use its {#value}).

So new(0).value is true. @param value [::Object,DBus::Data::Boolean]

Calls superclass method `DBus::Data::Base::new`

        # File lib/dbus/data.rb
    235 def initialize(value)
    236   value = value.value if value.is_a?(self.class)
    237   super(value ? true : false)
    238 end

type_code() click to toggle source

        # File lib/dbus/data.rb
    203 def self.type_code
    204   "b"
    205 end

validate_raw!(value) click to toggle source

        # File lib/dbus/data.rb
    215 def self.validate_raw!(value)
    216   return if [0, 1].member?(value)
    217
    218   raise InvalidPacketException, "BOOLEAN must be 0 or 1, found #{value}"
    219 end

### Public Instance Methods

marshall(endianness) click to toggle source

@param endianness [:little,:big]

        # File lib/dbus/data.rb
    241 def marshall(endianness)
    242   int = value ? 1 : 0
    243   [int].pack(UInt32.format[endianness])
    244 end