Finger, Gemini, Gopher and Nex support for Net::* and URI::*
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
ruby-net-text is proudly following the
Contributor Covenant Code of Conduct.
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.