Sha256: a47c06405d6ce36f43a52459546c8cac4a6374577996477a5f25bccb6d680379

Contents?: true

Size: 1.1 KB

Versions: 10

Compression:

Stored size: 1.1 KB

Contents

#!/usr/bin/env ruby

require 'dbf'
require 'optparse'

params = ARGV.getopts('h', 's', 'a', 'c')

if params['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 params['a']
    table = DBF::Table.new filename
    puts table.schema
  end

  if params['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 params['c']
   table = DBF::Table.new filename
   table.to_csv
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
dbf-3.0.2 bin/dbf
dbf-3.0.1 bin/dbf
dbf-3.0.0 bin/dbf
dbf-2.0.13 bin/dbf
dbf-2.0.12 bin/dbf
dbf-2.0.11 bin/dbf
dbf-2.0.10 bin/dbf
dbf-2.0.9 bin/dbf
dbf-2.0.8 bin/dbf
dbf-2.0.7 bin/dbf