Sha256: db8c78a4efa277d510df2ecb66f9527dc03b2086642751a1e54fb95564916c0c

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

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 :repo
    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?

      pass_options = {}
      pass_options[:repo] = options[:repo] if options[:repo]

      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, pass_options)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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