Sha256: 5f2d362f3ed0c7aca344533686ccc3320a928038f386359c933722acf77f5245

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

#!/usr/bin/env ruby -s

require 'dbf'

$a ||= false
$s ||= false
$c ||= false

if defined? $h then
  puts "usage: #{File.basename(__FILE__)} [-h|-s|-a|-c] filename"
  puts "  -h = print this message"
  puts "  -s = print summary information"
  puts "  -a = create an ActiveRecord::Schema"
  puts "  -c = create a csv file"
else

  filename = ARGV.shift
  abort "You must supply a filename on the command line" unless filename

  # create an ActiveRecord::Schema
  if $a
    table = DBF::Table.new filename
    puts table.schema
  end

  if $s
    table = DBF::Table.new filename
    puts
    puts "Database: #{filename}"
    puts "Type: (#{table.version}) #{table.version_description}"
    puts "Memo File: #{table.has_memo_file? ? 'true' : 'false'}"
    puts "Records: #{table.record_count}"

    puts "\nFields:"
    puts "Name             Type       Length     Decimal"
    puts "-" * 78
    table.columns.each do |f|
      puts "%-16s %-10s %-10s %-10s" % [f.name, f.type, f.length, f.decimal]
    end
  end

  if $c
   table = DBF::Table.new filename
   table.to_csv
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dbf-2.0.6 bin/dbf
dbf-2.0.5 bin/dbf
dbf-2.0.4 bin/dbf