cupertino 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cupertino (0.3.2)
4
+ cupertino (0.3.3)
5
5
  commander (~> 4.1.2)
6
6
  mechanize (~> 2.5.1)
7
7
  netrc (~> 0.7.2)
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 = "Mechanize the Apple Developer Center"
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
 
@@ -4,7 +4,7 @@ command :'devices:list' do |c|
4
4
  c.description = ''
5
5
 
6
6
  c.action do |args, options|
7
- devices = agent.list_devices
7
+ devices = try{agent.list_devices}
8
8
 
9
9
  number_of_devices = devices.compact.length
10
10
  number_of_additional_devices = devices.length - number_of_devices
@@ -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
@@ -1,4 +1,4 @@
1
1
  module Cupertino
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  HOSTNAME = "developer.apple.com"
4
4
  end
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
- version: 0.3.2
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
- date: 2012-07-09 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: &70130810034760 !ruby/object:Gem::Requirement
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
- type: :development
34
+ name: rspec
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
23
37
  prerelease: false
24
- version_requirements: *70130810034760
25
- - !ruby/object:Gem::Dependency
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
- type: :development
50
+ name: rake
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
34
53
  prerelease: false
35
- version_requirements: *70130810034020
36
- - !ruby/object:Gem::Dependency
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
- type: :runtime
66
+ name: commander
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
45
69
  prerelease: false
46
- version_requirements: *70130810033380
47
- - !ruby/object:Gem::Dependency
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
- type: :runtime
82
+ name: terminal-table
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
56
85
  prerelease: false
57
- version_requirements: *70130810032880
58
- - !ruby/object:Gem::Dependency
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
- type: :runtime
98
+ name: term-ansicolor
99
+ version_requirements: *id005
100
+ - !ruby/object:Gem::Dependency
67
101
  prerelease: false
68
- version_requirements: *70130810032400
69
- - !ruby/object:Gem::Dependency
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
- type: :runtime
114
+ name: mechanize
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
78
117
  prerelease: false
79
- version_requirements: *70130810031920
80
- - !ruby/object:Gem::Dependency
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
- type: :runtime
89
- prerelease: false
90
- version_requirements: *70130810031440
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
- files:
98
- - ./cupertino-0.3.1.gem
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
- require_paths:
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
- version: '0'
129
- segments:
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ hash: 3
173
+ segments:
130
174
  - 0
131
- hash: -2557147635540130583
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
- version: '0'
138
- segments:
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ hash: 3
182
+ segments:
139
183
  - 0
140
- hash: -2557147635540130583
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