Sha256: 80b7e27e493016f136699fe49d977fcfaa45c662a54aa3ac251ee0e744b77c19
Contents?: true
Size: 1.49 KB
Versions: 2
Compression:
Stored size: 1.49 KB
Contents
require 'rdf' require 'optparse' module RDF class CLI ## # @return [String] def self.basename() File.basename($0) end ## # @yield [options] # @yieldparam [OptionParser] # @return [OptionParser] def self.options(&block) options = OptionParser.new if block_given? case block.arity when 1 then block.call(options) else options.instance_eval(&block) end end begin options.parse! rescue OptionParser::InvalidOption => e abort e end options end ## # @param [String] command # @param [Array<String>] args # @return [Boolean] def self.exec_command(command, *args) if binary = RDF::CLI.find_binary(command) exec(binary, *args) else false end end ## # @param [String] command # @return [String, nil] def self.find_binary(command) binary = File.join(File.dirname(__FILE__), '..', '..', 'bin', 'rdf-' + command) File.exists?(binary) ? binary : nil end ## # @param [Array<String>] files # @yield [statement] # @yieldparam [Statement] # @return [nil] def self.each_statement(*files, &block) files.each do |file| RDF::Reader::NTriples.open(file) do |reader| reader.each_statement(&block) end end end ## # @param [String] msg # @return [void] def self.abort(msg) Kernel.abort "#{basename}: #{msg}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rdf-0.0.5 | lib/rdf/cli.rb |
rdf-0.0.4 | lib/rdf/cli.rb |