app_store_connect 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0cd886dbe9db8dc3a9cd5733faafb369de167660b7451d6e945db4da4c41da4
4
- data.tar.gz: 1d00be34dfc11efce5c31365665ccef95969c0316e0166347292e5265fea55d7
3
+ metadata.gz: 4b2c4d83e880edac137a3d8a6b46da40e3ec239f4258175eee7206de53c92506
4
+ data.tar.gz: 1f902bc3963bfbdeb678252fcae19c3607203c1c47a7bc3b70bbf8697457b5a3
5
5
  SHA512:
6
- metadata.gz: bf97714f519a150fcfea20b809e4106634d7e831c3fd0bb8d1e6e880d20bfdf03fe2652b9adf20e3070ab8bc0db4514c6a8de824c3e65ca20fc1d997673d1c20
7
- data.tar.gz: 8aca030237418bfaa4da6165cc13c709a8483bc6318f3f1bd264815409e7c2d67ba000d1064a703b4c23f4c1d8548ffdd4d33fe355fa1db4c94f4a4121707582
6
+ metadata.gz: 86438e4528f070a37c36a8b9744f38a410821a26c606e249498a9cffa5a5bd063841c28a92e1d06cd79164dff2adc4dcbbd41c5b0224552fd7bda297f612935b
7
+ data.tar.gz: 106e7dfea9dfbdd4b809d2c909613b9d5b4fec602e210d04e21bec3c7bdc8eb5984b4296a5c93583f23e34ba5ac73664a9730a0f6e394a8e7e2c1df6ef0ff319
data/.rubocop.yml ADDED
@@ -0,0 +1,19 @@
1
+ # The behavior of RuboCop can be controlled via the .rubocop.yml
2
+ # configuration file. It makes it possible to enable/disable
3
+ # certain cops (checks) and to alter their behavior if they accept
4
+ # any parameters. The file can be placed either in your home
5
+ # directory or in some project directory.
6
+ #
7
+ # RuboCop will start looking for the configuration file in the directory
8
+ # where the inspected file is and continue its way up to the root directory.
9
+ #
10
+ # See https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md
11
+ #
12
+ Style/Documentation:
13
+ Enabled: false
14
+
15
+ Metrics/LineLength:
16
+ Enabled: false
17
+
18
+ Style/StructInheritance:
19
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.3
data/.travis.yml CHANGED
@@ -5,3 +5,7 @@ cache: bundler
5
5
  rvm:
6
6
  - 2.5.1
7
7
  before_install: gem install bundler -v 2.0.1
8
+
9
+ script:
10
+ - bundle exec rspec
11
+ - bundle exec rubocop
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_store_connect (0.1.0)
4
+ app_store_connect (0.3.0)
5
+ activesupport (~> 5.2.3)
5
6
  gli (~> 2.17)
6
7
  httparty (~> 0.16)
7
8
  jwt (~> 2.1)
@@ -9,17 +10,38 @@ PATH
9
10
  GEM
10
11
  remote: https://rubygems.org/
11
12
  specs:
13
+ activesupport (5.2.3)
14
+ concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ i18n (>= 0.7, < 2)
16
+ minitest (~> 5.1)
17
+ tzinfo (~> 1.1)
18
+ ast (2.4.0)
12
19
  coderay (1.1.2)
20
+ concurrent-ruby (1.1.5)
13
21
  diff-lcs (1.3)
14
- gli (2.17.1)
15
- httparty (0.16.2)
22
+ factory_bot (5.0.2)
23
+ activesupport (>= 4.2.0)
24
+ gli (2.18.0)
25
+ httparty (0.17.0)
26
+ mime-types (~> 3.0)
16
27
  multi_xml (>= 0.5.2)
17
- jwt (2.1.0)
28
+ i18n (1.6.0)
29
+ concurrent-ruby (~> 1.0)
30
+ jaro_winkler (1.5.3)
31
+ jwt (2.2.1)
18
32
  method_source (0.9.2)
33
+ mime-types (3.2.2)
34
+ mime-types-data (~> 3.2015)
35
+ mime-types-data (3.2019.0331)
36
+ minitest (5.11.3)
19
37
  multi_xml (0.6.0)
38
+ parallel (1.17.0)
39
+ parser (2.6.3.0)
40
+ ast (~> 2.4.0)
20
41
  pry (0.12.2)
21
42
  coderay (~> 1.1.0)
22
43
  method_source (~> 0.9.0)
