Finger, Gemini, Gopher and Nex support for Net::* and URI::*

Support using Paypal Gem Documentation

This project aims to add connectors to well known internet text protocols through the standard Net::* and URI::* ruby module namespaces.

News

Version 0.0.9 gemini breaking changes

This new version changes the Gemini namespace. Everything is now under the same Net::Gemini namespace. If you just used this gem as per the documentation, nothing changes for you. However, if you were using some hidden part of the Gemini API, you will probably have to make some changes.

Here are all the changes:

Old names New names
Net::GeminiRequest Net::Gemini::Request (still 'net/gemini/request')
Net::GeminiBadRequest Net::Gemini::BadRequest (require 'net/gemini/error')
Net::GeminiResponse Net::Gemini::Response (still 'net/gemini/response')
Net::GeminiBadResponse Net::Gemini::BadResponse (require 'net/gemini/error')
Net::GeminiError Net::Gemini::Error (require 'net/gemini/error')
Net::Gemini.new Net::Gemini::Client.new (directly required as part of 'net/gemini')
Gemini::ReflowText Net::Text::Reflow (no more expected to be included, but directly called)
Gemini::GmiParser - (directly integrated into Net::Gemini::Response)
Gemini::SSL - (directly integrated into Net::Gemini::Client)

Documentation

The code is self-documented and you can browse it on rubydoc.info:

Finger

Gemini

Gopher

Nex

Helpers

This repository also includes 2 little helpers:

  • bin/heraut: a toy client for Finger, Gemini, Gopher and Nex. Give it a URI and it will output the remote file.
  • bin/test_thread.rb: a toy performance test script to run against a Gemini server

Contributing

Code of conduct

Contributor Covenant

ruby-net-text is proudly following the Contributor Covenant Code of Conduct.

You can read it here.

Code

The canonical repository is located at https://git.umaneti.net/ruby-net-text. A mirror also exists on Github.

Merge requests and issues are accepted on github, or by mail to the main author.

Contributions must not include content generated by large language models. This policy covers code, documentation, pull requests, issues, comments, and any other contributions to ruby-net-text. The main reason for this, sufficient by itself, is ethical issues. AI tools require an unreasonable amount of energy and water to build and operate; their models are built with heavily exploited workers in unacceptable working conditions. These are harms that we do not want to perpetuate, even if only indirectly.¹

¹ This paragraph only is adapted from the Servo project note on AI contribution, available under the Mozilla Public License 2.0.