Skip to content

Ruby gems

Ruby gems — one organisation each

A Ruby virtual machine is only useful with a library around it, so each gem the ecosystem needs is reimplemented in pure Go in its own go-ruby-* organisation: the standard library, Rails and its dependencies, the testing stack, the Puppet stack, database drivers, serialisation formats and template engines.

Every one of them is byte-compared against MRI where a byte comparison is meaningful — a checksum, a Marshal payload, a formatted number. Where it is not (a deflate stream, say, whose output is implementation-defined) the requirement is interoperability in both directions instead.

Two things to know before reaching for one:

  • The gem organisation is the Ruby-facing wrapper, not always the engine. Some are thin shells over an engine that lives in its own non-Ruby organisation — the regexp gem wraps go-regexp/engine, the sass gem wraps go-scss/scss. If you are writing Go rather than Ruby, take the engine.
  • The repository inside is named after the gem, not after the organisation: go-ruby-activerecord/activerecord.
GemOrganisation
aasmgo-ruby-aasm
abbrevgo-ruby-abbrev
acmego-ruby-acme
actioncablego-ruby-actioncable
actionmailergo-ruby-actionmailer
actionpackgo-ruby-actionpack
actionviewgo-ruby-actionview
activejobgo-ruby-activejob
activeldapgo-ruby-activeldap
activemodelgo-ruby-activemodel
activerecordgo-ruby-activerecord
activestoragego-ruby-activestorage
activesupportgo-ruby-activesupport
addressablego-ruby-addressable
agego-ruby-age
arrowgo-ruby-arrow
asyncgo-ruby-async
augeasgo-ruby-augeas
base64go-ruby-base64
bboltgo-ruby-bbolt
bcryptgo-ruby-bcrypt
benchmarkgo-ruby-benchmark
bigdecimalgo-ruby-bigdecimal
blevego-ruby-bleve
buildergo-ruby-builder
bundlergo-ruby-bundler
cancancango-ruby-cancancan
capistranogo-ruby-capistrano
capybarago-ruby-capybara
cgigo-ruby-cgi
chronicgo-ruby-chronic
cmathgo-ruby-cmath
commonmarkgo-ruby-commonmark
complexgo-ruby-complex
concurrent-rubygo-ruby-concurrent-ruby
confdgo-ruby-confd
connection-poolgo-ruby-connection-pool
csvgo-ruby-csv
datego-ruby-date
deep-mergego-ruby-deep-merge
devisego-ruby-devise
did-you-meango-ruby-did-you-mean
digestgo-ruby-digest
dotenvgo-ruby-dotenv
dry-structgo-ruby-dry-struct
dry-typesgo-ruby-dry-types
dry-validationgo-ruby-dry-validation
erasurego-ruby-erasure
erbgo-ruby-erb
erubigo-ruby-erubi
etcdgo-ruby-etcd
excongo-ruby-excon
factergo-ruby-facter
factory-botgo-ruby-factory-bot
fakergo-ruby-faker
faradaygo-ruby-faraday
fast-gettextgo-ruby-fast-gettext
fast-gettext-localego-ruby-fast-gettext-locale
findgo-ruby-find
formatgo-ruby-format
friendly-idgo-ruby-friendly-id
fsctlgo-ruby-fsctl
getoptlonggo-ruby-getoptlong
grapego-ruby-grape
graphqlgo-ruby-graphql
grpcgo-ruby-grpc
hamlgo-ruby-haml
hanamigo-ruby-hanami
hcl2go-ruby-hcl2
hierago-ruby-hiera
hiera-eyamlgo-ruby-hiera-eyaml
hocongo-ruby-hocon
httpgo-ruby-http
httpartygo-ruby-httparty
i18ngo-ruby-i18n
imagesgo-ruby-images
ipaddrgo-ruby-ipaddr
irbgo-ruby-irb
jbuildergo-ruby-jbuilder
jekyllgo-ruby-jekyll
jsongo-ruby-json
jwtgo-ruby-jwt
kafkago-ruby-kafka
kaminarigo-ruby-kaminari
kramdowngo-ruby-kramdown
ldapgo-ruby-ldap
liquidgo-ruby-liquid
loggergo-ruby-logger
mailgo-ruby-mail
marshalgo-ruby-marshal
matrixgo-ruby-matrix
mime-typesgo-ruby-mime-types
minitestgo-ruby-minitest
moneygo-ruby-money
mongodbgo-ruby-mongodb
msgpackgo-ruby-msgpack
multi-jsongo-ruby-multi-json
mustachego-ruby-mustache
mysqlgo-ruby-mysql
natsgo-ruby-nats
net-ftpgo-ruby-net-ftp
net-httpgo-ruby-net-http
net-imapgo-ruby-net-imap
net-popgo-ruby-net-pop
net-s3go-ruby-net-s3
net-sftpgo-ruby-net-sftp
net-smtpgo-ruby-net-smtp
nokogirigo-ruby-nokogiri
oauth2go-ruby-oauth2
observergo-ruby-observer
oidcgo-ruby-oidc
omniauthgo-ruby-omniauth
openbaogo-ruby-openbao
opensslgo-ruby-openssl
openstackgo-ruby-openstack
opentelemetrygo-ruby-opentelemetry
opentypego-ruby-opentype
optparsego-ruby-optparse
ostructgo-ruby-ostruct
pagygo-ruby-pagy
paper-trailgo-ruby-paper-trail
parquetgo-ruby-parquet
parsergo-ruby-parser
pathnamego-ruby-pathname
pggo-ruby-pg
prawngo-ruby-prawn
prettyprintgo-ruby-prettyprint
primego-ruby-prime
protobufgo-ruby-protobuf
pstorego-ruby-pstore
public-suffixgo-ruby-public-suffix
pumago-ruby-puma
punditgo-ruby-pundit
puppetgo-ruby-puppet
puppet-resource-apigo-ruby-puppet-resource-api
raccgo-ruby-racc
rackgo-ruby-rack
railsgo-ruby-rails
railtiesgo-ruby-railties
rakego-ruby-rake
ransackgo-ruby-ransack
rationalgo-ruby-rational
rdocgo-ruby-rdoc
redditgo-ruby-reddit
redisgo-ruby-redis
regexpgo-ruby-regexp
relinego-ruby-reline
resolvgo-ruby-resolv
resquego-ruby-resque
rexmlgo-ruby-rexml
rodago-ruby-roda
rolifygo-ruby-rolify
rougego-ruby-rouge
rqrcodego-ruby-rqrcode
rspecgo-ruby-rspec
rssgo-ruby-rss
rubocopgo-ruby-rubocop
rubygemsgo-ruby-rubygems
samlgo-ruby-saml
sassgo-ruby-sass
scanfgo-ruby-scanf
securerandomgo-ruby-securerandom
semantic-puppetgo-ruby-semantic-puppet
sequelgo-ruby-sequel
setgo-ruby-set
shellwordsgo-ruby-shellwords
shrinego-ruby-shrine
sidekiqgo-ruby-sidekiq
simplecovgo-ruby-simplecov
sinatrago-ruby-sinatra
slimgo-ruby-slim
sodiumgo-ruby-sodium
sqlite3go-ruby-sqlite3
stdlibgo-ruby-stdlib
stringiogo-ruby-stringio
strscango-ruby-strscan
sysloggo-ruby-syslog
thorgo-ruby-thor
timego-ruby-time
timecopgo-ruby-timecop
tomlgo-ruby-toml
tsortgo-ruby-tsort
typhoeusgo-ruby-typhoeus
tzinfogo-ruby-tzinfo
unicode-normalizego-ruby-unicode-normalize
urigo-ruby-uri
vcrgo-ruby-vcr
wardengo-ruby-warden
webauthngo-ruby-webauthn
webmockgo-ruby-webmock
webrickgo-ruby-webrick
xsltgo-ruby-xslt
yamlgo-ruby-yaml
zeitwerkgo-ruby-zeitwerk
zlibgo-ruby-zlib

195 gem organisations, 195 public code repositories.