{"id":18632284,"url":"https://github.com/zurb/helio-ruby","last_synced_at":"2025-11-04T07:30:21.280Z","repository":{"id":49118761,"uuid":"114182953","full_name":"zurb/helio-ruby","owner":"zurb","description":"Helio Ruby API Wrapper","archived":false,"fork":false,"pushed_at":"2021-06-28T09:15:05.000Z","size":224,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-27T07:42:16.723Z","etag":null,"topics":[],"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/zurb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-12-14T00:29:11.000Z","updated_at":"2019-12-19T23:49:53.000Z","dependencies_parsed_at":"2022-09-13T17:51:18.314Z","dependency_job_id":null,"html_url":"https://github.com/zurb/helio-ruby","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zurb","download_url":"https://codeload.github.com/zurb/helio-ruby/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239426984,"owners_count":19636655,"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","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":[],"created_at":"2024-11-07T05:11:08.470Z","updated_at":"2025-11-04T07:30:21.230Z","avatar_url":"https://github.com/zurb.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Helio Ruby Library\n\n### THIS GEM IS NOT PRODUCTION READY\nThe first production release will be version 1.0.0. Until then, consider this gem unstable as the Helio API is in flux.\n\n## Installation\n\nYou don't need this source code unless you want to modify the gem. If you just\nwant to use the package, just run:\n\n    gem install helio-ruby\n\nIf you want to build the gem from source:\n\n    gem build helio-ruby.gemspec\n\n### Requirements\n\n* Ruby 2.0+.\n\n### Bundler\n\nIf you are installing via bundler, you should be sure to use the https rubygems\nsource in your Gemfile, as any gems fetched over http could potentially be\ncompromised in transit and alter the code of gems fetched securely over https:\n\n``` ruby\nsource 'https://rubygems.org'\n\ngem 'rails'\ngem 'helio-ruby'\n```\n\n## Usage\n\nThe library needs to be configured with your account's secret key which is\navailable in your [Helio Dashboard][api-keys]. Set `Helio.api_token` to its\nvalue:\n\n``` ruby\nrequire \"helio\"\nHelio.api_id = \"...\"\nHelio.api_token = \"...\"\n\n# list participants\nHelio::Participant.list()\n\n# retrieve single participant\nHelio::Participant.retrieve(\n  \"id\",\n)\n```\n\n### Per-request Configuration\n\nIt's also possible to set a per-request key and/or account:\n\n``` ruby\nrequire \"helio\"\n\nHelio::Participant.list(\n  {},\n  :api_token =\u003e \"...\",\n  :api_id =\u003e \"...\"\n)\n\nHelio::Participant.retrieve(\n  \"id\",\n  :api_token =\u003e \"...\",\n  :api_id =\u003e \"...\"\n)\n```\n\n### Configuring a Client\n\nWhile a default HTTP client is used by default, it's also possible to have the\nlibrary use any client supported by [Faraday][faraday] by initializing a\n`Helio::HelioClient` object and giving it a connection:\n\n``` ruby\nconn = Faraday.new\nclient = Helio::HelioClient.new(conn)\nparticipant, resp = client.request do\n  Helio::Participant.retrieve(\n    \"id\",\n  )\nend\nputs resp.request_id\n```\n\n### Configuring CA Bundles\n\nBy default, the library will use its own internal bundle of known CA\ncertificates, but it's possible to configure your own:\n\n    Helio.ca_bundle_path = \"path/to/ca/bundle\"\n\n### Configuring Automatic Retries\n\nThe library can be configured to automatically retry requests that fail due to\nan intermittent network problem:\n\n    Helio.max_network_retries = 2\n\n### Configuring Timeouts\n\nOpen and read timeouts are configurable:\n\n```ruby\nHelio.open_timeout = 30 // in seconds\nHelio.read_timeout = 80\n```\n\nPlease take care to set conservative read timeouts. Some API requests can take\nsome time, and a short timeout increases the likelihood of a problem within our\nservers.\n\n### Logging\n\nThe library can be configured to emit logging that will give you better insight\ninto what it's doing. The `info` logging level is usually most appropriate for\nproduction use, but `debug` is also available for more verbosity.\n\nThere are a few options for enabling it:\n\n1. Set the environment variable `HELIO_LOG` to the value `debug` or `info`:\n   ```\n   $ export HELIO_LOG=info\n   ```\n\n2. Set `Helio.log_level`:\n   ``` ruby\n   Helio.log_level = Helio::LEVEL_INFO\n   ```\n\n### Writing a Plugin\n\nIf you're writing a plugin that uses the library, we'd appreciate it if you\nidentified using `#set_app_info`:\n\n    Helio.set_app_info(\"MyAwesomePlugin\", version: \"1.2.34\", url: \"https://myawesomeplugin.info\");\n\nThis information is passed along when the library makes calls to the Helio\nAPI.\n\n## Development\n\nRun the linter:\n\n    bundle exec rake rubocop\n\nUpdate bundled CA certificates from the [Mozilla cURL release][curl]:\n\n    bundle exec rake update_certs\n\n\u003c!--\n# vim: set tw=79:\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzurb%2Fhelio-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzurb%2Fhelio-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzurb%2Fhelio-ruby/lists"}