{"id":22546616,"url":"https://github.com/prx/prx_access","last_synced_at":"2025-03-28T08:45:57.110Z","repository":{"id":46069021,"uuid":"161832704","full_name":"PRX/prx_access","owner":"PRX","description":"Access the PRX Hypermedia HAL APIs.","archived":false,"fork":false,"pushed_at":"2021-11-16T18:56:35.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-05T13:42:14.937Z","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/PRX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-14T19:41:32.000Z","updated_at":"2021-11-16T18:56:14.000Z","dependencies_parsed_at":"2022-08-19T21:11:31.918Z","dependency_job_id":null,"html_url":"https://github.com/PRX/prx_access","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRX%2Fprx_access","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRX%2Fprx_access/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRX%2Fprx_access/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRX%2Fprx_access/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRX","download_url":"https://codeload.github.com/PRX/prx_access/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245999320,"owners_count":20707554,"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-12-07T15:08:22.667Z","updated_at":"2025-03-28T08:45:57.090Z","avatar_url":"https://github.com/PRX.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PrxAccess\n\nWelcome to PRX Access. This gem allows programmatic api access to the PRX HAL apis.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'prx_access'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install prx_access\n\n## Usage\n\nPRXAccess is meant to be used as a mixin for your classes. Here's a\nshort example of how to fetch podcasts from feeder in Ruby:\n\n```\nRunning via Spring preloader in process 35676\nLoading development environment (Rails 4.2.10)\nirb(main):001:0\u003e include PRXAccess\n=\u003e Object\nirb(main):002:0\u003e feeder_api = api(root: feeder_root)\n=\u003e #\u003cPRXAccess::PRXHyperResource:0x3fce3bda28e0 @root=\"https://feeder.prx.org/api/v1\" @href=nil @loaded=false @namespace=\"PRXAccess::PRXHyperResource\" ...\u003e\nirb(main):003:0\u003e root_api = feeder_api.get\n=\u003e #\u003cPRXAccess::PRXHyperResource:0x3fce3bd1be08 @root=\"https://feeder.prx.org/api/v1\" @href=\"/api/v1\" @loaded=true @namespace=\"PRXAccess::PRXHyperResource\" ...\u003e\nirb(main):004:0\u003e podcasts_api = root_api.podcasts.first\n=\u003e #\u003cPRXAccess::PRXHyperResource::Link:0x00007f9c779ee510 @resource=#\u003cPRXAccess::PRXHyperResource:0x3fce3bd1be08 @root=\"https://feeder.prx.org/api/v1\" @href=\"/api/v1\" @loaded=true @namespace=\"PRXAccess::PRXHyperResource\" ...\u003e, @base_href=\"/api/v1/podcasts{?page,per,zoom}\", @name=nil, @templated=true, @params={}, @default_method=\"get\", @headers={}, @type=nil, @profile=\"http://meta.prx.org/model/collection/podcasts\"\u003e\nirb(main):005:0\u003e podcasts_api.get.body\n=\u003e {\"count\"=\u003e10, \"total\"=\u003e122, \"_embedded\"=\u003e{\"prx:items\"=\u003e[  ... \u003csnip json\u003e\n```\n\nIt's also possible to chain the calls:\n\n```ruby\napi(root: feeder_root)\n\t.get\n\t.podcasts.first\n\t.get\n\t.body\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies.\nThen, run `rake` to run the tests. You can also run `bin/console`\nfor an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake\ninstall`. To release a new version, update the version number in\n`version.rb`, and then run `bundle exec rake release`, which will create\na git tag for the version, push git commits and tags, and push the\n`.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at\nhttps://github.com/[USERNAME]/prx_access. This project is intended to be\na safe, welcoming space for collaboration, and contributors are expected\nto adhere to the [Contributor Covenant](http://contributor-covenant.org)\ncode of conduct.\n\n## Code of Conduct\n\nEveryone interacting in the PrxAccess project’s codebases, issue\ntrackers, chat rooms and mailing lists is expected to follow the [code\nof\nconduct](https://github.com/[USERNAME]/prx_access/blob/master/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprx%2Fprx_access","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprx%2Fprx_access","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprx%2Fprx_access/lists"}