private_gem 1.0.0 → 1.1.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.
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