app_store_connect 0.25.0 → 0.27.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: 35feec86ecaf12cdc0158e94a2112efb9d2e9b97f076a921d16ae45dc9bc22f0
4
- data.tar.gz: d57577072927f6bf435b13e13cbd4c68c8e8203ec3d23b9c1feebd0b96d1d04f
3
+ metadata.gz: 45425b434a35955966a6cd767f068b456b461973b7b3f02a7b9ea45ee23bd062
4
+ data.tar.gz: 56488bb97676d975e67e5051e48e89e5db42a53ef4abae1c48dd05f02e978da8
5
5
  SHA512:
6
- metadata.gz: 604ccfa293374af96eb1673e032d94985471300d86cc857d9c6311c2bc9403c0046ee7f650dff6c3b8a0c1d9f8b4a1319924ceb757489054eef6db8ae74f12db
7
- data.tar.gz: a6dcbf620e8d195f76a9b7ed60c7628eafd5056fd1384db5f689ce468884381ead0fb758908ec5005d0ac07f704104cdd3e96860ffacf2792e223d03199a0410
6
+ metadata.gz: b8a15f4694d9352aa2ebee78ca9cb6b92d334e75fb5727fdf7ba8021d88c4be99ad877eccb54a1d980accb843e949249935e48f4dcbbeb7830959c13acdacaef
7
+ data.tar.gz: ebba0fb270d092834e23392d4009b28ab134053e11fd59273276bac296934d54765f583e8636c2d9faa6f7b83c1510dd6fed5f537d43dc8035f259eb3e71f102
@@ -11,10 +11,10 @@ jobs:
11
11
 
12
12
  steps:
13
13
  - uses: actions/checkout@v2
14
- - name: Set up Ruby 2.6
14
+ - name: Set up Ruby 2.7
15
15
  uses: actions/setup-ruby@v1
16
16
  with:
17
- ruby-version: 2.6.x
17
+ ruby-version: 2.7.x
18
18
  - uses: actions/cache@v1
19
19
  with:
20
20
  path: vendor/bundle
@@ -43,10 +43,10 @@ jobs:
43
43
 
44
44
  steps:
45
45
  - uses: actions/checkout@v2
46
- - name: Set up Ruby 2.6
46
+ - name: Set up Ruby 2.7
47
47
  uses: actions/setup-ruby@v1
48
48
  with:
49
- ruby-version: 2.6.x
49
+ ruby-version: 2.7.x
50
50
  - uses: actions/cache@v1
51
51
  with:
52
52
  path: vendor/bundle
@@ -68,10 +68,10 @@ jobs:
68
68
 
69
69
  steps:
70
70
  - uses: actions/checkout@v2
71
- - name: Set up Ruby 2.6
71
+ - name: Set up Ruby 2.7
72
72
  uses: actions/setup-ruby@v1
73
73
  with:
74
- ruby-version: 2.6.x
74
+ ruby-version: 2.7.x
75
75
  - uses: actions/cache@v1
76
76
  with:
77
77
  path: vendor/bundle
@@ -94,10 +94,10 @@ jobs:
94
94
 
95
95
  steps:
96
96
  - uses: actions/checkout@v2
97
- - name: Set up Ruby 2.6
97
+ - name: Set up Ruby 2.7
98
98
  uses: actions/setup-ruby@v1
99
99
  with:
100
- ruby-version: 2.6.x
100
+ ruby-version: 2.7.x
101
101
  - uses: actions/cache@v1
102
102
  with:
103
103
  path: vendor/bundle
data/.gitignore CHANGED
@@ -10,3 +10,4 @@
10
10
  .rspec_status
11
11
  .DS_Store
12
12
  *.gem
13
+ Gemfile.lock
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.6.3
1
+ ruby-2.7.6
@@ -2,6 +2,7 @@
2
2
 
3
3
  lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
5
6
  require 'app_store_connect/version'
6
7
 
7
8
  Gem::Specification.new do |spec|
@@ -20,19 +21,21 @@ Gem::Specification.new do |spec|
20
21
 
21
22
  spec.require_paths = ['lib']
22
23
 
23
- spec.add_runtime_dependency 'activesupport', '>= 6.0.3.1'
24
- spec.add_runtime_dependency 'jwt', '>= 1.4', '<= 2.2.1'
24
+ spec.required_ruby_version = '>= 2.7.0'
25
+
26
+ spec.add_runtime_dependency 'activesupport', '>= 6.0.0'
27
+ spec.add_runtime_dependency 'jwt', '>= 1.4', '<= 2.5.0'
25
28
  spec.add_runtime_dependency 'mixpanel-ruby', '<= 2.2.0'
26
29
 
