<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/rubygems/test_gem_source.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[rubygems/rubygems] Fix `gem install does-not-exist` being super slow</title>
<updated>2024-09-06T18:44:37+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-09-06T07:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fe1bace43c73d88a5721e9b97066e746a34f135c'/>
<id>fe1bace43c73d88a5721e9b97066e746a34f135c</id>
<content type='text'>
Every time a gem is not found in the Compact Index API, RubyGems will
fallback to the full index, which is very slow. This is unnecessary
because both indexes should be providing the same gems, so if a gem
can't be found in the Compact Index API, it won't be found in the full
index.

We _do_ want a fallback to the full index, whenever the Compact Index
API is not implemented. To detect that, we check that the API responds
to the "/versions" endpoint, just like Bundler does.

Before:

```
$ time gem install fooasdsfafs
ERROR:  Could not find a valid gem 'fooasdsfafs' (&gt;= 0) in any repository
gem  20,77s user 0,59s system 96% cpu 22,017 total
```

After:

```
$ time gem install fooasdsfafs
ERROR:  Could not find a valid gem 'fooasdsfafs' (&gt;= 0) in any repository
gem  5,02s user 0,09s system 91% cpu 5,568 total
```

https://github.com/rubygems/rubygems/commit/c0d6b9eea7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Every time a gem is not found in the Compact Index API, RubyGems will
fallback to the full index, which is very slow. This is unnecessary
because both indexes should be providing the same gems, so if a gem
can't be found in the Compact Index API, it won't be found in the full
index.

We _do_ want a fallback to the full index, whenever the Compact Index
API is not implemented. To detect that, we check that the API responds
to the "/versions" endpoint, just like Bundler does.

Before:

```
$ time gem install fooasdsfafs
ERROR:  Could not find a valid gem 'fooasdsfafs' (&gt;= 0) in any repository
gem  20,77s user 0,59s system 96% cpu 22,017 total
```

After:

```
$ time gem install fooasdsfafs
ERROR:  Could not find a valid gem 'fooasdsfafs' (&gt;= 0) in any repository
gem  5,02s user 0,09s system 91% cpu 5,568 total
```

https://github.com/rubygems/rubygems/commit/c0d6b9eea7
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename the variable</title>
<updated>2024-04-01T07:51:28+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-04-01T07:51:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b50c4dc30a1e2db18e62b4dab3d8faabc62e29e3'/>
<id>b50c4dc30a1e2db18e62b4dab3d8faabc62e29e3</id>
<content type='text'>
It is not an empty gzipped data, a gzipped empty dump data.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is not an empty gzipped data, a gzipped empty dump data.
</pre>
</div>
</content>
</entry>
<entry>
<title>Write gzipped data as binary</title>
<updated>2024-04-01T07:03:57+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-04-01T07:03:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=70645a5acdaa6028a897b828ceacd57efb9cf257'/>
<id>70645a5acdaa6028a897b828ceacd57efb9cf257</id>
<content type='text'>
Be careful when writing binary data on Windows.

```
$ ruby -e 's = Gem::Util.gzip("\x04\x08[\x05".b); p s.index("\n"); puts IO::Buffer.for(s).hexdump'
6
0x00000000  1f 8b 08 00 6c 3d 0a 66 00 03 63 e1 88 66 05 00 ....l=.f..c..f..
0x00000010  e3 69 10 89 04 00 00 00                         .i......
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Be careful when writing binary data on Windows.

```
$ ruby -e 's = Gem::Util.gzip("\x04\x08[\x05".b); p s.index("\n"); puts IO::Buffer.for(s).hexdump'
6
0x00000000  1f 8b 08 00 6c 3d 0a 66 00 03 63 e1 88 66 05 00 ....l=.f..c..f..
0x00000010  e3 69 10 89 04 00 00 00                         .i......
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Use dummy data generated by RubyGems</title>
<updated>2024-04-01T06:32:31+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-04-01T04:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=acfef7c4f06696bf5f6d0ade06ddc32683a2f7bb'/>
<id>acfef7c4f06696bf5f6d0ade06ddc32683a2f7bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Vendor uri gem in RubyGems</title>
<updated>2024-01-29T03:14:21+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-01-15T19:51:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d64d0b54231208c7bec899a7fe8c3b98ec2e9a1b'/>
<id>d64d0b54231208c7bec899a7fe8c3b98ec2e9a1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] bin/rubocop -A --only Style/StringLiterals</title>
<updated>2024-01-11T04:51:52+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-01-10T08:02:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ea31461ba0cd9eb2fb68fd5b13266e75c343a471'/>
<id>ea31461ba0cd9eb2fb68fd5b13266e75c343a471</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/f25013bcc0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/f25013bcc0
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] bin/rubocop -A --only Performance/StringInclude</title>
<updated>2024-01-11T04:51:52+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-01-10T08:01:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ff0119354ee4bd836749b171e95458affa10b064'/>
<id>ff0119354ee4bd836749b171e95458affa10b064</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/34df962cf4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/34df962cf4
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Vendor net-http and net-protocol in RubyGems</title>
<updated>2023-12-13T03:16:55+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2023-01-29T20:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ce924ce1fb029f19fd34a43f2012a485f4f62b53'/>
<id>ce924ce1fb029f19fd34a43f2012a485f4f62b53</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/99d91c9ed2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/99d91c9ed2
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Extract generate_index command to rubygems-generate_index gem</title>
<updated>2023-12-08T06:09:51+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2023-10-21T00:56:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4817166e54ad98f9b3e9d06e9e8c7ccff992a957'/>
<id>4817166e54ad98f9b3e9d06e9e8c7ccff992a957</id>
<content type='text'>
So generate_index can be implemented with dependencies, such as the compact index

Took this approach from feedback in https://github.com/rubygems/rubygems/pull/6853

Running `gem generate_index` by default will use an installed rubygems-generate_index, or install and then use the command from the gem

Apply suggestions from code review

https://github.com/rubygems/rubygems/commit/fc1cb9bc9e

Co-authored-by: Hiroshi SHIBATA &lt;hsbt@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So generate_index can be implemented with dependencies, such as the compact index

Took this approach from feedback in https://github.com/rubygems/rubygems/pull/6853

Running `gem generate_index` by default will use an installed rubygems-generate_index, or install and then use the command from the gem

Apply suggestions from code review

https://github.com/rubygems/rubygems/commit/fc1cb9bc9e

Co-authored-by: Hiroshi SHIBATA &lt;hsbt@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Downcase camel like cases of instance variable</title>
<updated>2023-04-13T08:38:45+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-04-13T05:49:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1f0974e654bf3c8a7dd321ae898174d942975686'/>
<id>1f0974e654bf3c8a7dd321ae898174d942975686</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/4eaac27107
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/4eaac27107
</pre>
</div>
</content>
</entry>
</feed>
