cupertino 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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