fastlane 2.56.0.beta.20170909010003 → 2.56.0.beta.20170910010002

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
  SHA1:
3
- metadata.gz: ccff658cf63775108330e8b47f3a7e7c13278809
4
- data.tar.gz: f981ac948d9e1fa5e4aecf6479ef93c17ccfcd4d
3
+ metadata.gz: 1b44a1ef6b9fbb1fa00d9ba785f86d936a87e89b
4
+ data.tar.gz: 58b928e33c48c162e941dd009dac5115a3217a09
5
5
  SHA512:
6
- metadata.gz: c2e4d4aa6b4f577f46dbf33895b17c093bfcb6c97f80b4f660abde5012bad4c724e7f64fb1f3e14f97d4a1d1eec5aef5eef9eeaab41198783a2b0a19459f6dc9
7
- data.tar.gz: c693258fdc09898571f07ea968dc93c976e73dc6bf7e80b02d1c9f263f48c9ed452adb026de45d928955d141bfae82d639b657825919f94db0ec1f9d71b208e9
6
+ metadata.gz: b024849a2eadef07a02e5db3cc36357ec272cf174b82c41d412aed0fbe05e55112cc9a71a8b93ecd65f019be3add8c5723d4a96c3d90db62efddeedad84ed9fb
7
+ data.tar.gz: 6e72a52ab55b813bbffa4c2447269579f9804cae3a9550866402e8383d3230f1d2193596bcafc2059989c994c3877efe0f1609c633690f0c40ee25da4e4a5c16
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.56.0.beta.20170909010003'.freeze
2
+ VERSION = '2.56.0.beta.20170910010002'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  end
@@ -100,9 +100,20 @@ module Spaceship::TestFlight
100
100
 
101
101
  def testers_for_app(app_id: nil)
102
102
  assert_required_params(__method__, binding)
103
- url = "providers/#{team_id}/apps/#{app_id}/testers?limit=10000"
104
- response = request(:get, url)
105
- handle_response(response)
103
+ page_size = 40 # that's enforced by the iTC servers
104
+ offset = nil
105
+ resulting_array = []
106
+
107
+ loop do
108
+ url = "providers/#{team_id}/apps/#{app_id}/testers?limit=#{page_size}&sort=email&order=asc"
109
+ url += "&offset=#{offset}" if offset
110
+ response = request(:get, url)
111
+ result = Array(handle_response(response))
112
+ resulting_array += result
113
+ break if result.count == 0
114
+ offset = "#{result.last['email']}%2C#{result.last['id']}"
115
+ end
116
+ return resulting_array
106
117
  end
107
118
 
108
119
  def delete_tester_from_app(app_id: nil, tester_id: nil)
@@ -10,14 +10,54 @@ module Spaceship::TestFlight
10
10
  # "tester@spaceship.com"
11
11
  attr_accessor :email
12
12
 
13
+ # @return (String) The first name of this tester
14
+ # @example
15
+ # "Cary"
16
+ attr_accessor :first_name
17
+
18
+ # @return (String) The last name of this tester
19
+ # @example
20
+ # "Bennett"
21
+ attr_accessor :last_name
22
+
23
+ # @return (String)
24
+ # @example
25
+ # "invited"
26
+ # "installed"
27
+ #
28
+ attr_accessor :status
29
+
30
+ # @return (Integer) Date of the last modification of the status (e.g. invite sent)
31
+ attr_accessor :status_mod_time
32
+
33
+ # @return (Hash)
34
+ # @example
35
+ # {
36
+ # "latestInstalledAppAdamId": "1222374686",
37
+ # "latestInstalledBuildId": "20739770",
38
+ # "latestInstalledDate": "1496866405755",
39
+ # "latestInstalledShortVersion": "1.0",
40
+ # "latestInstalledVersion": "68"
41
+ # }
42
+ attr_accessor :latest_install_info
43
+
44
+ # @return (Integer) Number of sessions
45
+ attr_accessor :session_count
46
+
13
47
  attr_mapping(
14
48
  'id' => :tester_id,
15
- 'email' => :email
49
+ 'email' => :email,
50
+ 'status' => :status,
51
+ 'statusModTime' => :status_mod_time,
52
+ 'latestInstallInfo' => :latest_install_info,
53
+ 'sessionCount' => :session_count,
54
+ 'firstName' => :first_name,
55
+ 'lastName' => :last_name
16
56
  )
17
57
 
18
58
  # @return (Array) Returns all beta testers available for this account
19
59
  def self.all(app_id: nil)
20
- client.testers_for_app(app_id: app_id).map { |data| self.new(data) }
60
+ client.testers_for_app(app_id: app_id).map { |data| self.factory(data) }
21
61
  end
22
62
 
23
63
  # *DEPRECATED: Use `Spaceship::TestFlight::Tester.search` method instead*
@@ -26,6 +66,10 @@ module Spaceship::TestFlight
26
66
  return testers.first
27
67
  end
28
68
 
69
+ def status_mod_time
70
+ Time.parse(super) if super.to_s.length > 0
71
+ end
72
+
29
73
  # @return (Spaceship::TestFlight::Tester) Returns the testers matching the parameter.
30
74
  # ITC searchs all fields, and is full text. The search results are the union of all words in the search text
31
75
  # @param text (String) (required): Value used to filter the tester, case insensitive
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.56.0.beta.20170909010003
4
+ version: 2.56.0.beta.20170910010002
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2017-09-09 00:00:00.000000000 Z
18
+ date: 2017-09-10 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: slack-notifier