WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
File tree Expand file tree Collapse file tree 2 files changed +25
-3
lines changed
Expand file tree Collapse file tree 2 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -24,18 +24,30 @@ def <=>(other)
2424
2525 def to_line
2626 line = number_and_platform . dup << " " << deps_line << "|checksum:#{ checksum } "
27- line << ",ruby:#{ ruby_version } " if ruby_version && ruby_version != ">= 0"
28- line << ",rubygems:#{ rubygems_version } " if rubygems_version && rubygems_version != ">= 0"
27+ line << ",ruby:#{ ruby_version_line } " if ruby_version && ruby_version != ">= 0"
28+ line << ",rubygems:#{ rubygems_version_line } " if rubygems_version && rubygems_version != ">= 0"
2929 line
3030 end
3131
3232 private
3333
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+
3442 def deps_line
3543 return "" if dependencies . nil?
3644 dependencies . map do |d |
37- [ d [ :gem ] , d . version_and_platform . split ( ", " ) . sort . join ( "&" ) ] . join ( ":" )
45+ [ d [ :gem ] , join_multiple ( d . version_and_platform ) ] . join ( ":" )
3846 end . join ( "," )
3947 end
48+
49+ def join_multiple ( requirements )
50+ requirements . gsub ( /[[:space:]]/ , "" ) . split ( "," ) . sort . join ( "&" )
51+ end
4052 end
4153end
Original file line number Diff line number Diff line change 9393 expect ( CompactIndex . info ( param ) ) . to eq ( "---\n 1.0.1 |checksum:sum+test_gem+1.0.1,ruby:>1.8\n " )
9494 end
9595
96+ it "show ruby required version with multiple requirements" do
97+ param = [ build_version ( :number => "1.0.1" , :ruby_version => "< 2.5, >=2.2" ) ]
98+ expect ( CompactIndex . info ( param ) ) . to eq ( "---\n 1.0.1 |checksum:sum+test_gem+1.0.1,ruby:<2.5&>=2.2\n " )
99+ end
100+
96101 it "show rubygems required version" do
97102 param = [ build_version ( :number => "1.0.1" , :rubygems_version => "=2.0" ) ]
98103 expect ( CompactIndex . info ( param ) ) . to eq ( "---\n 1.0.1 |checksum:sum+test_gem+1.0.1,rubygems:=2.0\n " )
99104 end
100105
106+ it "show rubygems required version with multiple requirements" do
107+ param = [ build_version ( :number => "1.0.1" , :rubygems_version => ">2.0, <3.1" ) ]
108+ expect ( CompactIndex . info ( param ) ) . to eq ( "---\n 1.0.1 |checksum:sum+test_gem+1.0.1,rubygems:<3.1&>2.0\n " )
109+ end
110+
101111 it "show both rubygems and ruby required versions" do
102112 param = [ build_version ( :number => "1.0.1" , :ruby_version => ">1.9" , :rubygems_version => ">2.0" ) ]
103113 expect ( CompactIndex . info ( param ) ) . to eq ( "---\n 1.0.1 |checksum:sum+test_gem+1.0.1,ruby:>1.9,rubygems:>2.0\n " )
You can’t perform that action at this time.
0 commit comments