44
+ rainbow (3.0.0)
23
45
  rake (10.5.0)
24
46
  rspec (3.8.0)
25
47
  rspec-core (~> 3.8.0)
@@ -34,6 +56,18 @@ GEM
34
56
  diff-lcs (>= 1.2.0, < 2.0)
35
57
  rspec-support (~> 3.8.0)
36
58
  rspec-support (3.8.0)
59
+ rubocop (0.71.0)
60
+ jaro_winkler (~> 1.5.1)
61
+ parallel (~> 1.10)
62
+ parser (>= 2.6)
63
+ rainbow (>= 2.2.2, < 4.0)
64
+ ruby-progressbar (~> 1.7)
65
+ unicode-display_width (>= 1.4.0, < 1.7)
66
+ ruby-progressbar (1.10.1)
67
+ thread_safe (0.3.6)
68
+ tzinfo (1.2.5)
69
+ thread_safe (~> 0.1)
70
+ unicode-display_width (1.6.0)
37
71
 
38
72
  PLATFORMS
39
73
  ruby
@@ -41,9 +75,11 @@ PLATFORMS
41
75
  DEPENDENCIES
42
76
  app_store_connect!
43
77
  bundler (~> 2.0)
78
+ factory_bot (~> 5.0.2)
44
79
  pry (~> 0.12)
45
80
  rake (~> 10.0)
46
81
  rspec (~> 3.0)
82
+ rubocop (~> 0.71.0)
47
83
 
48
84
  BUNDLED WITH
49
- 2.0.1
85
+ 2.0.2
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # AppStoreConnect
1
+ # AppStoreConnect [![Build Status](https://travis-ci.com/kyledecot/app_store_connect.svg?branch=master)](https://travis-ci.com/kyledecot/app_store_connect)
2
2
 
3
3
  TODO
4
4
 
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
@@ -1,33 +1,37 @@
1
+ # frozen_string_literal: true
1
2
 
