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 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