{"id":13514545,"url":"https://github.com/planetruby/gems","last_synced_at":"2026-01-06T00:54:11.798Z","repository":{"id":25093699,"uuid":"28514673","full_name":"planetruby/gems","owner":"planetruby","description":"Ruby Digital Identity \u0026 Metaverse Week 2022, September 5th to September 11st - 7 Days of Ruby (Profile Picture \u0026 Avatar Character Generation) Gems ++  Best of Ruby Gems Series","archived":false,"fork":false,"pushed_at":"2023-01-25T18:05:04.000Z","size":3449,"stargazers_count":76,"open_issues_count":1,"forks_count":26,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-12-04T05:19:04.186Z","etag":null,"topics":["24x24","advent","advent-2020","avatars","blockchain","business-intelligence","cryptos","csv","datapackage","gems","metaverse","mining","opendata","pixelart","pixels","profilepics","ruby"],"latest_commit_sha":null,"homepage":"https://planetruby.github.io/gems","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/planetruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-26T15:54:40.000Z","updated_at":"2025-09-12T11:02:05.000Z","dependencies_parsed_at":"2023-02-14T10:16:10.314Z","dependency_job_id":null,"html_url":"https://github.com/planetruby/gems","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/planetruby/gems","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetruby%2Fgems","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetruby%2Fgems/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetruby%2Fgems/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetruby%2Fgems/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/planetruby","download_url":"https://codeload.github.com/planetruby/gems/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetruby%2Fgems/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27777258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["24x24","advent","advent-2020","avatars","blockchain","business-intelligence","cryptos","csv","datapackage","gems","metaverse","mining","opendata","pixelart","pixels","profilepics","ruby"],"created_at":"2024-08-01T05:00:57.607Z","updated_at":"2025-12-17T04:48:33.600Z","avatar_url":"https://github.com/planetruby.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# Best of Ruby Gems Series\n\n{% include thanks.html %}\n\n(Note: You can subscribe to updates via the web feed in [XML](feed.xml).)\n\n\nDo you have a Ruby gem that you'd like to write about?\nWe love publishing your posts.  [Open an issue ticket](https://github.com/planetruby/gems/issues) or send in a pull request to get started and your article posted in the Best of Gems series on Planet Ruby.\n\n\n**2022**\n\n- [Ruby Digital Identity \u0026 Metaverse Week 2022, September 5th to September 11st - 7 Days of Ruby (Profile Picture \u0026 Avatar Character Generation) Gems](#ruby-digital-identity--metaverse-week-2022-september-5th-to-september-11st---7-days-of-ruby-profile-picture--avatar-character-generation-gems)\n\n**2021**\n\n- [Ruby Football Week 2021, June 11th to June 17th - 7 Days of Ruby (Sports) Gems](#ruby-football-week-2021-june-11th-to-june-17th---7-days-of-ruby-sports-gems)\n- [Ruby Pixel Art Week 2021, April 19th to April 25th - 7 Days of Ruby (Graphics) Gems](#ruby-pixel-art-week-2021-april-19th-to-april-25th---7-days-of-ruby-graphics-gems)\n- [Ruby Open Data Week 2021, March 6th to March 12th - 7 Days of Ruby (Open Data) Gems](#ruby-open-data-week-2021-march-6th-to-march-12th---7-days-of-ruby-open-data-gems)\n- [Ruby Glimmer Days 2021, January 26th to January 29th - 4 Days of Ruby (Desktop) Gems](#ruby-glimmer-days-2021-january-26th-to-january-29th---4-days-of-ruby-desktop-gems)\n- [Ruby Blockchain Week 2021, January 3rd to January 9th - 7 Days of Ruby (Crypto) Gems](#ruby-blockchain-week-2021-january-3rd-to-january-9th---7-days-of-ruby-crypto-gems)\n\n**2020**\n\n- [25 Days of Ruby Gems - Ruby Advent Calendar 2020, December 1st - December 25th](#25-days-of-ruby-gems---ruby-advent-calendar-2020-december-1st---december-25th)\n\n\n### Ruby Digital Identity \u0026 Metaverse Week 2022, September 5th to September 11st - 7 Days of Ruby (Profile Picture \u0026 Avatar Character Generation) Gems\n\nWelcome. The Ruby Digital Identity \u0026 Metaverse Week 2022 presents\na new Ruby profile picture / avatar character generation (graphics) \nlibrary every day from September 5th to September 11st.\n\nHave your say! Claim a free day!\n\nLet's highlight graphics libraries for generating \ndigital identity profile pictures or metaverse\navatar characters from the Ruby universe.\n\nDo you have a Ruby gem that you'd like to write about?\nWe love publishing your posts.  [Open an issue ticket](https://github.com/planetruby/gems/issues) or send in a pull request to get started and your article posted in the Digital Identity \u0026 Metaverse Week series on Planet Ruby.\n\n- **Day 1 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 2 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 3 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 4 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 5 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 6 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 7 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n\n\n\n\n\n\n### Ruby Football Week 2021, June 11th to June 17th - 7 Days of Ruby (Sports) Gems\n\nWelcome. The Ruby Football Week 2021 presents\na new Ruby sports library every day from June 11th to June 17th.\n\nHave your say! Claim a free day!\n\nLet's join in and celebrate the beautiful game and the kick off of the European Football Championship (Euro 2020)\nwith a week long celebration of sports gems from the Ruby universe.\n\nDo you have a Ruby gem that you'd like to write about? All sports welcome incl. what americans in the united states call football.\nWe love publishing your posts.  [Open an issue ticket](https://github.com/planetruby/gems/issues) or send in a pull request to get started and your article posted in the Football Week series on Planet Ruby.\n\n\n- [**Day 1 - fifa**](football/01-fifa.md)  by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  The World's Football Countries and Codes (Incl. Non-Member Countries and Irregular Codes)\n- [**Day 2 - sportdb-models**](football/02-sportdb-models.md)  by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Football SQL Schema and ActiveRecord Models for Easy (Re)Use  - Inserting the Euro 2020 Opening Match - Turkey vs Italy 0:3 (0:0) - Into the Database \"by Hand\"\n- [**Day 3 - sportdb-readers**](football/03-sportdb-readers.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Read the European Football Championship (\"Euro\") 2020 Match Schedule in the Football.TXT Format Into euro.db - A Single-File SQLite Database\n- [**Day 4 - football-to-sqlite**](football/04-football-to-sqlite.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Read the European Football Championship (\"Euro\") 2020 Match Schedule in the Football.TXT Format Into euro.db Using the Shell / Command Line\n- [**Day 5 - footty**](football/05-footty.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Who's Playing Today? Print Upcoming or Yesterday's Matches for the European Football Championship (\"Euro\") 2020 (in 2021) Using the Shell / Command Line\n- **Day 6 - :basketball::basketball::basketball: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 7 - :tennis::tennis::tennis: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n\n\n\n\n\n### Ruby Pixel Art Week 2021, April 19th to April 25th - 7 Days of Ruby (Graphics) Gems\n\nWelcome. The Ruby Pixel Art Week 2021 presents\na new Ruby graphics library every day from April 19th to April 25th.\n\nHave your say! Claim a free day!\n\nLet's highlight graphics libraries for pixel art in ruby (or chartreuse or magenta).\n\nDo you have a Ruby gem that you'd like to write about?\nWe love publishing your posts.  [Open an issue ticket](https://github.com/planetruby/gems/issues) or send in a pull request to get started and your article posted in the Pixel Art Week series on Planet Ruby.\n\n\n- [**Day 1 - chunky_png**](pixel/01-chunky-png.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Turn Pixelated Billie Eilish and Lady Gaga Portraits into True 24x24 Pixel Art\n- [**Day 2 - pixelart**](pixel/02-pixelart.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Mint Your Own Pixel Art Images Using Any Design (In ASCII Text) In Any Colors; Incl. 2X/4X/8X Zoom For Bigger Sizes\n- [**Day 3 - mooncats**](pixel/03-mooncats.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Generate Your Own All-25 440-MoonCats In-One Image - mooncatrescue.png Composite (2400×6120)\n- [**Day 4 - cryptopunks**](pixel/04-cryptopunks.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Christie's Nine Colored in Black 'n' White, Ye Olde' Sepia Tone, Blue or Futuristic False 8-Bit Color Palette - Free Punk Downloads - Right-Click and Save Image\n- [**Day 5 - pixelart-characters**](pixel/05-pixelart-characters) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n Generate Pixel Art Characters, Algorithmically - Case Study №1 - 8-Bit Icon Avatar Series (20x20)\n- **Day 6 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n- **Day 7 - :moyai::moyai::moyai: - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)**  - Your tag line here\n\n\n\n### Ruby Open Data Week 2021, March 6th to March 12th - 7 Days of Ruby (Open Data) Gems\n\nWelcome. The Ruby Open Data Week 2021 presents\na new Ruby (open data) library every day from March 6th to March 12th.\n\n\u003c!-- Have your say! Claim a free day! --\u003e\n\nLet's join in and celebrate the (international)\n[Open Data Day 2021](https://opendataday.org/)\nwith a week long\ncelebration of open data gems from the Ruby universe.\n\n\n\n- [**Day 1 - factbook**](opendata/01-factbook.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Turn the World Factbook into Open Structured Data (e.g JSON) - Free Intelligence on the History, People, Government, Economy, Energy, Geography, Communications, Transportation, Military 'n' Terrorism for 260+ Countries\n- [**Day 2 - beerdb**](opendata/02-beerdb.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Serve a Guinness Irish Stout or a Bamberg Aecht Schlenkerla Rauchbier Märzen as JSON - Free Home Delivery\n- [**Day 3 - sportdb**](opendata/03-sportdb.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Read in Sport (Football) Datasets in (Structured) Text Into Your SQL Database of Choice (SQLite, PostgreSQL, etc) - World Cup, English Premier League, Spanish La Liga, Austrian Bundesliga and More\n- [**Day 4 - schemadoc**](opendata/04-schemadoc.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Auto-Generate Your SQL Database Schema Documentation for Tables, Columns, Symbols A-Z, Etc - Use Your Own (Static Jekyll) Themes And More\n- **Bonus!** [**Day 4 - annotate**](opendata/04-annotate.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Annotate Your ActiveRecord Models with Comments about Your Database Table Structure\n- [**Day 5 - csvpack**](opendata/05-csvpack.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Work with Tabular Data Packages (.CSV Files w/ datapackage.json) using SQLite In-Memory (w/ ActiveRecord)\n- [**Day 6 - worldlite**](opendata/06-worldlite.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  All the World's Countries 'n' Codes Incl. ISO (Alpha 2, Alpha 3, Num 3), FIFA, IOC, Internet Domains, Vehicle Registration Plates, 'n' More\n- [**Day 7 - erd**](opendata/07-erd.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Generate Entity-Relationship Diagrams (ERD) for Your ActiveRecord Models\n\n\n\u003c!--\n- **Day 7 - Your gem (write-up) here - Unclaimed, You? - [Yes, you can!](https://github.com/planetruby/gems/issues)** - Your tag line here\n--\u003e\n\n\n\n\n### Ruby Glimmer Days 2021, January 26th to January 29th (and beyond) - 8 Days of Ruby (Desktop) Gems\n\nWelcome. The Ruby Glimmer Days 2021 present\na new Ruby (desktop) library every day from January 26th to January 29th (and beyond).\n\nLet's highlight domain-specific languages\nand desktop apps utilizing widgets and two-way data binding.\n\n\n- [**Day 1 - glimmer**](glimmer/01-glimmer.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Make Desktop Apps Shine Using a Script with Two-Way Data Binding - Inside the Domain-Specific Language Engine / Construction Kit - Beware of Imitators! The Original Since 2007\n- [**Day 2 - glimmer-dsl-swt**](glimmer/02-glimmer-dsl-swt.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Script Standard Widgets from the Eclipse Toolkit with Two-Way Data Binding (incl. Tables with Sorting, Filtering, Multi-Type Editing, and More) - Package Up and Ship Desktop Apps for Mac, Windows 'n' Linux\n- [**Day 3 - glimmer-dsl-tk**](glimmer/03-glimmer-dsl-tk.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Script Widgets the Declarative Way (Say What, Not How) - Tk - The Best-Kept Secret and Evergreen Classic Now in v8.5 with Native Look 'n' Feel on Mac, Windows, and Linux\n- [**Day 4 - glimmer-dsl-opal**](glimmer/04-glimmer-dsl-opal.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Script Web Widgets with Two-Way Data-Binding - Ruby \u003c3 JavaScript - Thanks to Opal, the Ruby to JavaScript Source-to-Source Compiler\n- [**Day 5 - glimmer_tetris**](glimmer/05-glimmer-tetris-playfield.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Glimmer Tetris - The Playfield - Get Tetris Working in One Day!\n- [**Day 6 - glimmer_tetris**](glimmer/06-glimmer-tetris-score_lane.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Glimmer Tetris - The Score Lane - See Your Game Progress!\n- [**Day 7 - glimmer_tetris**](glimmer/07-glimmer-tetris-high-score-dialog-menu-bar-icon.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Glimmer Tetris - High Scores, Menu, \u0026 Icon - Show Others How Good You Are!\n- [**Day 8 - glimmer-dsl-libui**](glimmer/08-glimmer-dsl-libui.md) by {% avatar AndyObtiva size=20 %} [Andy Maleh](https://github.com/AndyObtiva) \u003cbr\u003e\n  Script Cross-Platform Native Controls without Installing Prerequisites - Declarative DSL Syntax That Visually Maps To GUI Hierarchy - Convention over Configuration via Smart Defaults and Automation of Low-level Details\n\n\n\n\n### Ruby Blockchain Week 2021, January 3rd to January 9th - 7 Days of Ruby (Crypto) Gems\n\nWelcome. The Ruby Blockchain Week 2021 presents\na new Ruby (crypto) library every day from January 3rd to January 9th.\n\nLet's celebrate the 11th birthday of the world's first genesis block  -\nthat is, the first block of a blockchain (on January 3rd, 2009) with a week long\ncelebration of crypto gems from the Ruby universe. New to blockchain? See the [Best of Crypto Books page »](https://openblockchains.github.io/crypto-books/)\n\nAll welcome from no coiners to bitcon austrian school of economics \"I HODL! You HODL! We HODL! Number Go UP!\" maximalists to [universum (with secure ruby contract programming) is the new ethereum](https://github.com/s6ruby/universum) world computer blockchainers.\n\n\u003c!--\nYes, you can! Why not highlight a blockchain / cryptos gem with your write-up?\nWe love publishing your posts.  [Open an issue ticket](https://github.com/planetruby/gems/issues) or send in a pull request to get started and your article posted in the Blockchain Week series on Planet Ruby.\n--\u003e\n\n\u003c!--\n:chart_with_upwards_trend::chart_with_upwards_trend::chart_with_upwards_trend:\n--\u003e\n\n- [**Day 1 - compute_unit**](blockchain/01-compute-unit.md) by {% avatar logicminds size=20 %} [Corey Osman](https://github.com/logicminds) \u003cbr\u003e\n  Collect Real Time Metrics 'n' Manage Compute Units (GPU, CPU, and ASICs) for Crypto Mining Rigs\n- [**Day 2 - blockchain-lite**](blockchain/02-blockchain-lite.md)  by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Build Your Own Blockchains with Crypto Hashes. Revolutionize the World one Block at a Time!\n- [**Day 3 - universum**](blockchain/03-universum.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb)  \u003cbr\u003e\n  Operate the Ponzi Governmental - Real World Case Study - Last Creditor (Before Collapse) Wins the Jackpot!\n- [**Day 4 - cryptoquotes**](blockchain/04-cryptoquotes.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb)  \u003cbr\u003e\n  I HODL, You HODL, We HODL! - BREAKING: BITCOIN JUST BROKE $22 000! - Get Free Oracle Sayings About the New New 'In Math We Trust' Ponzi Economics\n- [**Day 5 - elliptic**](blockchain/05-elliptic.md)  by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Open Up 10,000,000,000 Accounts - Bank the Unbanked Using Elliptic Curve (EC) Cryptography and the Digital Signature Algorithm (DSA) - Be Your Own Bank\n- [**Day 6 - kittyverse**](blockchain/06-kittyverse.md)  by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Inside the CryptoKitties 256-Bit Genome - Slice 'n' Dice Unique Bits 'n' Bytes - 48 Genes (12 Traits x 4 P, H1, H2, H3) - Build Your Own CryptoKitties Gene Reader - The Future is Meow\n- [**Day 7 - centralbank**](blockchain/07-centralbank.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Print Your Own Money / Cryptocurrency - Run Your Own Federated Central Bank Nodes on the Blockchain Peer-to-Peer over HTTP\n- **Bonus!** [**Day 7 - merkletree**](blockchain/07-merkletree.md) by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Build Your Own Crypto Hash Trees - Grow Your Own Money on Trees\n\n\n\n\n## 25 Days of Ruby Gems - Ruby Advent Calendar 2020, December 1st - December 25th\n\n\nWelcome. The Ruby Advent Calendar 2020\npresents a new Ruby library every day\nfrom December 1st to December 25th.\n\n\n- [**Day 1 - local_time**](2020/01-local-time.md)  by {% avatar swanson size=20 %} [Matt Swanson](https://github.com/swanson) \u003cbr\u003e\n  Cache-Friendly and Timezone Aware Timestamp Formatting\n- [**Day 2 - elastic-enterprise-search**](2020/02-elastic-enterprise-search.md) by {% avatar picandocodigo size=20 %} [Fernando Briano](https://github.com/picandocodigo) \u003cbr\u003e\n  Workplace Search, App Search, and Site Search All Together\n- [**Day 3 - blazer**](2020/03-blazer.md)  by {% avatar marckohlbrugge size=20 %} [Marc Köhlbrugge](https://github.com/marckohlbrugge) \u003cbr\u003e\n  Explore Your Data with SQL. Easily Create Charts and Dashboards. Business Intelligence (BI) Made Simple\n- [**Day 4 - noticed**](2020/04-noticed.md) by {% avatar excid3 size=20 %} [Chris Oliver](https://github.com/excid3) \u003cbr\u003e\n  Send Notifications Immediately or for Later Delivery (in the Background) via Email, Slack, Text Message, Real-Time ActionCable in the Navbar or Many More Channels\n- [**Day 5 - factory_bot**](2020/05-factory-bot.md) by {% avatar jasonswett size=20 %} [Jason Swett](https://github.com/jasonswett) \u003cbr\u003e\n  \"Hey, Make Me a User with an Email and Password\" - Setup Factories That Make You Fake Objects with Fake Data for Testing\n- [**Day 6 - pay**](2020/06-pay.md)   by {% avatar excid3 size=20 %} [Chris Oliver](https://github.com/excid3) \u003cbr\u003e\n  Accept (One-Time) Payments or Subscriptions with Strong Customer Authentication (SCA) - Billing Engine on Top of Stripe, Braintree or Paddle\n- [**Day 7 - letter_opener**](2020/07-letter-opener.md)  by {% avatar swanson size=20 %} [Matt Swanson](https://github.com/swanson) \u003cbr\u003e\n  Let Your Browser (Automagically) Open-Up Your Email Letters for Previewing. Stop Sending Emails to Yourself for Testing\n- [**Day 8 - acts_as_tenant**](2020/08-acts-as-tenant.md)   by {% avatar excid3 size=20 %} [Chris Oliver](https://github.com/excid3) \u003cbr\u003e\n  Together but Apart. House Many Tenants in One (Shared) Database. Multitenancy with Table Row-Level Database Security\n- [**Day 9 - thegamesdb**](2020/09-thegamesdb.md)   by {% avatar picandocodigo size=20 %} [Fernando Briano](https://github.com/picandocodigo) \u003cbr\u003e\n  Get Donkey Kong, Super Mario Bros., The Legend of Zelda 'n' More. API Client for TheGamesDB, an Open Database for Video Game Data\n- [**Day 10 - happy_gemfile**](2020/10-happy-gemfile.md)   by {% avatar MikeRogers0 size=20 %} [Mike Rogers](https://github.com/MikeRogers0) \u003cbr\u003e\n Stop House Keeping Your Gemfile. (Auto-)Format Your Gems Sorted from A to Z and by Groups. (Auto-)Clean up the Clutter. Happy Gemfile Day!\n- **Bonus!** [**Day 10 - parslet**](2020/10-parslet.md)   by {% avatar rlgreen91 size=20 %} [Rachel Green](https://github.com/rlgreen91) \u003cbr\u003e\n  Build Your Own Language Parsers (and Lexers) with Parsing Expression Grammars (PEGs)\n- [**Day 11 - boring_generators**](2020/11-boring-generators.md)   by {% avatar abhaynikam size=20 %} [Abhay Nikam](https://github.com/abhaynikam)  \u003cbr\u003e\n  10x Development - Speed-Up Your Coding By Automating and Generating Boring Setups\n- [**Day 12 - matestack-ui-core**](2020/12-matestack-ui-core.md)   by {% avatar pascalwengerter size=20 %} [Pascal Wengerter](https://github.com/pascalwengerter) \u003cbr\u003e\n  Write Web Components in an (HTML) Domain-Specific (Mini) Language (DSL) Getting (Automagically) Turned Into Modern (Reactive) Web Views on Top of Vue.js\n- [**Day 13 - lumione**](2020/13-lumione.md)   by {% avatar ledestin size=20 %} [Dmitry Maksyoma](https://github.com/ledestin)  \u003cbr\u003e\n  Money. Money. Money. Convert NZD ($) to USD ($) or EUR (€) to JPY (¥) in Your Terminal using the European Central Bank (ECB) Reference Exchange Rates. No API Key Required. Yes, Works Offline\n- [**Day 14 - que-scheduler**](2020/14-que-scheduler.md)    by {% avatar hlascelles size=20 %} [Harry Lascelles](https://github.com/hlascelles) \u003cbr\u003e\n  Light-Weight (Time-Driven) Cron (Background) Job Scheduler for Que - a Job Queue Using the PostgreSQL Database with Advisory Locks for Speed and Reliability\n- [**Day 15 - avo**](2020/15-avo.md)    by {% avatar adrianthedev size=20 %} [Adrian Marin](https://github.com/adrianthedev)  \u003cbr\u003e\n  (Auto-)Build Beautiful Admin Dashboards and Panels for Your Active Record (Database) Models (Incl. File Attachments) with Configuration in Code\n- [**Day 16 - bridgetown**](2020/16-bridgetown.md)    by {% avatar pascalwengerter size=20 %} [Pascal Wengerter](https://github.com/pascalwengerter)  \u003cbr\u003e\n  Build Websites (and Apps) the Classic (Static) Compiler Way - Use the Latest JavaScript (Yes, Webpack Out-of-the-Box) or CSS Packages - Fast and Secure By Default\n- [**Day 17 - any_login**](2020/17-any_login.md)   by {% avatar igorkasyanchuk size=20 %} [Igor Kasyanchuk](https://github.com/igorkasyanchuk)  \u003cbr\u003e\n  Speed Up Testing Allowing One-Click Turbologins® Without Passwords as Any User in the System. Switching User (Accounts) Made Easy (and Faster)\n- [**Day 18 - dentaku**](2020/18-dentaku.md)    by {% avatar jankeesvw size=20 %} [Jankees van Woezik](https://github.com/jankeesvw)  \u003cbr\u003e\n  Parse and Evaluate Math (and Logical Formulas) with a Calculator in a Sandbox, Safely\n- **Bonus!** [**Day 18 - henkei**](2020/18-henkei.md)   by {% avatar swanson size=20 %} [Matt Swanson](https://github.com/swanson)  \u003cbr\u003e\n  Read Text and Meta Data from Word, PowerPoint, and PDF Files\n- [**Day 19 - quik**](2020/19-quik.md)    by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb)  \u003cbr\u003e\n  Quick Starter Template Script Wizard - The Missing Code Generator and Project Scaffolder for Gems, Sinatra, Jekyll 'n' More\n- [**Day 20 - lhs and lhc**](2020/20-lhs-lhc.md)    by {% avatar marcoroth size=20 %} [Marco Roth](https://github.com/marcoroth) \u003cbr\u003e\n   Easy Active Record-Like Interfaces for Accessing HTTP JSON APIs - Smarter Higher-Level HTTP Service and Lower-Level HTTP Client\n- [**Day 21 - super_diff**](2020/21-super_diff.md)    by {% avatar mcmire size=20 %} [Elliot Winkler](https://github.com/mcmire)  \u003cbr\u003e\n   A More Helpful Way to View Differences Between Complex Data Structures in Test Spec(ification)s\n- **Bonus!** [**Day 21 - addressable**](2020/21-addressable.md)    by {% avatar soulcutter size=20 %}  [Bradley Schaefer](https://github.com/soulcutter)  \u003cbr\u003e\n   The Uniform Resource Identifier (URI) Class that Should be Standard (Incl. Templates 'n' More)\n- [**Day 22 - active_record-events**](2020/22-active-record-events.md)    by {% avatar pienkowb size=20 %} [Bartosz Pieńkowski](https://github.com/pienkowb)  \u003cbr\u003e\n   Complete? Record Your Own Timestamps in Active Record Models with has_event Macro, Automagically\n- [**Day 23 - json-next**](2020/23-json-next.md)    by {% avatar geraldb size=20 %} [Gerald Bauer](https://github.com/geraldb) \u003cbr\u003e\n  Read Next Generation JSON Versions (HanSON, SON, JSONX/JSON11, Etc) with Comments, Unquoted Keys, Multi-Line Strings, Trailing Commas, Optional Commas, and More\n- [**Day 24 - git_reflow**](2020/24-git-reflow.md)     by {% avatar codenamev size=20 %} [Valentino Stoll](https://github.com/codenamev)  \u003cbr\u003e\n   Automate Your Git Workflow for You and Your Team. Build Your Own Git (Command Line) Commands\n- [**Day 25 - hexapdf**](2020/25-hexapdf.md)    by {% avatar gettalong size=20 %} [Thomas Leitner](https://github.com/gettalong)  \u003cbr\u003e\n   Read and Write PDF Documents. Start from Zero or Merge, Extract, Optimize and Much More\n\n\n\n## Archive\n\n### Ruby Gem of the Week Series\n\nWelcome. The Ruby Gem of the Week series\npresents a new Ruby library every week on Thursday.\nHave your say!\n\n\u003c!--\nDo you have a Ruby gem that you'd like to write about?\nWe love your posts.\n[Open an issue ticket](https://github.com/planetruby/gems/issues)\nor send in a pull request\nto get the conversation started and your article posted on Planet Ruby.\n--\u003e\n\n- [**Week 1 - hoe**](week/01-hoe.md) - build, package and publish gems with hoe rake tasks\n- [**Week 2 - slideshow**](week/02-slideshow.md) - a free web alternative to PowerPoint and Keynote in Ruby\n- [**Week 3 - kramdown**](week/03-kramdown.md) - turn easy-to-read and easy-to-write wiki-style plain text in markdown into hypertext\n- [**Week 4 - feedparser**](week/04-feedparser.md) - web feed parser and normalizers (for RSS 2.0, Atom, n friends)\n- [**Week 5 - gli**](week/05-gli.md) - git-like interfaces for awesome command-line tools\n- [**Week 6 - state_machine(s)**](week/06-state-machine.md) - model processes and work flows with finite state machines (FSM) and automata theory\n- [**Week 7 - logutils**](week/07-logutils.md) - yet another (lightweight, simple) logging library in Ruby\n- [**Week 8 - props**](week/08-props.md) - yet another config (INI) reader in Ruby\n- [**Week 9 - html-proofer**](week/09-html-proofer.md) - auto-proofread (check and validate) your hypertext (HTML) pages\n- [**Week 10 - tilt**](week/10-tilt.md) - let's build (yet another) micro web framework in less than 33 lines of code\n- [**Week 11 - journaltxt**](week/11-journaltxt.md) - Blogging reinvented: Read Journal.TXT - single-text file journals - and write out (auto-build) a blog (w/ Jekyll posts etc.)\n- [**Week 12 - almost-sinatra**](week/12-almost-sinatra.md) - Build your own webframework from scratch with Rack and Tilt in less than ten lines; six lines of Almost Sinatra \"unobfuscated\" and bundled up for easy (re)use\n- [**Week 13 - webservice**](week/13-webservice.md) - Script HTTP JSON APIs (web services) in classy Sinatra 2.0-style get / post methods with Mustermann 1.0 route / url pattern matching; load (micro) web services at-runtime and more\n- [**Week 14 - feedtxt**](week/14-feedtxt.md) - Read Feed.TXT - feeds in text (unicode); publish \u0026 share posts, articles, podcasts, 'n' more\n- [**Week 15 - jekyll-octopod**](week/15-jekyll-octopod.md) - Publish your own radio talk shows; podcast extension for building (static) websites with Jekyll; incl. podcast web feeds with RSS enclosures and JSON Feed attachments in the OGG, MP3 or M4A audio formats. Written by [Stefan Haslinger](https://rubygems.org/profiles/informatom) {% avatar haslinger size=20 %}\n- [**Week 16 - pluto**](week/16-pluto.md) - Auto-build web pages from published web feeds; planet (static) website generator\n- [**Week 17 - eventdb**](week/17-eventdb.md) - Build your own What's On / What's Up event calendar from READMEs in (structured) text; read in (awesome) ruby conferences from around the world\n- [**Week 18 - officetxt**](week/18-officetxt.md) - Write notes, articles, journals, presentations, websites, blogs, manuscripts, books \u0026 more; the free writer's command line tool suite works w/ any text editor; uses future-proof text formats\n\n\n\n\u003c!--\nAnd many more\n\n[**metasm**](https://github.com/jjyg/metasm), an assembly manipulation suite\n\n\u003e My all time favourite piece of work that hardly anybody knows about. Metasm compiles / decompiles\n\u003e about a dozen cpus and a handful of binary formats. In 100% ruby.\n\u003e\n\u003e -- [Torsten Rüger](https://github.com/dancinglightning) {% avatar dancinglightning size=20 %}\n\n    not heard back so far\n[**moneta**](https://github.com/minad/moneta), a unified interface to key/value stores\n\n\u003e Moneta provides a standard interface for interacting with various\n\u003e kinds of key/value stores. Moneta supports the well-known NoSQL and document based stores.\n\u003e It's kinda like Tilt, but for key-value stores.\n\u003e\n\u003e -- [Arnaud Berthomier](https://github.com/oz) {% avatar oz size=20 %}\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanetruby%2Fgems","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplanetruby%2Fgems","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanetruby%2Fgems/lists"}