Sha256: 58c3388e3a6d0c569fbed1f2fb1ea80953ce1626456d1c56c26ad16fea1f2b60

Contents?: true

Size: 1.26 KB

Versions: 5

Compression:

Stored size: 1.26 KB

Contents

require "commander"
require "fastlane_core"

HighLine.track_eof = false

module Xcov
  class CommandsGenerator

    include Commander::Methods

    FastlaneCore::CommanderGenerator.new.generate(Xcov::Options.available_options)

    def self.start
      FastlaneCore::UpdateChecker.start_looking_for_update("xcov")
      new.run
    ensure
      FastlaneCore::UpdateChecker.show_update_status("xcov", Xcov::VERSION)
    end

    def convert_options(options)
      o = options.__hash__.dup
      o.delete(:verbose)
      o
    end

    def run
      program :version, Xcov::VERSION
      program :description, Xcov::DESCRIPTION
      program :help, "Author", "Carlos Vidal <nakioparkour@gmail.com>"
      program :help, "Website", "http://www.nakiostudio.com"
      program :help, "GitHub", "https://github.com/nakiostudio/xcov"
      program :help_formatter, :compact

      global_option("--verbose") { $verbose = true }

      command :report do |c|
        c.syntax = "Xcov"
        c.description = Xcov::DESCRIPTION
        c.action do |_args, options|
          config = FastlaneCore::Configuration.create(Xcov::Options.available_options, convert_options(options))
          Xcov::Manager.new.work(config)
        end
      end

      default_command :report

      run!
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
xcov-0.5 lib/xcov/commands_generator.rb
xcov-0.4 lib/xcov/commands_generator.rb
xcov-0.3 lib/xcov/commands_generator.rb
xcov-0.2 lib/xcov/commands_generator.rb
xcov-0.1 lib/xcov/commands_generator.rb