class Gym::CommandsGenerator

Constants

UI

Public Class Methods

start() click to toggle source
# File lib/gym/commands_generator.rb, line 13
def self.start
  FastlaneCore::UpdateChecker.start_looking_for_update("gym")
  new.run
ensure
  FastlaneCore::UpdateChecker.show_update_status("gym", Gym::VERSION)
end

Public Instance Methods

convert_options(options) click to toggle source
# File lib/gym/commands_generator.rb, line 20
def convert_options(options)
  o = options.__hash__.dup
  o.delete(:verbose)
  o
end
run() click to toggle source
# File lib/gym/commands_generator.rb, line 26
def run
  program :name, 'gym'
  program :version, Gym::VERSION
  program :description, Gym::DESCRIPTION
  program :help, "Author", "Felix Krause <gym@krausefx.com>"
  program :help, "Website", "https://fastlane.tools"
  program :help, "GitHub", "https://github.com/fastlane/fastlane/tree/master/gym"
  program :help_formatter, :compact

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

  command :build do |c|
    c.syntax = "gym"
    c.description = "Just builds your app"
    c.action do |_args, options|
      config = FastlaneCore::Configuration.create(Gym::Options.available_options,
                                                  convert_options(options))
      Gym::Manager.new.work(config)
    end
  end

  command :init do |c|
    c.syntax = "gym init"
    c.description = "Creates a new Gymfile for you"
    c.action do |_args, options|
      containing = (File.directory?("fastlane") ? 'fastlane' : '.')
      path = File.join(containing, Gym.gymfile_name)
      UI.user_error! "Gymfile already exists" if File.exist?(path)
      template = File.read("#{Gym::ROOT}/lib/assets/GymfileTemplate")
      File.write(path, template)
      UI.success "Successfully created '#{path}'. Open the file using a code editor."
    end
  end

  default_command :build

  run!
end