{"id":18319744,"url":"https://github.com/redding/hella-redis","last_synced_at":"2026-04-26T23:31:08.938Z","repository":{"id":7209607,"uuid":"8515311","full_name":"redding/hella-redis","owner":"redding","description":"It's-a hella-redis","archived":false,"fork":false,"pushed_at":"2021-06-14T14:36:59.000Z","size":39,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-28T11:49:38.602Z","etag":null,"topics":["connection-pool","redis","redis-client"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-02T04:05:48.000Z","updated_at":"2021-05-07T14:52:09.000Z","dependencies_parsed_at":"2022-08-24T20:11:10.813Z","dependency_job_id":null,"html_url":"https://github.com/redding/hella-redis","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/redding/hella-redis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redding%2Fhella-redis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redding%2Fhella-redis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redding%2Fhella-redis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redding%2Fhella-redis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redding","download_url":"https://codeload.github.com/redding/hella-redis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redding%2Fhella-redis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32317162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["connection-pool","redis","redis-client"],"created_at":"2024-11-05T18:14:08.703Z","updated_at":"2026-04-26T23:31:08.876Z","avatar_url":"https://github.com/redding.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HellaRedis\n\nIt's-a hella-redis!\n\nThis gem is a wrapper that builds a connection pool of redis connections.  It also provides spies and test mode behavior to ease testing redis interactions.\n\n## Usage\n\n```ruby\n# create\n@redis =\n  HellaRedis.new(\n    timeout:  1,\n    size:     5,\n    redis_ns: \"hella-redis-test\",\n    driver:   \"ruby\",\n    url:      \"redis://localhost:6379/0\"\n  ) # =\u003e HellaRedis:ConnectionPool instance\n\n# it's actually a pool of connections\n@redis.connection do |connection|\n  # checks out a connection so you can do something with it\n  # will check it back in once the block has run\nend\n```\n\n### Test Mode\n\n```ruby\nENV[\"HELLA_REDIS_TEST_MODE\"] = \"yes\" # set to anything \"truthy\"\n\n@redis_spy =\n  HellaRedis.new({\n    timeout:  1,\n    size:     5,\n    redis_ns: \"hella-redis-test\",\n    driver:   \"ruby\",\n    url:      \"redis://localhost:6379/0\"\n  }) # =\u003e HellaRedis::ConnectionPoolSpy instance\n\n@redis_spy.connection do |connection|\n  connection # =\u003e HellaRedis::ConnectionSpy instance\n  connection.info\nend\n\n@redis_spy.calls.size # =\u003e 1\n@redis_spy.calls.first.tap do |call|\n  call.command # =\u003e :info\n  call.args    # =\u003e nil\n  call.block   # =\u003e nil\nend\n\n@redis_spy.connection_calls.size # =\u003e 1\n@redis_spy.connection_calls.first.tap do |connection_call|\n  connection_call.block # =\u003e block instance\nend\n\nAssert.stub(@redis_spy.connection_spy, :get).with(\"some-key\"){ \"some-value\" }\nvalue = @redis_spy.connection do |connection|\n  connection.get(\"some_key\")\nend\nassert_that(\"some-value\").equals(value)\n@redis_spy.calls.size # =\u003e 1 (unchanged b/c we stubbed the :get method)\n```\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem \"hella-redis\"\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install hella-redis\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Added some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredding%2Fhella-redis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredding%2Fhella-redis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredding%2Fhella-redis/lists"}