module RBase
Constants
- LANGUAGE_RUSSIAN_DOS
- LANGUAGE_RUSSIAN_WINDOWS
Public Class Methods
create_table(name, options = {}) { |schema| ... }
click to toggle source
Create new XBase table file. Table file name will be equal to name with “.dbf” suffix.
For list of available options see RBase::Table.create documentation.
Example¶ ↑
RBase.create_table 'people' do |t| t.column :name, :string, :size => 30 t.column :birthdate, :date t.column :active, :boolean t.column :tax, :integer, :size => 10, :decimal => 2 end
For documentation on column parameters see RBase::Schema#column documentation.
# File lib/rbase/builder.rb, line 22 def self.create_table(name, options = {}) options[:language] ||= LANGUAGE_RUSSIAN_WINDOWS schema = Schema.new yield schema if block_given? Table.create name, schema, options end
Public Instance Methods
serialize()
click to toggle source
# File lib/rbase/record.rb, line 98 def serialize if new_record? @data = deleted? ? '*' : ' ' @data << @table.columns.collect do |column| column.pack(@values_changed[column.name]) end.join else @data[0, 1] = deleted? ? '*' : ' ' @values_changed.each do |k, v| column = @table.column(k) raise UnknownColumnError.new(k) unless column begin @data[column.offset, column.size] = column.pack(v) rescue Object => e raise InvalidValueError.new(column, v) end @values_cached[k] = v end end @data end
Protected Instance Methods
get_value(name)
click to toggle source
Returns value of specified column
# File lib/rbase/record.rb, line 123 def get_value(name) name = name.to_s.upcase.to_sym return @values_changed[name] if @values_changed.has_key?(name) return nil if new_record? column = @table.column(name) raise UnknownColumnError.new(name) unless column @values_cached[name] ||= column.unpack(@data[column.offset, column.size]) end
set_value(name, value)
click to toggle source
Sets value of specified column.
# File lib/rbase/record.rb, line 133 def set_value(name, value) name = name.to_s.upcase.to_sym raise UnknownColumnError.new(name) unless @table.column(name) @values_changed[name] = value end