Sha256: db9a5e534097bfcee1f4dc2943f7a67373842fe1dabdd56d01a745b2adf106bd

Contents?: true

Size: 955 Bytes

Versions: 4

Compression:

Stored size: 955 Bytes

Contents

#!/usr/bin/ruby
# coding: utf-8

# NB: When testing locally, you can run this as:
#
#   ruby -Ilib bin/onix_extract_codelists [options] xsd dir

require 'optparse'

def parse_options
  options = {}
  optparse = OptionParser.new do |parser|
    parser.banner = [
      "Usage: onix_extract_codelists [options] xsd_path output_dir_path",
      "",
      "  eg: onix_extract_codelists ONIX_BookProduct_CodeLists.xsd support/codes"
    ].join("\n")

    options[:format] = :tsv
    parser.on("-f", "--format FMT", "Write to format (TSV or Ruby)") do |fmt|
      options[:format] = fmt.downcase.to_sym
    end

    parser.on("-h", "--help", "Display this usage information") do
      puts parser
      exit
    end
  end
  optparse.parse!
  unless ARGV.size == 2
    puts optparse
    exit(1)
  end
  options
end

options = parse_options

require "cacofonix"
extractor = Cacofonix::CodeListExtractor.new(ARGV.shift, options[:format])
extractor.run(ARGV.shift)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cacofonix-0.10.3 bin/onix_extract_codelists
cacofonix-0.10.2 bin/onix_extract_codelists
cacofonix-0.10.1 bin/onix_extract_codelists
cacofonix-0.10.0 bin/onix_extract_codelists