app_store_connect 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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.