Class: RBase::Columns::DateColumn

Inherits:
Column
  • Object
show all
Defined in:
lib/rbase/columns.rb

Instance Attribute Summary

Attributes inherited from Column

#decimal, #name, #offset, #size

Instance Method Summary collapse

Methods inherited from Column

#attach_to, column_for, column_type, #type, type

Constructor Details

#initialize(name, options = {}) ⇒ DateColumn

Returns a new instance of DateColumn.



187
188
189
# File 'lib/rbase/columns.rb', line 187

def initialize(name, options = {})
  super name, options.merge(:size => 8)
end

Instance Method Details

#inspectObject



200
201
202
# File 'lib/rbase/columns.rb', line 200

def inspect
  "#{name}(date)"
end

#pack(value) ⇒ Object



191
192
193
# File 'lib/rbase/columns.rb', line 191

def pack(value)
  value ? value.strftime('%Y%m%d'): ' '*8
end

#unpack(data) ⇒ Object



195
196
197
198
# File 'lib/rbase/columns.rb', line 195

def unpack(data)
  return nil if data.rstrip == ''
  Date.new(*data.unpack("a4a2a2").map { |s| s.to_i})
end