rubygems-mirror 1.1.0 → 1.2.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
- SHA1:
3
- metadata.gz: 461dc98f6c8403d54cbeb5a111627cafd5cdb594
4
- data.tar.gz: 06dc9f69498a7a36f1eba4ac2c30c24bbcb5bd16
2
+ SHA256:
3
+ metadata.gz: 158a185e1f54f87754fd14e6ef82e4def01a496a871eb7994974c08f8cd0d2dc
4
+ data.tar.gz: 98b00c4f9a37b00a4e04b9ebeb9247b586160d345a077e4f36c2f28383246e76
5
5
  SHA512:
6
- metadata.gz: 2b14b48eb67fc2ae987987db40b6b70a9c708fe301d7be10563445fa6dfca7c176c43424d0e54f0145cbf4ea532145321b9479aed1189ae75ac582aa49f7fb52
7
- data.tar.gz: ecee0c9751f96129eeded015b43d9d548b98f1034ef6d7530173318963c8939db66e3395ff0175218ad7817a3a68ba35b97bf4b6b27463cbc5bd77ad49ab923e
6
+ metadata.gz: a9cfe05c56ea718f68d4d85d1485940e3505c234120f4a456fff76bc055d52bad61b1e7f071fa13c5cf22866ecfab75425b99fe4a7e3411aae78ad6c6124378c
7
+ data.tar.gz: e7be5afba68fc47ecb1329718fd8392323fc04a2c9880cf0e58af13c43e249aaac3af40cbd405e1ff4c8005a4c17cc951d9ce7dd07e1c794a0f17a270c51e794
@@ -1,3 +1,8 @@
1
+ === 1.2.0 / 2018-05-10
2
+
3
+ * Add only-latest mode with RUBYGEMS_MIRROR_ONLY_LATEST environment variable.
4
+ * Check existence of gems whose name starts with dot
5
+
1
6
  === 1.1.0 / 2015-07-28
2
7
 
3
8
  * Documentation corrections and updates
@@ -21,6 +21,7 @@ will maintain stability in master.
21
21
 
22
22
  * rubygems
23
23
  * net/http/persistent
24
+ * hoe
24
25
 
25
26
  == USAGE
26
27
 
data/Rakefile CHANGED
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env rake
2
-
3
1
  require 'hoe'
4
2
  Hoe.plugin :doofus, :git
5
3
 
@@ -5,7 +5,7 @@ class Gem::Mirror
5
5
  autoload :Fetcher, 'rubygems/mirror/fetcher'
6
6
  autoload :Pool, 'rubygems/mirror/pool'
7
7
 
8
- VERSION = '1.1.0'
8
+ VERSION = '1.2.0'
9
9
 
10
10
  SPECS_FILES = [ "specs.#{Gem.marshal_version}", "prerelease_specs.#{Gem.marshal_version}", "latest_specs.#{Gem.marshal_version}" ]
11
11
 
@@ -47,15 +47,30 @@ class Gem::Mirror
47
47
  gems += Marshal.load(File.read(to(sf)))
48
48
  end
49
49
 
50
- gems.map! do |name, ver, plat|
51
- # If the platform is ruby, it is not in the gem name
52
- "#{name}-#{ver}#{"-#{plat}" unless plat == RUBY}.gem"
50
+ if ENV["RUBYGEMS_MIRROR_ONLY_LATEST"].to_s.upcase != "TRUE"
51
+ gems.map! do |name, ver, plat|
52
+ # If the platform is ruby, it is not in the gem name
53
+ "#{name}-#{ver}#{"-#{plat}" unless plat == RUBY}.gem"
54
+ end
55
+ else
56
+ latest_gems = {}
57
+
58
+ gems.each do |name, ver, plat|
59
+ next if ver.prerelease?
60
+ next unless plat == RUBY
61
+ latest_gems[name] = ver
62
+ end
63
+
64
+ gems = latest_gems.map do |name, ver|
65
+ "#{name}-#{ver}.gem"
66
+ end
53
67
  end
68
+
54
69
  gems
55
70
  end
56
71
 
57
72
  def existing_gems
58
- Dir[to('gems', '*.gem')].entries.map { |f| File.basename(f) }
73
+ Dir.glob(to('gems', '*.gem'), File::FNM_DOTMATCH).entries.map { |f| File.basename(f) }
59
74
  end
