Sha256: fa80734c1bf7bccb9cbd4e68df950282f3f7ed1ca3739c7e942e8dfbef4813e8

Contents?: true

Size: 1.18 KB

Versions: 658

Compression:

Stored size: 1.18 KB

Contents

require 'fastlane/server/action_command.rb'
require 'fastlane/server/control_command.rb'
require 'json'

module Fastlane
  class CommandParser
    def self.parse(json: nil)
      if json.strip == "done"
        return intercept_old_done_command
      end

      command_json = JSON.parse(json)
      command_type_json = command_json['commandType']

      if command_type_json.nil?
        # Old Swift style (needs upgrade)
        return handle_old_style_action_command(command_json: command_json)
      else
        # New Swift command style
        return handle_new_style_commands(command_json: command_json)
      end
    end

    def self.handle_new_style_commands(command_json: nil)
      command_type = command_json['commandType'].to_sym
      command = command_json['command']

      case command_type
      when :action
        return ActionCommand.new(json: command)
      when :control
        return ControlCommand.new(json: command)
      end
    end

    def self.handle_old_style_action_command(command_json: nil)
      return ActionCommand.new(json: command_json)
    end

    def self.intercept_old_done_command
      return ControlCommand.new(json: '{"command":"done"}')
    end
  end
end

Version data entries

658 entries across 658 versions & 5 rubygems

Version Path
fastlane-2.203.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.202.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.201.2 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.201.1 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.201.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.201.0.rc3 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.201.0.rc2 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.201.0.rc1 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.200.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.199.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.198.1 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.198.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.197.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.196.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.195.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.194.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.193.1 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.193.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.192.0 fastlane/lib/fastlane/server/command_parser.rb
fastlane-2.191.0 fastlane/lib/fastlane/server/command_parser.rb