private_gem 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c97de10eaaa9b52be80ae588d37be3aa9245aba
4
- data.tar.gz: 075d707403a84bd38b1e1b9adcba1d2cd43a6fd5
3
+ metadata.gz: 785007d3ce162844936f9486507e85853e923854
4
+ data.tar.gz: d8a7444b01b4c2edbd89b52a676751c53c892541
5
5
  SHA512:
6
- metadata.gz: 86803bd5bb27ac71b374699f81ada59354aabe1b9c7aa24b9c30a462b91e1c163de1000f4d2e8a083051ed7f9f49fefa683b2a6967d44021c275be35eecc7db1
7
- data.tar.gz: 5a0766dde0a43710d04af37ee8da7f796558d4a8af290db62fe5c858be5c6fdc703021dea9bbce3ea155ab7bd630c41258a55cea5999fad4752d996ee21b4b61
6
+ metadata.gz: 9f20074165d804ae9dfff4d5b338e78cc313b0b956fdb57e8be54c47637deae1391558141d87ce46a50bbab005aba2d7b1266f8ed23e3c97b22ef791431ac34a
7
+ data.tar.gz: 0bb2d8c113a1da89516e48285667363e3252b3636e1e57dea34538b9c6851a08731777f81a4cf8982a12bae739a67ff92e73bea6dd4d1993d944107a609102cf
data/lib/private_gem.rb CHANGED
@@ -1,37 +1,47 @@
1
1
  require 'private_gem/version'
2
2
  require 'bundler'
3
+ require 'uri'
3
4
 
4
5
  module PrivateGem
5
6
  def self.server
6
- servers_with_credentials = Bundler.settings.all.select do |n|
7
+ urls_with_credentials = Bundler.settings.all.select do |n|
7
8
  url = URI.parse(n)
8
9
  url && ['http', 'https'].include?(url.scheme)
9
10
  end
10
11
 
11
- if servers_with_credentials.empty?
12
+ hosts_with_credentials = Bundler.settings.all.select do |n|
13
+ n =~ /^([-_a-z\d]+\.)+[a-z]+$/
14
+ end
15
+
16
+ if private_gem_server = Bundler.settings['private_gem_server']
17
+ if urls_with_credentials.include?(private_gem_server)
18
+ return private_gem_server
19
+ end
20
+
21
+ private_gem_server_uri = URI.parse(private_gem_server)
22
+ if private_gem_server_uri && hosts_with_credentials.include?(private_gem_server_uri.host)
23
+ return private_gem_server
24
+ end
25
+
26
+ abort("You don't have any configured credentials for the private gem server at #{private_gem_server}")
27
+ end
28
+
29
+ if urls_with_credentials.empty?
12
30
  abort("You don't have any configured private gem credentials.")
13
- elsif servers_with_credentials.size > 1
14
- private_gem_server = Bundler.settings['private_gem_server']
15
-
16
- if private_gem_server
17
- if servers_with_credentials.include?(private_gem_server)
18
- return private_gem_server
19
- else
20
- abort("You don't have any configured credentials for the private gem server at #{private_gem_server}")
21
- end
22
- else
23
- puts "You have multiple private gem servers defined:"
24
- servers_with_credentials.each do |s|
25
- puts " #{s}"
26
- end
27
- abort("You need to select which private gem server to use using `bundle config private_gem_server URL_OF_GEM_SERVER`")
31
+ end
32
+
33
+ if urls_with_credentials.size > 1
34
+ msg = "You have multiple private gem servers defined:\n"
35
+ urls_with_credentials.each do |s|
36
+ msg << " #{s}\n"
28
37
  end
29
- else
30
- servers_with_credentials.first
38
+ abort("#{msg}You need to select which private gem server to use using `bundle config private_gem_server URL_OF_GEM_SERVER`")
31
39
  end
40
+
41
+ urls_with_credentials.first
32
42
  end
33
43
 
34
44
  def self.credentials
35
- Bundler.settings[server]
45
+ Bundler.settings[server] || Bundler.settings[URI.parse(server).host]
36
46
  end
37
47
  end
@@ -1,3 +1,3 @@
1
1
  module PrivateGem
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: private_gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mick Staugaard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-19 00:00:00.000000000 Z
11
+ date: 2014-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '5.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '5.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest-around
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '10.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description:
84
98
  email:
85
99
  - mick@staugaard.com