60
75
 
61
76
  def existing_gemspecs
@@ -82,10 +97,12 @@ class Gem::Mirror
82
97
  end
83
98
  end
84
99
 
85
- gemspecs_to_fetch.each do |g_spec|
86
- @pool.job do
87
- @fetcher.fetch(from("quick/Marshal.#{Gem.marshal_version}", g_spec), to("quick/Marshal.#{Gem.marshal_version}", g_spec))
88
- yield if block_given?
100
+ if ENV["RUBYGEMS_MIRROR_ONLY_LATEST"].to_s.upcase != "TRUE"
101
+ gemspecs_to_fetch.each do |g_spec|
102
+ @pool.job do
103
+ @fetcher.fetch(from("quick/Marshal.#{Gem.marshal_version}", g_spec), to("quick/Marshal.#{Gem.marshal_version}", g_spec))
104
+ yield if block_given?
105
+ end
89
106
  end
90
107
  end
91
108
 
@@ -23,10 +23,8 @@ class Gem::Mirror::Fetcher
23
23
  req.add_field 'If-Modified-Since', modified_time if modified_time
24
24
 
25
25
  retries = @opts[:retries]
26
-
26
+
27
27
  begin
28
- puts "get: #{uri}, #{retries}"
29
-
30
28
  # Net::HTTP will throw an exception on things like http timeouts.
31
29
  # Therefore some generic error handling is needed in case no response
32
30
  # is returned so the whole mirror operation doesn't abort prematurely.
metadata CHANGED
@@ -1,71 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-mirror
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Tucker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-28 00:00:00.000000000 Z
11
+ date: 2018-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http-persistent
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.9'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.9'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rdoc
28
+ name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.0'
33
+ version: '5.7'
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: '4.0'
40
+ version: '5.7'
41
41
  - !ruby/object:Gem::Dependency
42
- name: minitest
42
+ name: rdoc
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '5.7'
47
+ version: '4.0'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '6'
48
51
  type: :development
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
- - - ~>
55
+ - - ">="
53
56
  - !ruby/object:Gem::Version
54
- version: '5.7'
57
+ version: '4.0'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '6'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: hoe
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ~>
65
+ - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '3.13'
67
+ version: '3.17'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - ~>
72
+ - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: '3.13'
74
+ version: '3.17'
69
75
  description: |-
70
76
  This is an update to the old `gem mirror` command. It uses net/http/persistent
71
77
  and threads to grab the mirror set a little faster than the original.
@@ -81,7 +87,7 @@ extra_rdoc_files:
81
87
  - Manifest.txt
82
88
  - README.rdoc
83
89
  files:
84
- - .autotest
90
+ - ".autotest"
85
91
  - CHANGELOG.rdoc
86
92
  - Manifest.txt
87
93
  - README.rdoc
@@ -93,30 +99,29 @@ files:
93
99
  - lib/rubygems/mirror/test_setup.rb
94
100
  - lib/rubygems_plugin.rb
95
101
  - test/test_gem_mirror.rb
96
- - .gemtest
97
102
  homepage: https://github.com/rubygems/rubygems-mirror
98
103
  licenses:
99
104
  - MIT
100
105
  metadata: {}
101
106
  post_install_message:
102
107
  rdoc_options:
103
- - --main
108
+ - "--main"
104
109
  - README.rdoc
105
110
  require_paths:
106
111
  - lib
107
112
  required_ruby_version: !ruby/object:Gem::Requirement
108
113
  requirements:
109
- - - '>='
114
+ - - ">="
110
115
  - !ruby/object:Gem::Version
111
116
  version: '0'
112
117
  required_rubygems_version: !ruby/object:Gem::Requirement
113
118
  requirements:
114
- - - '>='
119
+ - - ">="
115
120
  - !ruby/object:Gem::Version
116
121
  version: '0'
117
122
  requirements: []
118
123
  rubyforge_project:
119
- rubygems_version: 2.0.3
124
+ rubygems_version: 2.7.6
120
125
  signing_key:
121
126
  specification_version: 4
122
127
  summary: This is an update to the old `gem mirror` command
data/.gemtest DELETED
File without changes