2
- lib = File.expand_path("../lib", __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "app_store_connect/version"
5
+ require 'app_store_connect/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "app_store_connect"
8
+ spec.name = 'app_store_connect'
8
9
  spec.version = AppStoreConnect::VERSION
9
- spec.authors = ["Kyle Decot"]
10
- spec.email = ["kyle.decot@icloud.com"]
10
+ spec.authors = ['Kyle Decot']
11
+ spec.email = ['kyle.decot@icloud.com']
11
12
 
12
- spec.summary = %q{Write a short summary, because RubyGems requires one.}
13
+ spec.summary = 'Write a short summary, because RubyGems requires one.'
13
14
  # spec.description = %q{TODO: Write a longer description or delete this line.}
14
- spec.homepage = "https://github.com/kyledecot/app_store_connect"
15
- spec.license = "MIT"
15
+ spec.homepage = 'https://github.com/kyledecot/app_store_connect'
16
+ spec.license = 'MIT'
16
17
 
17
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
18
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
18
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
20
  end
20
21
 
21
- spec.bindir = "exe"
22
+ spec.bindir = 'exe'
22
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.require_paths = ["lib"]
24
+ spec.require_paths = ['lib']
24
25
 
25
- spec.add_runtime_dependency "httparty", "~> 0.16"
26
- spec.add_runtime_dependency "jwt", "~> 2.1"
27
- spec.add_runtime_dependency "gli", "~> 2.17"
26
+ spec.add_runtime_dependency 'activesupport', '~> 5.2.3'
27
+ spec.add_runtime_dependency 'gli', '~> 2.17'
28
+ spec.add_runtime_dependency 'httparty', '~> 0.16'
29
+ spec.add_runtime_dependency 'jwt', '~> 2.1'
28
30
 
29
- spec.add_development_dependency "bundler", "~> 2.0"
30
- spec.add_development_dependency "rake", "~> 10.0"
31
- spec.add_development_dependency "rspec", "~> 3.0"
32
- spec.add_development_dependency "pry", "~> 0.12"
31
+ spec.add_development_dependency 'bundler', '~> 2.0'
32
+ spec.add_development_dependency 'factory_bot', '~> 5.0.2'
33
+ spec.add_development_dependency 'pry', '~> 0.12'
34
+ spec.add_development_dependency 'rake', '~> 10.0'
35
+ spec.add_development_dependency 'rspec', '~> 3.0'
36
+ spec.add_development_dependency 'rubocop', '~> 0.71.0'
33
37
  end
data/bin/console CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "app_store_connect"
5
- require "pry"
4
+ require 'bundler/setup'
5
+ require 'app_store_connect'
6
+ require 'pry'
6
7
 
7
8
  Pry.start
@@ -1,4 +1,5 @@
1
1
  #! /usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'app_store_connect'
4
5
 
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AppStoreConnect
2
4
  class Authorization
3
- AUDIENCE = "appstoreconnect-v1"
5
+ AUDIENCE = 'appstoreconnect-v1'
4
6
 
5
- def initialize(key_id:, issuer_id:, private_key_path:)
7
+ def initialize(key_id:, issuer_id:, private_key:)
6
8
  @key_id = key_id
7
9
  @issuer_id = issuer_id
8
- @private_key_path = private_key_path
10
+ @private_key = OpenSSL::PKey.read(private_key)
9
11
  end
10
12
 
11
13
  def payload
@@ -17,14 +19,7 @@ module AppStoreConnect
17
19
  end
18
20
 
19
21
  def token
20
- JWT.encode(payload, private_key, "ES256", kid: @key_id)
21
- end
22
-
23
- def private_key
24
- @private_key ||= begin
25
- path = File.expand_path(@private_key_path)
26
- OpenSSL::PKey.read(File.read(path))
27
- end
22
+ JWT.encode(payload, @private_key, 'ES256', kid: @key_id)
28
23
  end
29
24
  end
30
25
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnect
4
+ class BundleIdCreateRequest
5
+ class Data
6
+ class Attributes
7
+ attr_accessor :identifier, :name, :platform, :seed_id
8
+
9
+ def initialize(identifier:, name:, platform:, seed_id:)
10
+ self.identifier = identifier
11
+ self.name = name
12
+ self.platform = platform
13
+ self.seed_id = seed_id
14
+ end
15
+
16
+ def to_hash
17
+ {
18
+ identifier: identifier,
19
+ name: name,
20
+ platform: platform,
21
+ seed_id: seed_id
22
+ }
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './data/attributes'
4
+
5
+ module AppStoreConnect
6
+ class BundleIdCreateRequest
7
+ class Data
8
+ TYPE = 'bundleIds'
9
+
10
+ attr_reader :attributes
11
+
12
+ def initialize(*args)
13
+ @attributes = Attributes.new(*args)
14
+ end
15
+
16
+ def type
17
+ TYPE
18
+ end
19
+
20
+ def to_hash
21
+ {
22
+ attributes: attributes.to_hash,
23
+ type: type
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './bundle_id_create_request/data'
4
+
5
+ module AppStoreConnect
6
+ class BundleIdCreateRequest
7
+ attr_reader :data
8
+
9
+ def initialize(*args)
10
+ @data = Data.new(*args)
11
+ end
12
+
13
+ def to_hash
14
+ {
15
+ data: data.to_hash
16
+ }
17
+ end
18
+ end
19
+ end
@@ -1,43 +1,45 @@
1
- require "gli"
1
+ # frozen_string_literal: true
2
2
 
3
- require "app_store_connect/version"
3
+ require 'gli'
4
+
5
+ require 'app_store_connect/version'
4
6
 
5
7
  module AppStoreConnect
6
8
  class CLI
7
9
  extend GLI::App
8
10
 
9
- program_desc "Here is my program description"
11
+ program_desc 'Here is my program description'
10
12
  version AppStoreConnect::VERSION
11
13
 
12
14
  flag [:i, 'issuer-id'],
13
- :default_value => ENV["APP_STORE_CONNECT_ISSUER_ID"]
15
+ default_value: ENV['APP_STORE_CONNECT_ISSUER_ID']
14
16
 
15
- flag [:p, 'private-key-path'],
16
- :default_value => ENV["APP_STORE_CONNECT_PRIVATE_KEY_PATH"]
17
+ flag [:p, 'private-key'],
18
+ default_value: ENV['APP_STORE_CONNECT_PRIVATE_KEY']
17
19
 
18
20
  flag [:k, 'key-id'],
19
- :default_value => ENV["APP_STORE_CONNECT_KEY_ID"]
21
+ default_value: ENV['APP_STORE_CONNECT_KEY_ID']
20
22
 
21
- command "app" do |c|
22
- c.flag [:a, :app_id], :required => true
23
+ command 'app' do |c|
24
+ c.flag %i[a app_id], required: true
23
25
 
24
26
  c.action do |_, options|
25
27
  app_id = options[:app_id]
26
- puts client.app(app_id).to_json
28
+ puts client.app(app_id).to_json
27
29
  end
28
30
  end
29
31
 
30
- command "apps" do |c|
31
- c.desc "Gets all of the apps"
32
- c.long_desc "The long desc"
32
+ command 'apps' do |c|
33
+ c.desc 'Gets all of the apps'
34
+ c.long_desc 'The long desc'
33
35
 
34
- c.action do |global_options, _,_|
36
+ c.action do |global_options, _, _|
35
37
  puts client(global_options).apps.to_json
36
38
  end
37
39
  end
38
40
 
39
- command "builds" do |c|
40
- c.flag [:a, :app_id], :required => true
41
+ command 'builds' do |c|
42
+ c.flag %i[a app_id], required: true
41
43
 
42
44
  c.action do |global_options, options|
43
45
  app_id = options[:app_id]
@@ -46,9 +48,9 @@ module AppStoreConnect
46
48
  end
47
49
  end
48
50
 
49
- command "build" do |c|
50
- c.flag [:a, :app_id], :required => true
51
- c.switch [:b, :build_id], :required => true
51
+ command 'build' do |c|
52
+ c.flag %i[a app_id], required: true
53
+ c.switch %i[b build_id], required: true
52
54
 
53
55
  c.action do |global_options, options|
54
56
  app_id = options[:app_id]
@@ -58,14 +60,13 @@ module AppStoreConnect
58
60
  end
59
61
  end
60
62
 
61
- private
62
-
63
63
  def self.client(global_options)
64
64
  AppStoreConnect::Client.new(
65
- :private_key_path => global_options[:private_key_path],
66
- :issuer_id => global_options[:issuer_id],
67
- :key_id => global_options[:key_id]
65
+ private_key: global_options[:private_key],
66
+ issuer_id: global_options[:issuer_id],
67
+ key_id: global_options[:key_id]
68
68
  )
69
69
  end
70
+ private_class_method :client
70
71
  end
71
72
  end
@@ -1,17 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/all'
4
+
1
5
  module AppStoreConnect
2
6
  class Client
3
- ENDPOINT = "https://api.appstoreconnect.apple.com/v1"
7
+ ENDPOINT = 'https://api.appstoreconnect.apple.com/v1'
4
8
 
5
- def initialize(key_id:, issuer_id:, private_key_path:)
9
+ def initialize(key_id:, issuer_id:, private_key:)
6
10
  @authorization = Authorization.new(
7
- :private_key_path => private_key_path,
8
- :key_id => key_id,
9
- :issuer_id => issuer_id
11
+ private_key: private_key,
12
+ key_id: key_id,
13
+ issuer_id: issuer_id
10
14
  )
11
15
  end
12
16
 
13
17
  def apps
14
- get("apps")
18
+ get('apps')
15
19
  end
16
20
 
17
21
  def app(id)
@@ -26,24 +30,57 @@ module AppStoreConnect
26
30
  get("apps/#{app_id}/builds/#{build_id}")
27
31
  end
28
32
 
33
+ def invite_user(first_name:, last_name:, email:, roles:)
34
+ invitation = UserInvitationCreateRequest.new(
35
+ first_name: first_name,
36
+ last_name: last_name,
37
+ email: email,
38
+ roles: roles
39
+ )
40
+
41
+ post('userInvitations', invitation.body.to_json)
42
+ end
43
+
44
+ def create_bundle_id(*args)
45
+ request = BundleIdCreateRequest.new(*args)
46
+
47
+ post('bundleIds', body(request))
48
+ end
49
+
29
50
  def users
30
- get("users")
31
- end
51
+ get('users')
52
+ end
32
53
 
33
54
  def user_invitations
34
- get("userInvitations")
35
- end
55
+ get('userInvitations')
56
+ end
36
57
 
37
58
  private
38
59
 
60
+ def body(request)
61
+ request
62
+ .to_hash
63
+ .deep_transform_keys { |k| k.to_s.camelize(:lower) }
64
+ .to_json
65
+ end
66
+
39
67
  def get(path)
40
68
  response = HTTParty.get("#{ENDPOINT}/#{path}", headers: headers)
41
69
 
42
- response["data"]
70
+ response['data']
71
+ end
72
+
73
+ def post(path, body)
74
+ response = HTTParty.post("#{ENDPOINT}/#{path}", headers: headers, body: body)
75
+
76
+ response
43
77
  end
44
78
 
45
79
  def headers
46
- { "Authorization" => "Bearer #{@authorization.token}" }
80
+ {
81
+ 'Authorization' => "Bearer #{@authorization.token}",
82
+ 'Content-Type' => 'application/json'
83
+ }
47
84
  end
48
85
  end
49
86
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnect
4
+ class UserInvitationCreateRequest < Struct.new(:first_name, :last_name, :email, :roles)
5
+ def body
6
+ { 'data' =>
7
+ { 'type' => 'userInvitations', 'attributes' =>
8
+ { 'firstName' => @first_name, 'lastName' => @last_name, 'email' => @email, 'roles' => @roles, 'allAppsVisible' => true, 'provisioningAllowed' => true } } }
9
+ end
10
+
11
+ def to_s
12
+ body.to_json
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AppStoreConnect
2
- VERSION = "0.2.0"
4
+ VERSION = '0.3.0'
3
5
  end
@@ -1,10 +1,14 @@
1
- require "jwt"
2
- require "httparty"
1
+ # frozen_string_literal: true
3
2
 
4
- require "app_store_connect/authorization"
5
- require "app_store_connect/client"
6
- require "app_store_connect/cli"
7
- require "app_store_connect/version"
3
+ require 'jwt'
4
+ require 'httparty'
5
+
6
+ require 'app_store_connect/authorization'
7
+ require 'app_store_connect/client'
8
+ require 'app_store_connect/cli'
9
+ require 'app_store_connect/bundle_id_create_request'
10
+ require 'app_store_connect/user_invitation_create_request'
11
+ require 'app_store_connect/version'
8
12
 
9
13
  module AppStoreConnect
10
14
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_store_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Decot
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-06 00:00:00.000000000 Z
11
+ date: 2019-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 5.2.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 5.2.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: gli
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.17'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.17'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: httparty
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -39,33 +67,47 @@ dependencies:
39
67
  - !ruby/object:Gem::Version
40
68
  version: '2.1'
41
69
  - !ruby/object:Gem::Dependency
42
- name: gli
70
+ name: bundler
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '2.17'
48
- type: :runtime
75
+ version: '2.0'
76
+ type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '2.17'
82
+ version: '2.0'
55
83
  - !ruby/object:Gem::Dependency
56
- name: bundler
84
+ name: factory_bot
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '2.0'
89
+ version: 5.0.2
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '2.0'
96
+ version: 5.0.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.12'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.12'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: rake
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -95,19 +137,19 @@ dependencies:
95
137
  - !ruby/object:Gem::Version
96
138
  version: '3.0'
97
139
  - !ruby/object:Gem::Dependency
98
- name: pry
140
+ name: rubocop
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
143
  - - "~>"
102
144
  - !ruby/object:Gem::Version
103
- version: '0.12'
145
+ version: 0.71.0
104
146
  type: :development
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
150
  - - "~>"
109
151
  - !ruby/object:Gem::Version
110
- version: '0.12'
152
+ version: 0.71.0
111
153
  description:
112
154
  email:
113
155
  - kyle.decot@icloud.com
@@ -118,6 +160,8 @@ extra_rdoc_files: []
118
160
  files:
119
161
  - ".gitignore"
120
162
  - ".rspec"
163
+ - ".rubocop.yml"
164
+ - ".ruby-version"
121
165
  - ".travis.yml"
122
166
  - Gemfile
123
167
  - Gemfile.lock
@@ -130,8 +174,12 @@ files:
130
174
  - exe/app_store_connect
131
175
  - lib/app_store_connect.rb
132
176
  - lib/app_store_connect/authorization.rb
177
+ - lib/app_store_connect/bundle_id_create_request.rb
178
+ - lib/app_store_connect/bundle_id_create_request/data.rb
179
+ - lib/app_store_connect/bundle_id_create_request/data/attributes.rb
133
180
  - lib/app_store_connect/cli.rb
134
181
  - lib/app_store_connect/client.rb
182
+ - lib/app_store_connect/user_invitation_create_request.rb
135
183
  - lib/app_store_connect/version.rb
136
184
  homepage: https://github.com/kyledecot/app_store_connect
137
185
  licenses:
@@ -152,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
200
  - !ruby/object:Gem::Version
153
201
  version: '0'
154
202
  requirements: []
155
- rubygems_version: 3.0.2
203
+ rubygems_version: 3.0.3
156
204
  signing_key:
157
205
  specification_version: 4
158
206
  summary: Write a short summary, because RubyGems requires one.