cupertino 0.5.0 → 0.5.1

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