Sha256: 4ca384ab5466a34dfa9203f569ad3c5eac361c70b01f348d19515df9da235bd7

Contents?: true

Size: 1.36 KB

Versions: 13

Compression:

Stored size: 1.36 KB

Contents

# encoding: UTF-8

require "thor"

require_relative 'doi_utils'
require_relative 'utils'

module Bolognese
  class CLI < Thor
    include Bolognese::DoiUtils
    include Bolognese::Utils

    def self.exit_on_failure?
      true
    end

    # from http://stackoverflow.com/questions/22809972/adding-a-version-option-to-a-ruby-thor-cli
    map %w[--version -v] => :__print_version

    desc "--version, -v", "print the version"
    def __print_version
      puts Bolognese::VERSION
    end

    desc "", "convert metadata"
    method_option :from, aliases: "-f"
    method_option :to, aliases: "-t", default: "schema_org"
    method_option :regenerate, :type => :boolean, :force => false
    def convert(input)
      id = normalize_id(input)

      if id.present?
        from = options[:from] || find_from_format(id: id)
      else
        ext = File.extname(input)
        filename = File.basename(input)
        if %w(.bib .xml).include?(ext) || filename == "codemeta.json"
          string = IO.read(input)
        else
          $stderr.puts "File type #{ext} not supported"
          exit 1
        end
        from = options[:from] || find_from_format(string: string, ext: ext, filename: filename)
      end

      to = options[:to] || "schema_org"

      write(id: id, string: string, from: from, to: to, regenerate: options[:regenerate])
    end

    default_task :convert
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
bolognese-0.9 lib/bolognese/cli.rb
bolognese-0.8.13 lib/bolognese/cli.rb
bolognese-0.8.12 lib/bolognese/cli.rb
bolognese-0.8.11 lib/bolognese/cli.rb
bolognese-0.8.10 lib/bolognese/cli.rb
bolognese-0.8.7 lib/bolognese/cli.rb
bolognese-0.8.5 lib/bolognese/cli.rb
bolognese-0.8.4 lib/bolognese/cli.rb
bolognese-0.8.3 lib/bolognese/cli.rb
bolognese-0.8.2 lib/bolognese/cli.rb
bolognese-0.8.1 lib/bolognese/cli.rb
bolognese-0.8 lib/bolognese/cli.rb
bolognese-0.7.2 lib/bolognese/cli.rb