Sha256: 9f9b7178898b718714421a5e37aaa9a29b53c0213820529713fb8301fb60a819

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 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)
      metadata = Metadata.new(input: input,
                              from: options[:from],
                              regenerate: options[:regenerate])
      to = options[:to] || "schema_org"

      if metadata.valid?
        puts metadata.send(to)
      else
        $stderr.puts metadata.errors
      end
    end

    default_task :convert
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bolognese-0.9.41 lib/bolognese/cli.rb
bolognese-0.9.39 lib/bolognese/cli.rb
bolognese-0.9.38 lib/bolognese/cli.rb
bolognese-0.9.37 lib/bolognese/cli.rb