compact_index 0.8.1 → 0.9.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 +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/compact_index.rb +2 -11
- data/lib/compact_index/version.rb +1 -1
- data/lib/compact_index/versions_file.rb +28 -32
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d64d44d1fea23ce0a76b7845acc0014b8ca8aec7
|
4
|
+
data.tar.gz: 51b9ae7960a546363e9d78327467f7a8b482ab68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aee9ae1d0b33076d8e6109cef53eee7c2e4e805007114f446b50736c9cfd4f3877fd2dbd27dcb1096294b771a90386ea2a6d20a3a39f35a18d0d267d2cd01ae
|
7
|
+
data.tar.gz: 434971c492a216938303c67a16cdb399a49aed8232065c6f93640830bf2e86e842debca4a3dffc51cf4f5431fb9b5ace7104c49db004ca67d0bff597e5ccf4c9
|
data/CHANGELOG.md
CHANGED
data/lib/compact_index.rb
CHANGED
@@ -12,16 +12,7 @@ module CompactIndex
|
|
12
12
|
|
13
13
|
def self.info(params)
|
14
14
|
output = "---\n"
|
15
|
-
|
16
|
-
if a[:created_at] and b[:created_at]
|
17
|
-
a[:created_at] <=> b[:created_at]
|
18
|
-
elsif a[:created_at]
|
19
|
-
-1
|
20
|
-
else
|
21
|
-
1
|
22
|
-
end
|
23
|
-
end
|
24
|
-
sorted.each do |version|
|
15
|
+
params.each do |version|
|
25
16
|
output << version_line(version) << "\n"
|
26
17
|
end
|
27
18
|
output
|
@@ -30,7 +21,7 @@ module CompactIndex
|
|
30
21
|
private
|
31
22
|
def self.version_line(version)
|
32
23
|
if version[:dependencies]
|
33
|
-
version[:dependencies]
|
24
|
+
version[:dependencies]
|
34
25
|
deps = version[:dependencies].map do |d|
|
35
26
|
[
|
36
27
|
d[:gem],
|
@@ -48,50 +48,46 @@ class CompactIndex::VersionsFile
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def parse_gems_for_create(gems)
|
51
|
-
|
52
|
-
|
53
|
-
|
51
|
+
# Join all versions for each gem in one hash
|
52
|
+
gems_hash = {}
|
53
|
+
gems.each do |entry|
|
54
|
+
gems_hash[entry[:name]] ||= []
|
55
|
+
gems_hash[entry[:name]] += entry[:versions]
|
54
56
|
end
|
55
|
-
fixed_format_gems.sort! { |a,b| a[:name] <=> b[:name] }
|
56
|
-
gem_lines(fixed_format_gems)
|
57
|
-
end
|
58
57
|
|
59
|
-
|
60
|
-
|
61
|
-
|
58
|
+
# Transform hash in a list of line informations to be printed
|
59
|
+
gems = gems_hash.map do |gem, versions|
|
60
|
+
{ name: gem, versions: versions, checksum: versions.first[:checksum] }
|
61
|
+
end
|
62
|
+
|
63
|
+
# Sort gems by name and versions by number
|
64
|
+
gems.sort! { |a,b| a[:name] <=> b[:name] }
|
65
|
+
gems.each do |entry|
|
66
|
+
entry[:versions].sort_by! { |v| Gem::Version.create(v[:number]) }
|
67
|
+
end
|
68
|
+
|
69
|
+
gem_lines(gems)
|
62
70
|
end
|
63
71
|
|
64
|
-
def
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
by_created_at[v[:created_at]][name] << [v[:number], v[:platform]]
|
72
|
-
checksums[v[:created_at]] ||= {}
|
73
|
-
checksums[v[:created_at]] = v[:checksum]
|
74
|
-
end
|
72
|
+
def parse_gems(gems)
|
73
|
+
gem_lines = gems.map do |entry|
|
74
|
+
{
|
75
|
+
name: entry[:name],
|
76
|
+
versions: entry[:versions],
|
77
|
+
checksum: entry[:versions].first[:checksum]
|
78
|
+
}
|
75
79
|
end
|
76
|
-
|
77
|
-
gems.map do |name, versions|
|
78
|
-
{ name: name, versions: versions, checksum: checksums[created_at] }
|
79
|
-
end
|
80
|
-
end.flatten
|
80
|
+
gem_lines(gem_lines)
|
81
81
|
end
|
82
82
|
|
83
83
|
def gem_lines(gems)
|
84
84
|
gems.reduce("") do |concat, entry|
|
85
|
-
versions =
|
86
|
-
versions.map
|
87
|
-
concat << "#{entry[:name]} #{
|
85
|
+
versions = entry[:versions]
|
86
|
+
number_and_plat = versions.map { |version| number_and_platform(version[:number], version[:platform]) }
|
87
|
+
concat << "#{entry[:name]} #{number_and_plat.join(',')} #{entry[:checksum]}\n"
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
def sort_versions(versions)
|
92
|
-
versions.sort_by { |v| Gem::Version.create(v.first) }
|
93
|
-
end
|
94
|
-
|
95
91
|
def number_and_platform(number, platform)
|
96
92
|
if platform.nil? || platform == 'ruby'
|
97
93
|
number
|
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.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fotanus@gmail.com
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|