cupertino 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cupertino (0.5.0)
4
+ cupertino (0.5.1)
5
5
  commander (~> 4.1.2)
6
6
  mechanize (~> 2.5.1)
7
- security (~> 0.1.1)
7
+ security (~> 0.1.2)
8
8
  term-ansicolor (~> 1.0.7)
9
9
  terminal-table (~> 1.4.5)
10
10
 
@@ -31,7 +31,7 @@ GEM
31
31
  ntlm-http (0.1.1)
32
32
  rake (0.9.2.2)
33
33
  rspec (0.6.4)
34
- security (0.1.1)
34
+ security (0.1.2)
35
35
  term-ansicolor (1.0.7)
36
36
  terminal-table (1.4.5)
37
37
  unf (0.0.5)
data/README.md CHANGED
@@ -107,6 +107,7 @@ _Crossed out commands are not yet implemented_
107
107
 
108
108
  - `profiles:list`
109
109
  - `profiles:manage:devices`
110
+ - `profiles:download`
110
111
  - ~~`profiles:add`~~
111
112
  - ~~`profiles:edit`~~
112
113
 
Binary file
data/cupertino.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency "terminal-table", "~> 1.4.5"
20
20
  s.add_dependency "term-ansicolor", "~> 1.0.7"
21
21
  s.add_dependency "mechanize", "~> 2.5.1"
22
- s.add_dependency "security", "~> 0.1.1"
22
+ s.add_dependency "security", "~> 0.1.2"
23
23
 
24
24
  s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
25
25
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -147,6 +147,25 @@ module Cupertino
147
147
  profiles
148
148
  end
149
149
 
150
+ def download_profile(profile)
151
+ list_profiles(profile.type)
152
+
153
+ page.parser.xpath('//fieldset[@id="fs-0"]/table/tbody/tr').each do |row|
154
+ name = row.at_xpath('td[@class="profile"]//span/text()').to_s.strip rescue nil
155
+
156
+ if name == profile.name
157
+ download_url = row.at_xpath('td[@class="action"]/a')['href'].to_s.strip rescue nil
158
+
159
+ self.pluggable_parser.default = Mechanize::Download
160
+ download = get(download_url)
161
+ download.save
162
+ return download.filename
163
+ end
164
+ end
165
+
166
+ return nil
167
+ end
168
+
150
169
  def manage_devices_for_profile(profile)
151
170
  raise ArgumentError unless block_given?
152
171
 
@@ -37,7 +37,7 @@ command :'profiles:manage:devices' do |c|
37
37
 
38
38
  c.action do |args, options|
39
39
  type = args.first.downcase.to_sym rescue nil
40
- profiles = try{agent.list_profiles(:development)}
40
+ profiles = try{agent.list_profiles(type ||= :development)}
41
41
 
42
42
  say_warning "No #{type} provisioning profiles found." and abort if profiles.empty?
43
43
 
@@ -67,3 +67,23 @@ command :'profiles:manage:devices' do |c|
67
67
  end
68
68
 
69
69
  alias_command :'profiles:manage', :'profiles:manage:devices'
70
+
71
+ command :'profiles:download' do |c|
72
+ c.syntax = 'ios profiles:download'
73
+ c.summary = 'Downloads the Provisioning Profiles'
74
+ c.description = ''
75
+
76
+ c.action do |args, options|
77
+ type = args.first.downcase.to_sym rescue nil
78
+ profiles = try{agent.list_profiles(type ||= :development)}
79
+ profiles = profiles.find_all{|profile| profile.status == 'Active'}
80
+
81
+ say_warning "No active #{type} profiles found." and abort if profiles.empty?
82
+ profile = choose "Select a profile to download:", *profiles
83
+ if filename = agent.download_profile(profile)
84
+ say_ok "Successfully downloaded: '#{filename}'"
85
+ else
86
+ say_error "Could not download profile"
87
+ end
88
+ end
89
+ end
data/lib/cupertino.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Cupertino
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  HOSTNAME = "developer.apple.com"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cupertino
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-21 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70290206924400 !ruby/object:Gem::Requirement
16
+ requirement: &70359900405020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.6.1
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70290206924400
24
+ version_requirements: *70359900405020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70290206917720 !ruby/object:Gem::Requirement
27
+ requirement: &70359900404120 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.2
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70290206917720
35
+ version_requirements: *70359900404120
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: commander
38
- requirement: &70290206917240 !ruby/object:Gem::Requirement
38
+ requirement: &70359900403240 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 4.1.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70290206917240
46
+ version_requirements: *70359900403240
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: terminal-table
49
- requirement: &70290206916680 !ruby/object:Gem::Requirement
49
+ requirement: &70359900402100 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.4.5
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70290206916680
57
+ version_requirements: *70359900402100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: term-ansicolor
60
- requirement: &70290206916080 !ruby/object:Gem::Requirement
60
+ requirement: &70359900400640 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.7
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70290206916080
68
+ version_requirements: *70359900400640
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mechanize
71
- requirement: &70290206915060 !ruby/object:Gem::Requirement
71
+ requirement: &70359900399380 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,18 +76,18 @@ dependencies:
76
76
  version: 2.5.1
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70290206915060
79
+ version_requirements: *70359900399380
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: security
82
- requirement: &70290206913600 !ruby/object:Gem::Requirement
82
+ requirement: &70359900398380 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
86
86
  - !ruby/object:Gem::Version
87
- version: 0.1.1
87
+ version: 0.1.2
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70290206913600
90
+ version_requirements: *70359900398380
91
91
  description: A command-line interface for the iOS Provisioning Portal
92
92
  email: m@mattt.me
93
93
  executables:
@@ -95,6 +95,7 @@ executables:
95
95
  extensions: []
96
96
  extra_rdoc_files: []
97
97
  files:
98
+ - ./cupertino-0.5.0.gem
98
99
  - ./cupertino.gemspec
99
100
  - ./Gemfile
100
101
  - ./Gemfile.lock
@@ -127,7 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
128
  version: '0'
128
129
  segments:
129
130
  - 0
130
- hash: 3157854321204032822
131
+ hash: -453678080462730880
131
132
  required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  none: false
133
134
  requirements:
@@ -136,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
137
  version: '0'
137
138
  segments:
138
139
  - 0
139
- hash: 3157854321204032822
140
+ hash: -453678080462730880
140
141
  requirements: []
141
142
  rubyforge_project:
142
143
  rubygems_version: 1.8.15