Class: Babeltrace2::BTUUID

Inherits:
FFI::Struct
  • Object
show all
Defined in:
lib/babeltrace2/types.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_string(uuid) ⇒ Object



638
639
640
# File 'lib/babeltrace2/types.rb', line 638

def self.from_string(uuid)
  new.from_string(uuid)
end

Instance Method Details

#from_string(uuid) ⇒ Object



642
643
644
645
646
647
648
649
# File 'lib/babeltrace2/types.rb', line 642

def from_string(uuid)
  m = uuid.match(/(\h\h)(\h\h)(\h\h)(\h\h)-(\h\h)(\h\h)-(\h\h)(\h\h)-(\h\h)(\h\h)-(\h\h)(\h\h)(\h\h)(\h\h)(\h\h)(\h\h)/)
  raise "invalid format" unless m
  16.times { |i|
    self[:id][15-i] = m[i+1].to_i(16)
  }
  self
end

#to_sObject



613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
# File 'lib/babeltrace2/types.rb', line 613

def to_s
  a = self[:id].to_a
  s = ""
  s << "%02x" % a[15]
  s << "%02x" % a[14]
  s << "%02x" % a[13]
  s << "%02x" % a[12]
  s << "-"
  s << "%02x" % a[11]
  s << "%02x" % a[10]
  s << "-"
  s << "%02x" % a[9]
  s << "%02x" % a[8]
  s << "-"
  s << "%02x" % a[7]
  s << "%02x" % a[6]
  s << "-"
  s << "%02x" % a[5]
  s << "%02x" % a[4]
  s << "%02x" % a[3]
  s << "%02x" % a[2]
  s << "%02x" % a[1]
  s << "%02x" % a[0]
end