Sha256: e78348858ad897ebbb63d72d287f9e514629da9b48afb0f8bd451e534953c275

Contents?: true

Size: 988 Bytes

Versions: 1

Compression:

Stored size: 988 Bytes

Contents

require 'thor'

module Saddler
  class CLI < Thor
    def self.exit_on_failure?
      true
    end

    desc 'version', 'Show the Saddler version'
    map %w(-v --version) => :version

    def version
      puts "Saddler version #{::Saddler::VERSION}"
    end

    desc 'report', 'Exec Report'
    option :data
    option :file
    option :options, type: :hash, default: {}
    option :require
    option :reporter
    def report
      data = \
          if options[:data]
            options[:data]
          elsif options[:file]
            File.read(options[:file])
          elsif !$stdin.tty?
            ARGV.clear
            ARGF.read
          end

      abort('no input') if !data || data.empty?

      require options[:require] if options[:require]
      if options[:reporter]
        reporter = ::Saddler::Reporter.add_reporter(options[:reporter], $stdout)
      end

      abort('no reporter') unless reporter
      reporter.report(data, options[:options])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
saddler-0.1.0 lib/saddler/cli.rb