27
- spec.add_development_dependency 'bundler', '~> 2.0'
28
- spec.add_development_dependency 'factory_bot', '~> 5.0.2'
30
+ spec.add_development_dependency 'bundler'
31
+ spec.add_development_dependency 'factory_bot', '~> 6.2.1'
29
32
  spec.add_development_dependency 'guard-rspec', '~> 4.7.3'
30
- spec.add_development_dependency 'pry', '~> 0.12'
31
- spec.add_development_dependency 'rake', '~> 13.0'
32
- spec.add_development_dependency 'rspec', '~> 3.0'
33
- spec.add_development_dependency 'rubocop', '~> 0.75.0'
34
- spec.add_development_dependency 'semantic', '~> 1.5'
35
- spec.add_development_dependency 'simplecov', '~> 0.16.1'
36
- spec.add_development_dependency 'timecop', '~> 0.9.1'
37
- spec.add_development_dependency 'webmock', '~> 3.6.0'
33
+ spec.add_development_dependency 'pry', '~> 0.14.1'
34
+ spec.add_development_dependency 'rake', '~> 13.0.6'
35
+ spec.add_development_dependency 'rspec', '~> 3.11.0'
36
+ spec.add_development_dependency 'rubocop', '~> 1.36.0'
37
+ spec.add_development_dependency 'semantic', '~> 1.6.1'
38
+ spec.add_development_dependency 'simplecov', '~> 0.21.2'
39
+ spec.add_development_dependency 'timecop', '~> 0.9.5'
40
+ spec.add_development_dependency 'webmock', '~> 3.18.1'
38
41
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'app_store_connect/create_request'
4
+
5
+ module AppStoreConnect
6
+ class AppStoreVersionBuildLinkageRequest < CreateRequest
7
+ data do
8
+ id :build_id
9
+ type 'builds'
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'app_store_connect/create_request'
4
+
5
+ module AppStoreConnect
6
+ class AppStoreVersionCreateRequest < CreateRequest
7
+ data do
8
+ type 'appStoreVersions'
9
+
10
+ attributes do
11
+ property :copyright
12
+ property :earliest_release_date
13
+ property :platform, required: true
14
+ property :release_type
15
+ property :version_string, required: true
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'app_store_connect/create_request'
4
+
5
+ module AppStoreConnect
6
+ class AppStoreVersionUpdateRequest < CreateRequest
7
+ data do
8
+ id
9
+ type 'appStoreVersions'
10
+
11
+ attributes do
12
+ property :copyright
13
+ property :earliest_release_date
14
+ property :release_type
15
+ property :version_string
16
+ property :downloadable
17
+ end
18
+ end
19
+ end
20
+ end
@@ -8,7 +8,7 @@ module AppStoreConnect
8
8
  OPTIONS = %i[schema].freeze
9
9
 
10
10
  def initialize(options = {})
11
- super(options .fetch(:schema).web_service_endpoints.map { |s| [s.alias, s] }.to_h)
11
+ super(options.fetch(:schema).web_service_endpoints.map { |s| [s.alias, s] }.to_h)
12
12
  end
13
13
  end
14
14
  end
@@ -23,12 +23,12 @@ module AppStoreConnect
23
23
  web_service_endpoint_aliases.include?(method_name) || super
24
24
  end
25
25
 
26
- def method_missing(method_name, *kwargs)
26
+ def method_missing(method_name, **kwargs)
27
27
  super unless web_service_endpoint_aliases.include?(method_name)
28
28
 
29
29
  web_service_endpoint = web_service_endpoint_by(method_name)
30
30
 
31
- call(web_service_endpoint, *kwargs)
31
+ call(web_service_endpoint, **kwargs)
32
32
  end
33
33
 
34
34
  # :nocov:
@@ -44,7 +44,7 @@ module AppStoreConnect
44
44
  private
45
45
 
46
46
  def call(web_service_endpoint, **kwargs)
47
- raise "invalid http method: #{web_service_endpoint.http_method}" unless %i[get delete post].include?(web_service_endpoint.http_method)
47
+ raise "invalid http method: #{web_service_endpoint.http_method}" unless %i[get delete post patch].include?(web_service_endpoint.http_method)
48
48
 
49
49
  request = build_request(web_service_endpoint, **kwargs)
50
50
 
@@ -80,9 +80,9 @@ module AppStoreConnect
80
80
  headers: headers
81
81
  }
82
82
 
83
- options[:http_body] = http_body(web_service_endpoint, **kwargs) if web_service_endpoint.http_method == :post
83
+ options[:http_body] = http_body(web_service_endpoint, **kwargs) if %i[post patch].include?(web_service_endpoint.http_method)
84
84
 
85
- Request.new(options)
85
+ Request.new(**options)
86
86
  end
87
87
 
88
88
  def headers
@@ -3,11 +3,12 @@
3
3
  module AppStoreConnect
4
4
  class CreateRequest
5
5
  def self.inherited(klass)
