cupertino 0.2.0 → 0.3.0

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,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cupertino (0.2.0)
4
+ cupertino (0.3.0)
5
5
  commander (~> 4.1.2)
6
6
  mechanize (~> 2.5.1)
7
+ netrc (~> 0.7.2)
7
8
  term-ansicolor (~> 1.0.7)
8
9
  terminal-table (~> 1.4.5)
9
10
 
@@ -26,6 +27,7 @@ GEM
26
27
  mime-types (1.19)
27
28
  net-http-digest_auth (1.2.1)
28
29
  net-http-persistent (2.7)
30
+ netrc (0.7.5)
29
31
  nokogiri (1.5.5)
30
32
  ntlm-http (0.1.1)
31
33
  rake (0.9.2.2)
data/README.md CHANGED
@@ -13,6 +13,14 @@ $ gem install cupertino
13
13
 
14
14
  ## Usage
15
15
 
16
+ ### Authentication
17
+
18
+ ```sh
19
+ $ ios login
20
+ ```
21
+
22
+ _Credentials are saved in `.netrc`. You will not be prompted for your username or password by commands while you are logged in._
23
+
16
24
  ### Devices
17
25
 
18
26
  ```sh
@@ -74,6 +82,9 @@ $ ios certificates:list
74
82
 
75
83
  _Crossed out commands are not yet implemented_
76
84
 
85
+ - `login`
86
+ - `logout`
87
+
77
88
  - `devices:add`
78
89
  - `devices:list`
79
90
  - ~~`devices:remove`~~
data/bin/ios CHANGED
@@ -3,6 +3,7 @@
3
3
  require 'commander/import'
4
4
  require 'terminal-table'
5
5
  require 'term/ansicolor'
6
+ require 'netrc'
6
7
 
7
8
  $:.push File.expand_path("../../lib", __FILE__)
8
9
 
data/cupertino.gemspec CHANGED
@@ -19,6 +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 "netrc", "~> 0.7.2"
22
23
 
23
24
  s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
24
25
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -1,4 +1,5 @@
1
1
  require 'mechanize'
2
+ require 'netrc'
2
3
 
3
4
  module Cupertino
4
5
  module ProvisioningPortal
@@ -8,6 +9,8 @@ module Cupertino
8
9
  def initialize
9
10
  super
10
11
  self.user_agent_alias = 'Mac Safari'
12
+
13
+ @username, @password = Netrc.read[::Cupertino::HOSTNAME]
11
14
  end
12
15
 
13
16
  def get(uri, parameters = [], referer = nil, headers = {})
@@ -13,7 +13,7 @@ command :'devices:list' do |c|
13
13
  t << [device.name, device.udid]
14
14
  end
15
15
  end
16
-
16
+
17
17
  puts table
18
18
  end
19
19
  end
@@ -41,4 +41,4 @@ command :'devices:add' do |c|
41
41
 
42
42
  say_ok "Added #{devices.length} #{devices.length == 1 ? 'device' : 'devices'}"
43
43
  end
44
- end
44
+ end
@@ -0,0 +1,18 @@
1
+ command :login do |c|
2
+ c.syntax = 'ios login'
3
+ c.summary = 'Save account credentials'
4
+ c.description = ''
5
+
6
+ c.action do |args, options|
7
+ say_warning "You are already authenticated" if Netrc.read[Cupertino::HOSTNAME]
8
+
9
+ user = ask "Username:"
10
+ pass = password "Password:"
11
+
12
+ netrc = Netrc.read
13
+ netrc[Cupertino::HOSTNAME] = user, pass
14
+ netrc.save
15
+
16
+ say_ok "Account credentials saved"
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ command :logout do |c|
2
+ c.syntax = 'ios logout'
3
+ c.summary = 'Remove account credentials'
4
+ c.description = ''
5
+
6
+ c.action do |args, options|
7
+ say_error "You are not authenticated" and abort unless Netrc.read[Cupertino::HOSTNAME]
8
+
9
+ netrc = Netrc.read
10
+ netrc.delete(Cupertino::HOSTNAME)
11
+ netrc.save
12
+
13
+ say_ok "Account credentials removed"
14
+ end
15
+ end
@@ -1,7 +1,7 @@
1
1
  require 'mechanize'
2
2
 
3
3
  module Cupertino
4
- module ProvisioningPortal
4
+ module ProvisioningPortal
5
5
  class Device < Struct.new(:name, :udid); end
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
data/lib/cupertino.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  module Cupertino
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
+ HOSTNAME = "developer.apple.com"
3
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.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-07 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70303149797320 !ruby/object:Gem::Requirement
16
+ requirement: &70321131949900 !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: *70303149797320
24
+ version_requirements: *70321131949900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70303149796820 !ruby/object:Gem::Requirement
27
+ requirement: &70321131948360 !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: *70303149796820
35
+ version_requirements: *70321131948360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: commander
38
- requirement: &70303149796360 !ruby/object:Gem::Requirement
38
+ requirement: &70321131946720 !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: *70303149796360
46
+ version_requirements: *70321131946720
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: terminal-table
49
- requirement: &70303149795880 !ruby/object:Gem::Requirement
49
+ requirement: &70321131935900 !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: *70303149795880
57
+ version_requirements: *70321131935900
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: term-ansicolor
60
- requirement: &70303149795360 !ruby/object:Gem::Requirement
60
+ requirement: &70321131934600 !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: *70303149795360
68
+ version_requirements: *70321131934600
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mechanize
71
- requirement: &70303149794820 !ruby/object:Gem::Requirement
71
+ requirement: &70321131933280 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,18 @@ dependencies:
76
76
  version: 2.5.1
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70303149794820
79
+ version_requirements: *70321131933280
80
+ - !ruby/object:Gem::Dependency
81
+ name: netrc
82
+ requirement: &70321131932740 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 0.7.2
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *70321131932740
80
91
  description: Mechanize the Apple Developer Center
81
92
  email: m@mattt.me
82
93
  executables:
@@ -91,6 +102,8 @@ files:
91
102
  - ./lib/cupertino/provisioning_portal/commands/app_ids.rb
92
103
  - ./lib/cupertino/provisioning_portal/commands/certificates.rb
93
104
  - ./lib/cupertino/provisioning_portal/commands/devices.rb
105
+ - ./lib/cupertino/provisioning_portal/commands/login.rb
106
+ - ./lib/cupertino/provisioning_portal/commands/logout.rb
94
107
  - ./lib/cupertino/provisioning_portal/commands/profiles.rb
95
108
  - ./lib/cupertino/provisioning_portal/commands.rb
96
109
  - ./lib/cupertino/provisioning_portal/helpers.rb
@@ -114,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
127
  version: '0'
115
128
  segments:
116
129
  - 0
117
- hash: 2813805427560114884
130
+ hash: -102574175411274330
118
131
  required_rubygems_version: !ruby/object:Gem::Requirement
119
132
  none: false
120
133
  requirements:
@@ -123,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
136
  version: '0'
124
137
  segments:
125
138
  - 0
126
- hash: 2813805427560114884
139
+ hash: -102574175411274330
127
140
  requirements: []
128
141
  rubyforge_project:
129
142
  rubygems_version: 1.8.15