Sha256: 0c364fd48734c0d88400d069efd1abf7db2c8650eede4a9ac5682fefeed38d13

Contents?: true

Size: 1009 Bytes

Versions: 1

Compression:

Stored size: 1009 Bytes

Contents

#!/usr/bin/env ruby -ws

require 'rubygems'
require 'dbf'

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

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

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

  # create an ActiveRecord::Schema
  if $a
    reader = DBF::Reader.new filename
    puts reader.schema
  end
  
  if $s
    reader = DBF::Reader.new filename
    puts
    puts "Database: #{filename}"
    puts "Type: (#{reader.version}) #{reader.version_description}"
    puts "Memo Type: #{reader.memo_file_format}" if reader.has_memo_file?
    puts "Records: #{reader.record_count}"
    
    puts "\nFields:"
    puts "Name             Type       Length     Decimal"
    puts "-" * 78
    reader.columns.each do |f|
      puts "%-16s %-10s %-10s %-10s" % [f.name, f.type, f.length, f.decimal]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dbf-1.0.0 bin/dbf