6
+ super
6
7
  klass.include(Object::Data)
7
8
  end
8
9
 
9
10
  def initialize(**kwargs)
10
- @data = self.class::Data.new(kwargs)
11
+ @data = self.class::Data.new(**kwargs)
11
12
  end
12
13
  end
13
14
  end
@@ -31,7 +31,7 @@ module AppStoreConnect
31
31
 
32
32
  def to_h
33
33
  {}.tap do |hash|
34
- self.class.properties.keys.each do |name|
34
+ self.class.properties.each_key do |name|
35
35
  value = instance_variable_get("@#{name}")
36
36
 
37
37
  hash[name] = value unless value.nil?
@@ -13,18 +13,22 @@ module AppStoreConnect
13
13
  klass = Class.new do |data|
14
14
  include Object::Attributes
15
15
  include Object::Type
16
+ include Object::Id
16
17
 
17
18
  data.send(:define_method, :initialize) do |**kwargs|
18
19
  instance_variable_set('@relationships', kwargs.delete(:relationships).to_h)
19
- instance_variable_set('@attributes', data::Attributes.new(kwargs))
20
+ instance_variable_set('@attributes', data::Attributes.new(**kwargs))
21
+ instance_variable_set('@id', kwargs[id_arg_name])
20
22
  end
21
23
 
22
24
  def to_h
23
- {
25
+ props = {
24
26
  relationships: @relationships,
25
27
  attributes: attributes.to_h,
26
28
  type: type
27
29
  }
30
+ props[:id] = @id if id?
31
+ props.compact
28
32
  end
29
33
  end
30
34
 
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/concern'
4
+
5
+ module AppStoreConnect
6
+ module Object
7
+ module Id
8
+ extend ActiveSupport::Concern
9
+
10
+ class_methods do
11
+ def id(arg_name = :id)
12
+ @include_id_in_body = true
13
+ @id_arg_name = arg_name
14
+ end
15
+ end
16
+
17
+ included do
18
+ def id?
19
+ self.class.instance_variable_get('@include_id_in_body')
20
+ end
21
+
22
+ def id_arg_name
23
+ self.class.instance_variable_get('@id_arg_name')
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'app_store_connect/create_request'
4
+
5
+ module AppStoreConnect
6
+ class ReviewSubmissionCreateRequest < CreateRequest
7
+ data do
8
+ type 'reviewSubmissions'
9
+
10
+ attributes do
11
+ property :platform, required: true
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'app_store_connect/create_request'
4
+
5
+ module AppStoreConnect
6
+ class ReviewSubmissionItemCreateRequest < CreateRequest
7
+ data do
8
+ type 'reviewSubmissionItems'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'app_store_connect/create_request'
4
+
5
+ module AppStoreConnect
6
+ class ReviewSubmissionUpdateRequest < CreateRequest
7
+ data do
8
+ id
9
+ type 'reviewSubmissions'
10
+
11
+ attributes do
12
+ property :canceled
13
+ property :submitted
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppStoreConnect
4
- VERSION = '0.25.0'
4
+ VERSION = '0.27.0'
5
5
  end
@@ -2,17 +2,24 @@
2
2
 
3
3
  require 'app_store_connect/client'
4
4
  require 'app_store_connect/object/type'
5
+ require 'app_store_connect/object/id'
5
6
  require 'app_store_connect/object/attributes'
6
7
  require 'app_store_connect/object/properties'
7
8
  require 'app_store_connect/object/data'
8
9
  require 'app_store_connect/version'
9
10
 
10
- require 'app_store_connect/bundle_id_create_request'
11
+ require 'app_store_connect/app_store_version_build_linkage_request'
12
+ require 'app_store_connect/app_store_version_create_request'
13
+ require 'app_store_connect/app_store_version_update_request'
11
14
  require 'app_store_connect/bundle_id_capability_create_request'
15
+ require 'app_store_connect/bundle_id_create_request'
12
16
  require 'app_store_connect/certificate_create_request'
13
17
  require 'app_store_connect/device_create_request'
14
- require 'app_store_connect/user_invitation_create_request'
15
18
  require 'app_store_connect/profile_create_request'
19
+ require 'app_store_connect/review_submission_create_request'
20
+ require 'app_store_connect/review_submission_item_create_request'
21
+ require 'app_store_connect/review_submission_update_request'
22
+ require 'app_store_connect/user_invitation_create_request'
16
23
 
17
24
  module AppStoreConnect
18
25
  @config = {}
@@ -20,7 +27,7 @@ module AppStoreConnect
20
27
  class << self
21
28
  attr_accessor :config
22
29
 
23
- def rel(id, type, array = false)
30
+ def rel(id, type, array: false)
24
31
  if array
25
32
  { data: [{ id: id, type: type }] }.freeze
26
33
  else