Class: RubySMB::Field::Utime

Inherits:
BinData::Primitive
  • Object
show all
Defined in:
lib/ruby_smb/field/utime.rb

Overview

Conveneince class for dealing with 32-bit unsigned UTIME fields in SMB, as defined in 2.2.1.4.3 UTIME

Instance Method Summary collapse

Instance Method Details

#getBinData::Bit32

Gets the value of the field



15
16
17
# File 'lib/ruby_smb/field/utime.rb', line 15

def get
  val
end

#set(value) ⇒ Object

Sets the value of the field from a DateTime,Time,Fixnum, or object that can be converted to an integer. Any other parameter passed in will be assumed to already be correct.



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ruby_smb/field/utime.rb', line 25

def set(value)
  case value
  when DateTime
    set(value.to_time)
  when Time
    set(value.to_i)
  when Integer
    self.val = value
  else
    self.val = value.to_i
  end
  val
end

#to_datetimeDateTime

Returns the value of the field as a DateTime



42
43
44
45
# File 'lib/ruby_smb/field/utime.rb', line 42

def to_datetime
  time = to_time
  time.to_datetime
end

#to_timeTime

Returns the value of the field as a Time



50
51
52
# File 'lib/ruby_smb/field/utime.rb', line 50

def to_time
  Time.at val
end