compact_index 0.11.0 → 0.14.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 +5 -5
- data/.gitignore +0 -1
- data/.rubocop-bundler.yml +46 -6
- data/.rubocop.yml +9 -0
- data/.travis.yml +15 -6
- data/CHANGELOG.md +21 -1
- data/Gemfile +4 -3
- data/Gemfile.lock +55 -0
- data/README.md +1 -1
- data/Rakefile +2 -1
- data/compact_index.gemspec +5 -4
- data/db/migrations/01_rubygems_org_schema_dump.rb +1 -0
- data/db/migrations/02_prune.rb +1 -0
- data/db/migrations/03_add_ruby_and_rubygems_requirements.rb +1 -0
- data/db/migrations/04_add_deps_md5_to_rubygems.rb +1 -0
- data/db/migrations/05_create_checksums.rb +1 -0
- data/db/migrations/06_add_created_at_to_versions.rb +1 -0
- data/db/migrations/07_add_checksum_to_versions.rb +1 -0
- data/lib/compact_index/dependency.rb +1 -0
- data/lib/compact_index/ext/date.rb +1 -0
- data/lib/compact_index/gem.rb +1 -0
- data/lib/compact_index/gem_version.rb +17 -3
- data/lib/compact_index/version.rb +2 -1
- data/lib/compact_index/versions_file.rb +3 -5
- data/lib/compact_index.rb +1 -0
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 53388525df0047c065e1c9197e9021550c69e988629f624e53dc17b6128af505
|
4
|
+
data.tar.gz: 72e4f7887f5e43cf485f43f0e4d0d3c1789805707166afed428de0b9b63fde8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48d42cebf94bc355e676dedb986beb08c4d512d50295d00a3337ad95f3f3e9f24001311b46ebfc17a1e9043f1af1e9ad6feefd5a846d92086af9bde3d4686432
|
7
|
+
data.tar.gz: ffb5581d24c9089a0f06e7497369ed9b5064c7c826a99fcb0536f1d1026ccac83f6818a75774af5c4bb0e06dde7caa576bc4a3ed24f23856a693189f7fda39bb
|
data/.gitignore
CHANGED
data/.rubocop-bundler.yml
CHANGED
@@ -2,6 +2,7 @@ inherit_from:
|
|
2
2
|
- .rubocop_todo.yml
|
3
3
|
|
4
4
|
AllCops:
|
5
|
+
TargetRubyVersion: 1.9
|
5
6
|
Exclude:
|
6
7
|
- tmp/**/*
|
7
8
|
- lib/bundler/vendor/**/*
|
@@ -14,23 +15,39 @@ Lint/AssignmentInCondition:
|
|
14
15
|
Enabled: false
|
15
16
|
|
16
17
|
Lint/EndAlignment:
|
17
|
-
|
18
|
+
EnforcedStyleAlignWith: variable
|
19
|
+
AutoCorrect: true
|
18
20
|
|
19
21
|
Lint/UnusedMethodArgument:
|
20
22
|
Enabled: false
|
21
23
|
|
22
24
|
# Style
|
23
25
|
|
24
|
-
|
26
|
+
Layout/AccessModifierIndentation:
|
25
27
|
EnforcedStyle: outdent
|
26
28
|
|
27
|
-
Style/
|
29
|
+
Style/Alias:
|
30
|
+
EnforcedStyle: prefer_alias_method
|
31
|
+
|
32
|
+
Layout/AlignParameters:
|
28
33
|
EnforcedStyle: with_fixed_indentation
|
29
34
|
|
30
|
-
Style/
|
35
|
+
Style/FrozenStringLiteralComment:
|
36
|
+
EnforcedStyle: always
|
37
|
+
|
38
|
+
Style/MultilineBlockChain:
|
39
|
+
Enabled: false
|
40
|
+
|
41
|
+
Layout/MultilineOperationIndentation:
|
31
42
|
EnforcedStyle: indented
|
32
43
|
|
33
|
-
Style/
|
44
|
+
Style/PerlBackrefs:
|
45
|
+
Enabled: false
|
46
|
+
|
47
|
+
Style/SingleLineBlockParams:
|
48
|
+
Enabled: false
|
49
|
+
|
50
|
+
Layout/SpaceInsideBlockBraces:
|
34
51
|
SpaceBeforeBlockParameters: false
|
35
52
|
|
36
53
|
Style/TrivialAccessors:
|
@@ -46,6 +63,18 @@ Style/StringLiterals:
|
|
46
63
|
Style/StringLiteralsInInterpolation:
|
47
64
|
EnforcedStyle: double_quotes
|
48
65
|
|
66
|
+
# Having these make it easier to *not* forget to add one when adding a new
|
67
|
+
# value and you can simply copy the previous line.
|
68
|
+
Style/TrailingCommaInLiteral:
|
69
|
+
EnforcedStyleForMultiline: comma
|
70
|
+
|
71
|
+
Style/TrailingUnderscoreVariable:
|
72
|
+
Enabled: false
|
73
|
+
|
74
|
+
# `String.new` is preferred style with enabled frozen string literal
|
75
|
+
Style/EmptyLiteral:
|
76
|
+
Enabled: false
|
77
|
+
|
49
78
|
# 1.8.7 support
|
50
79
|
|
51
80
|
Style/HashSyntax:
|
@@ -54,7 +83,7 @@ Style/HashSyntax:
|
|
54
83
|
Style/Lambda:
|
55
84
|
Enabled: false
|
56
85
|
|
57
|
-
|
86
|
+
Layout/DotPosition:
|
58
87
|
EnforcedStyle: trailing
|
59
88
|
|
60
89
|
Style/EachWithObject:
|
@@ -63,6 +92,12 @@ Style/EachWithObject:
|
|
63
92
|
Style/SpecialGlobalVars:
|
64
93
|
Enabled: false
|
65
94
|
|
95
|
+
Style/TrailingCommaInArguments:
|
96
|
+
Enabled: false
|
97
|
+
|
98
|
+
Performance/FlatMap:
|
99
|
+
Enabled: false
|
100
|
+
|
66
101
|
# Metrics
|
67
102
|
|
68
103
|
# We've chosen to use Rubocop only for style, and not for complexity or quality checks.
|
@@ -84,5 +119,10 @@ Metrics/AbcSize:
|
|
84
119
|
Metrics/CyclomaticComplexity:
|
85
120
|
Enabled: false
|
86
121
|
|
122
|
+
Metrics/ParameterLists:
|
123
|
+
Enabled: false
|
124
|
+
|
125
|
+
# It will be obvious which code is complex, Rubocop should only lint simple
|
126
|
+
# rules for us.
|
87
127
|
Metrics/PerceivedComplexity:
|
88
128
|
Enabled: false
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
2
|
+
|
3
|
+
cache:
|
4
|
+
bundler: true
|
5
|
+
directories:
|
6
|
+
- vendor/cache
|
7
|
+
|
8
|
+
bundler_args: --jobs=3 --retry=3
|
9
|
+
|
10
|
+
script:
|
11
|
+
- bundle exec rake
|
12
|
+
|
3
13
|
rvm:
|
4
|
-
- "2.
|
5
|
-
- "2.
|
6
|
-
- "2.
|
7
|
-
- "
|
8
|
-
- "1.8.7"
|
14
|
+
- "2.7.1"
|
15
|
+
- "2.6.6"
|
16
|
+
- "2.5.8"
|
17
|
+
- "2.4.10"
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,24 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
## 0.14.0 (May 25, 2020)
|
3
|
+
|
4
|
+
Enhancement:
|
5
|
+
|
6
|
+
- Add timestamp arg to version file create function
|
7
|
+
|
8
|
+
## 0.13.0 (May 25, 2020)
|
9
|
+
|
10
|
+
Bugfix:
|
11
|
+
|
12
|
+
- Revert trimming of space from requirements. Removing space would have meant info response of all gems were going to change.
|
13
|
+
- Fix token used for splitting list of requirements
|
14
|
+
|
15
|
+
## 0.12.0 (May 3, 2020)
|
16
|
+
|
17
|
+
Bugfix:
|
18
|
+
|
19
|
+
- Update info line to join multiple ruby or rubygems requirements by ampersand (rubygems/compact_index#26)
|
20
|
+
|
21
|
+
## 0.11.0 (January 22, 2016)
|
2
22
|
|
3
23
|
Features:
|
4
24
|
|
data/Gemfile
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
source "https://rubygems.org"
|
3
4
|
|
4
5
|
# Specify your gem's dependencies in compact_index.gemspec
|
5
6
|
gemspec
|
6
7
|
|
7
8
|
group :documentation do
|
8
|
-
gem "
|
9
|
-
gem "
|
9
|
+
gem "redcarpet", "~> 3.5"
|
10
|
+
gem "yard", "~> 0.9"
|
10
11
|
end
|
11
12
|
|
12
13
|
group :development do
|
13
|
-
gem "rubocop", :install_if => lambda { RUBY_VERSION >= "
|
14
|
+
gem "rubocop", "~> 0.49.0", :install_if => lambda { RUBY_VERSION >= "2.0" }
|
14
15
|
end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
compact_index (0.14.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
ast (2.4.0)
|
10
|
+
diff-lcs (1.3)
|
11
|
+
parallel (1.19.1)
|
12
|
+
parser (2.7.1.1)
|
13
|
+
ast (~> 2.4.0)
|
14
|
+
powerpack (0.1.2)
|
15
|
+
rainbow (2.2.2)
|
16
|
+
rake
|
17
|
+
rake (13.0.1)
|
18
|
+
redcarpet (3.5.1)
|
19
|
+
rspec (3.9.0)
|
20
|
+
rspec-core (~> 3.9.0)
|
21
|
+
rspec-expectations (~> 3.9.0)
|
22
|
+
rspec-mocks (~> 3.9.0)
|
23
|
+
rspec-core (3.9.1)
|
24
|
+
rspec-support (~> 3.9.1)
|
25
|
+
rspec-expectations (3.9.1)
|
26
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
27
|
+
rspec-support (~> 3.9.0)
|
28
|
+
rspec-mocks (3.9.1)
|
29
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
+
rspec-support (~> 3.9.0)
|
31
|
+
rspec-support (3.9.2)
|
32
|
+
rubocop (0.49.1)
|
33
|
+
parallel (~> 1.10)
|
34
|
+
parser (>= 2.3.3.1, < 3.0)
|
35
|
+
powerpack (~> 0.1)
|
36
|
+
rainbow (>= 1.99.1, < 3.0)
|
37
|
+
ruby-progressbar (~> 1.7)
|
38
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
39
|
+
ruby-progressbar (1.10.1)
|
40
|
+
unicode-display_width (1.7.0)
|
41
|
+
yard (0.9.24)
|
42
|
+
|
43
|
+
PLATFORMS
|
44
|
+
ruby
|
45
|
+
|
46
|
+
DEPENDENCIES
|
47
|
+
compact_index!
|
48
|
+
rake (~> 13.0)
|
49
|
+
redcarpet (~> 3.5)
|
50
|
+
rspec (~> 3)
|
51
|
+
rubocop (~> 0.49.0)
|
52
|
+
yard (~> 0.9)
|
53
|
+
|
54
|
+
BUNDLED WITH
|
55
|
+
2.1.4
|
data/README.md
CHANGED
data/Rakefile
CHANGED
data/compact_index.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
lib = File.expand_path("../lib", __FILE__)
|
4
5
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
6
|
require "compact_index/version"
|
@@ -7,11 +8,11 @@ require "compact_index/version"
|
|
7
8
|
Gem::Specification.new do |spec|
|
8
9
|
spec.name = "compact_index"
|
9
10
|
spec.version = CompactIndex::VERSION
|
10
|
-
spec.authors = ["
|
11
|
-
spec.email = ["
|
11
|
+
spec.authors = ["Felipe Tanus"]
|
12
|
+
spec.email = ["fotanus@gmail.com"]
|
12
13
|
|
13
14
|
spec.summary = "Backend for compact index"
|
14
|
-
spec.homepage = "https://github.com/
|
15
|
+
spec.homepage = "https://github.com/rubygems/compact_index"
|
15
16
|
spec.license = "MIT"
|
16
17
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
|
@@ -19,6 +20,6 @@ Gem::Specification.new do |spec|
|
|
19
20
|
spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
|
20
21
|
spec.require_paths = ["lib"]
|
21
22
|
|
22
|
-
spec.add_development_dependency "rake", "~>
|
23
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
23
24
|
spec.add_development_dependency "rspec", "~> 3"
|
24
25
|
end
|
data/db/migrations/02_prune.rb
CHANGED
data/lib/compact_index/gem.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module CompactIndex
|
4
|
+
# rubocop:disable Metrics/BlockLength
|
3
5
|
GemVersion = Struct.new(:number, :platform, :checksum, :info_checksum,
|
4
6
|
:dependencies, :ruby_version, :rubygems_version) do
|
5
7
|
def number_and_platform
|
@@ -22,18 +24,30 @@ module CompactIndex
|
|
22
24
|
|
23
25
|
def to_line
|
24
26
|
line = number_and_platform.dup << " " << deps_line << "|checksum:#{checksum}"
|
25
|
-
line << ",ruby:#{
|
26
|
-
line << ",rubygems:#{
|
27
|
+
line << ",ruby:#{ruby_version_line}" if ruby_version && ruby_version != ">= 0"
|
28
|
+
line << ",rubygems:#{rubygems_version_line}" if rubygems_version && rubygems_version != ">= 0"
|
27
29
|
line
|
28
30
|
end
|
29
31
|
|
30
32
|
private
|
31
33
|
|
34
|
+
def ruby_version_line
|
35
|
+
join_multiple(ruby_version)
|
36
|
+
end
|
37
|
+
|
38
|
+
def rubygems_version_line
|
39
|
+
join_multiple(rubygems_version)
|
40
|
+
end
|
41
|
+
|
32
42
|
def deps_line
|
33
43
|
return "" if dependencies.nil?
|
34
44
|
dependencies.map do |d|
|
35
|
-
[d[:gem], d.version_and_platform
|
45
|
+
[d[:gem], join_multiple(d.version_and_platform)].join(":")
|
36
46
|
end.join(",")
|
37
47
|
end
|
48
|
+
|
49
|
+
def join_multiple(requirements)
|
50
|
+
requirements.split(", ").sort.join("&")
|
51
|
+
end
|
38
52
|
end
|
39
53
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "time"
|
3
4
|
require "date"
|
4
5
|
require "digest"
|
5
|
-
require "compact_index"
|
6
6
|
|
7
7
|
module CompactIndex
|
8
8
|
class VersionsFile
|
@@ -24,11 +24,11 @@ module CompactIndex
|
|
24
24
|
created_at_header(@path) || Time.at(0).to_datetime
|
25
25
|
end
|
26
26
|
|
27
|
-
def create(gems)
|
27
|
+
def create(gems, ts = Time.now.iso8601)
|
28
28
|
gems.sort!
|
29
29
|
|
30
30
|
File.open(@path, "w") do |io|
|
31
|
-
io.write "created_at: #{
|
31
|
+
io.write "created_at: #{ts}\n---\n"
|
32
32
|
io.write gem_lines(gems)
|
33
33
|
end
|
34
34
|
end
|
@@ -36,8 +36,6 @@ module CompactIndex
|
|
36
36
|
private
|
37
37
|
|
38
38
|
def gem_lines(gems)
|
39
|
-
gems.each {|g| g.versions.sort! }
|
40
|
-
|
41
39
|
gems.reduce("".dup) do |lines, gem|
|
42
40
|
version_numbers = gem.versions.map(&:number_and_platform).join(",")
|
43
41
|
lines << gem.name <<
|
data/lib/compact_index.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compact_index
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Felipe Tanus
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '13.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '13.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
version: '3'
|
41
41
|
description:
|
42
42
|
email:
|
43
|
-
-
|
43
|
+
- fotanus@gmail.com
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
@@ -55,6 +55,7 @@ files:
|
|
55
55
|
- CHANGELOG.md
|
56
56
|
- CODE_OF_CONDUCT.md
|
57
57
|
- Gemfile
|
58
|
+
- Gemfile.lock
|
58
59
|
- LICENSE.txt
|
59
60
|
- README.md
|
60
61
|
- Rakefile
|
@@ -75,7 +76,7 @@ files:
|
|
75
76
|
- lib/compact_index/gem_version.rb
|
76
77
|
- lib/compact_index/version.rb
|
77
78
|
- lib/compact_index/versions_file.rb
|
78
|
-
homepage: https://github.com/
|
79
|
+
homepage: https://github.com/rubygems/compact_index
|
79
80
|
licenses:
|
80
81
|
- MIT
|
81
82
|
metadata: {}
|
@@ -94,8 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
95
|
- !ruby/object:Gem::Version
|
95
96
|
version: '0'
|
96
97
|
requirements: []
|
97
|
-
|
98
|
-
rubygems_version: 2.4.6
|
98
|
+
rubygems_version: 3.2.3
|
99
99
|
signing_key:
|
100
100
|
specification_version: 4
|
101
101
|
summary: Backend for compact index
|