cupertino 0.3.2 → 0.3.3
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.
- data/Gemfile.lock +1 -1
- data/README.md +2 -0
- data/cupertino.gemspec +1 -1
- data/lib/cupertino/provisioning_portal/agent.rb +5 -3
- data/lib/cupertino/provisioning_portal/commands/app_ids.rb +1 -1
- data/lib/cupertino/provisioning_portal/commands/certificates.rb +1 -1
- data/lib/cupertino/provisioning_portal/commands/devices.rb +1 -1
- data/lib/cupertino/provisioning_portal/commands/profiles.rb +1 -1
- data/lib/cupertino/provisioning_portal/helpers.rb +10 -0
- data/lib/cupertino/provisioning_portal.rb +2 -0
- data/lib/cupertino.rb +1 -1
- metadata +121 -75
- data/cupertino-0.3.1.gem +0 -0
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -26,6 +26,8 @@ _Credentials are saved in `.netrc`. You will not be prompted for your username o
|
|
26
26
|
```sh
|
27
27
|
$ ios devices:list
|
28
28
|
|
29
|
+
+------------------------------+---------------------------------------+
|
30
|
+
| Listing 2 devices. You can register 98 additional devices. |
|
29
31
|
+---------------------------+------------------------------------------+
|
30
32
|
| Device Name | Device Identifier |
|
31
33
|
+---------------------------+------------------------------------------+
|
data/cupertino.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.version = Cupertino::VERSION
|
11
11
|
s.platform = Gem::Platform::RUBY
|
12
12
|
s.summary = "Cupertino"
|
13
|
-
s.description = "
|
13
|
+
s.description = "A command-line interface for the iOS Provisioning Portal"
|
14
14
|
|
15
15
|
s.add_development_dependency "rspec", "~> 0.6.1"
|
16
16
|
s.add_development_dependency "rake", "~> 0.9.2"
|
@@ -26,6 +26,8 @@ module Cupertino
|
|
26
26
|
return page
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
raise UnsuccessfulAuthenticationError
|
29
31
|
end
|
30
32
|
|
31
33
|
def list_certificates(type = :development)
|
@@ -62,15 +64,15 @@ module Cupertino
|
|
62
64
|
device.udid = row.at_xpath('td[@class="id"]/text()').to_s.strip rescue nil
|
63
65
|
devices << device
|
64
66
|
end
|
65
|
-
|
66
|
-
|
67
|
+
|
68
|
+
|
67
69
|
if message = page.parser.at_xpath('//p[@class="devicesannounce"]/strong/text()').to_s.strip rescue nil
|
68
70
|
number_of_devices_available = message.scan(/\d{1,3}/).first.to_i
|
69
71
|
number_of_devices_available.times do
|
70
72
|
devices << nil
|
71
73
|
end
|
72
74
|
end
|
73
|
-
|
75
|
+
|
74
76
|
devices
|
75
77
|
end
|
76
78
|
|
@@ -10,7 +10,7 @@ command :'app_ids:list' do |c|
|
|
10
10
|
c.description = ''
|
11
11
|
|
12
12
|
c.action do |args, options|
|
13
|
-
app_ids = agent.list_app_ids
|
13
|
+
app_ids = try{agent.list_app_ids}
|
14
14
|
|
15
15
|
title = "Legend: #{COLORS_BY_PROPERTY_VALUES.collect{|k, v| k.send(v)}.join(', ')}"
|
16
16
|
table = Terminal::Table.new :title => title do |t|
|
@@ -5,7 +5,7 @@ command :'certificates:list' do |c|
|
|
5
5
|
|
6
6
|
c.action do |args, options|
|
7
7
|
type = args.first.downcase.to_sym rescue nil
|
8
|
-
certificates = agent.list_certificates(type ||= :development)
|
8
|
+
certificates = try{agent.list_certificates(type ||= :development)}
|
9
9
|
|
10
10
|
say_warning "No #{type} certificates found." and abort if certificates.empty?
|
11
11
|
|
@@ -5,7 +5,7 @@ command :'profiles:list' do |c|
|
|
5
5
|
|
6
6
|
c.action do |args, options|
|
7
7
|
type = args.first.downcase.to_sym rescue nil
|
8
|
-
profiles = agent.list_profiles(type ||= :development)
|
8
|
+
profiles = try{agent.list_profiles(type ||= :development)}
|
9
9
|
|
10
10
|
say_warning "No #{type} provisioning profiles found." and abort if profiles.empty?
|
11
11
|
|
@@ -36,6 +36,16 @@ module Cupertino
|
|
36
36
|
def pluralize(n, singular, plural = nil)
|
37
37
|
n.to_i == 1 ? "1 #{singular}" : "#{n} #{plural || singular + 's'}"
|
38
38
|
end
|
39
|
+
|
40
|
+
def try
|
41
|
+
return unless block_given?
|
42
|
+
|
43
|
+
begin
|
44
|
+
yield
|
45
|
+
rescue UnsuccessfulAuthenticationError
|
46
|
+
say_error "Could not authenticate with Apple Developer Center. Check that your username & password are correct, and that your membership is valid and all pending Terms of Service & agreements are accepted. If this problem continues, try logging into https://developer.apple.com/membercenter/ from a browser to see what's going on." and abort
|
47
|
+
end
|
48
|
+
end
|
39
49
|
end
|
40
50
|
end
|
41
51
|
end
|
@@ -6,6 +6,8 @@ module Cupertino
|
|
6
6
|
class Certificate < Struct.new(:name, :provisioning_profiles, :expiration_date, :status); end
|
7
7
|
class AppID < Struct.new(:bundle_seed_id, :description, :development_properties, :distribution_properties); end
|
8
8
|
class ProvisioningProfile < Struct.new(:name, :app_id, :status); end
|
9
|
+
|
10
|
+
class UnsuccessfulAuthenticationError < RuntimeError; end
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
data/lib/cupertino.rb
CHANGED
metadata
CHANGED
@@ -1,101 +1,143 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: cupertino
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 3
|
10
|
+
version: 0.3.3
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Mattt Thompson
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2012-07-10 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
prerelease: false
|
22
|
+
type: :development
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
25
|
+
requirements:
|
19
26
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 5
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 6
|
32
|
+
- 1
|
21
33
|
version: 0.6.1
|
22
|
-
|
34
|
+
name: rspec
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
23
37
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
name: rake
|
27
|
-
requirement: &70130810034020 !ruby/object:Gem::Requirement
|
38
|
+
type: :development
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
40
|
none: false
|
29
|
-
requirements:
|
41
|
+
requirements:
|
30
42
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 63
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
- 9
|
48
|
+
- 2
|
32
49
|
version: 0.9.2
|
33
|
-
|
50
|
+
name: rake
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
34
53
|
prerelease: false
|
35
|
-
|
36
|
-
|
37
|
-
name: commander
|
38
|
-
requirement: &70130810033380 !ruby/object:Gem::Requirement
|
54
|
+
type: :runtime
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
56
|
none: false
|
40
|
-
requirements:
|
57
|
+
requirements:
|
41
58
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 63
|
61
|
+
segments:
|
62
|
+
- 4
|
63
|
+
- 1
|
64
|
+
- 2
|
43
65
|
version: 4.1.2
|
44
|
-
|
66
|
+
name: commander
|
67
|
+
version_requirements: *id003
|
68
|
+
- !ruby/object:Gem::Dependency
|
45
69
|
prerelease: false
|
46
|
-
|
47
|
-
|
48
|
-
name: terminal-table
|
49
|
-
requirement: &70130810032880 !ruby/object:Gem::Requirement
|
70
|
+
type: :runtime
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
72
|
none: false
|
51
|
-
requirements:
|
73
|
+
requirements:
|
52
74
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 13
|
77
|
+
segments:
|
78
|
+
- 1
|
79
|
+
- 4
|
80
|
+
- 5
|
54
81
|
version: 1.4.5
|
55
|
-
|
82
|
+
name: terminal-table
|
83
|
+
version_requirements: *id004
|
84
|
+
- !ruby/object:Gem::Dependency
|
56
85
|
prerelease: false
|
57
|
-
|
58
|
-
|
59
|
-
name: term-ansicolor
|
60
|
-
requirement: &70130810032400 !ruby/object:Gem::Requirement
|
86
|
+
type: :runtime
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
88
|
none: false
|
62
|
-
requirements:
|
89
|
+
requirements:
|
63
90
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
hash: 25
|
93
|
+
segments:
|
94
|
+
- 1
|
95
|
+
- 0
|
96
|
+
- 7
|
65
97
|
version: 1.0.7
|
66
|
-
|
98
|
+
name: term-ansicolor
|
99
|
+
version_requirements: *id005
|
100
|
+
- !ruby/object:Gem::Dependency
|
67
101
|
prerelease: false
|
68
|
-
|
69
|
-
|
70
|
-
name: mechanize
|
71
|
-
requirement: &70130810031920 !ruby/object:Gem::Requirement
|
102
|
+
type: :runtime
|
103
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
104
|
none: false
|
73
|
-
requirements:
|
105
|
+
requirements:
|
74
106
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
hash: 25
|
109
|
+
segments:
|
110
|
+
- 2
|
111
|
+
- 5
|
112
|
+
- 1
|
76
113
|
version: 2.5.1
|
77
|
-
|
114
|
+
name: mechanize
|
115
|
+
version_requirements: *id006
|
116
|
+
- !ruby/object:Gem::Dependency
|
78
117
|
prerelease: false
|
79
|
-
|
80
|
-
|
81
|
-
name: netrc
|
82
|
-
requirement: &70130810031440 !ruby/object:Gem::Requirement
|
118
|
+
type: :runtime
|
119
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
120
|
none: false
|
84
|
-
requirements:
|
121
|
+
requirements:
|
85
122
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
hash: 7
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
- 7
|
128
|
+
- 2
|
87
129
|
version: 0.7.2
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
description: Mechanize the Apple Developer Center
|
130
|
+
name: netrc
|
131
|
+
version_requirements: *id007
|
132
|
+
description: A command-line interface for the iOS Provisioning Portal
|
92
133
|
email: m@mattt.me
|
93
|
-
executables:
|
134
|
+
executables:
|
94
135
|
- ios
|
95
136
|
extensions: []
|
137
|
+
|
96
138
|
extra_rdoc_files: []
|
97
|
-
|
98
|
-
|
139
|
+
|
140
|
+
files:
|
99
141
|
- ./cupertino.gemspec
|
100
142
|
- ./Gemfile
|
101
143
|
- ./Gemfile.lock
|
@@ -116,32 +158,36 @@ files:
|
|
116
158
|
- bin/ios
|
117
159
|
homepage: http://mattt.me
|
118
160
|
licenses: []
|
161
|
+
|
119
162
|
post_install_message:
|
120
163
|
rdoc_options: []
|
121
|
-
|
164
|
+
|
165
|
+
require_paths:
|
122
166
|
- lib
|
123
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
168
|
none: false
|
125
|
-
requirements:
|
126
|
-
- -
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
|
129
|
-
segments:
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
hash: 3
|
173
|
+
segments:
|
130
174
|
- 0
|
131
|
-
|
132
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
+
version: "0"
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
177
|
none: false
|
134
|
-
requirements:
|
135
|
-
- -
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
|
138
|
-
segments:
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
hash: 3
|
182
|
+
segments:
|
139
183
|
- 0
|
140
|
-
|
184
|
+
version: "0"
|
141
185
|
requirements: []
|
186
|
+
|
142
187
|
rubyforge_project:
|
143
188
|
rubygems_version: 1.8.15
|
144
189
|
signing_key:
|
145
190
|
specification_version: 3
|
146
191
|
summary: Cupertino
|
147
192
|
test_files: []
|
193
|
+
|
data/cupertino-0.3.1.gem
DELETED
Binary file
|