Sha256: 27b5c0f661630ae96310542f11bfd5be66433464dd2afa74dcc84c136f5e1bde

Contents?: true

Size: 1.46 KB

Versions: 24

Compression:

Stored size: 1.46 KB

Contents

module Fastlane
  class CommandLineHandler
    # This method handles command line inputs and properly transforms them to a usable format
    # @param [Array] args An array of all arguments (not options)
    # @param [Array] args A hash of all options (e.g. --env NAME)
    def self.handle(args, options)
      lane_parameters = {} # the parameters we'll pass to the lane
      platform_lane_info = [] # the part that's responsible for the lane/platform definition
      args.each do |current|
        if current.include? ":" # that's a key/value which we want to pass to the lane
          key, value = current.split(":", 2)
          raise "Please pass values like this: key:value" unless key.length > 0
          value = convert_value(value)
          Helper.log.debug "Using #{key}: #{value}".yellow
          lane_parameters[key.to_sym] = value
        else
          platform_lane_info << current
        end
      end

      platform = nil
      lane = platform_lane_info[1]
      if lane
        platform = platform_lane_info[0]
      else
        lane = platform_lane_info[0]
      end

      dot_env = Helper.is_test? ? nil : options.env
      Fastlane::LaneManager.cruise_lane(platform, lane, lane_parameters, dot_env)
    end

    # Helper to convert into the right data type
    def self.convert_value(value)
      return true if value == 'true' || value == 'yes'
      return false if value == 'false' || value == 'no'

      # Default case:
      return value
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
fastlane-1.66.0 lib/fastlane/command_line_handler.rb
fastlane-1.65.0 lib/fastlane/command_line_handler.rb
fastlane-1.64.0 lib/fastlane/command_line_handler.rb
fastlane-1.63.1 lib/fastlane/command_line_handler.rb
fastlane-1.63.0 lib/fastlane/command_line_handler.rb
fastlane-1.62.0 lib/fastlane/command_line_handler.rb
fastlane-1.61.0 lib/fastlane/command_line_handler.rb
fastlane-1.60.0 lib/fastlane/command_line_handler.rb
fastlane-1.59.0 lib/fastlane/command_line_handler.rb
fastlane-1.58.0 lib/fastlane/command_line_handler.rb
fastlane-1.57.0 lib/fastlane/command_line_handler.rb
fastlane-1.56.0 lib/fastlane/command_line_handler.rb
fastlane-1.55.0 lib/fastlane/command_line_handler.rb
fastlane-1.54.0 lib/fastlane/command_line_handler.rb
fastlane-1.53.0 lib/fastlane/command_line_handler.rb
fastlane-1.52.0 lib/fastlane/command_line_handler.rb
fastlane-1.51.0 lib/fastlane/command_line_handler.rb
fastlane-1.50.0 lib/fastlane/command_line_handler.rb
fastlane-1.49.0 lib/fastlane/command_line_handler.rb
fastlane-1.48.0 lib/fastlane/command_line_handler.rb