Sha256: d6708d96f185b31d57cc0d7ce06d342c24807a3f21121ea3b462ed3adc74755d

Contents?: true

Size: 1.66 KB

Versions: 5

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

require 'gli'

require 'app_store_connect/version'

module AppStoreConnect
  class CLI
    extend GLI::App

    program_desc 'Here is my program description'
    version AppStoreConnect::VERSION

    flag [:i, 'issuer-id'],
         default_value: ENV['APP_STORE_CONNECT_ISSUER_ID']

    flag [:p, 'private-key'],
         default_value: ENV['APP_STORE_CONNECT_PRIVATE_KEY']

    flag [:k, 'key-id'],
         default_value: ENV['APP_STORE_CONNECT_KEY_ID']

    command 'app' do |c|
      c.flag %i[a app_id], required: true

      c.action do |_, options|
        app_id = options[:app_id]
        puts client.app(app_id).to_json
      end
    end

    command 'apps' do |c|
      c.desc 'Gets all of the apps'
      c.long_desc 'The long desc'

      c.action do |global_options, _, _|
        puts client(global_options).apps.to_json
      end
    end

    command 'builds' do |c|
      c.flag %i[a app_id], required: true

      c.action do |global_options, options|
        app_id = options[:app_id]

        puts client(global_options).builds(app_id).to_json
      end
    end

    command 'build' do |c|
      c.flag %i[a app_id], required: true
      c.switch %i[b build_id], required: true

      c.action do |global_options, options|
        app_id = options[:app_id]
        build_id = options[:build_id]

        puts client(global_options).build(app_id, build_id).to_json
      end
    end

    def self.client(global_options)
      AppStoreConnect::Client.new(
        private_key: global_options[:private_key],
        issuer_id: global_options[:issuer_id],
        key_id: global_options[:key_id]
      )
    end
    private_class_method :client
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
app_store_connect-0.5.0 lib/app_store_connect/cli.rb
app_store_connect-0.4.0 lib/app_store_connect/cli.rb
app_store_connect-0.3.2 lib/app_store_connect/cli.rb
app_store_connect-0.3.1 lib/app_store_connect/cli.rb
app_store_connect-0.3.0 lib/app_store_connect/cli.rb