{"id":18318378,"url":"https://github.com/tether/actionpusher","last_synced_at":"2025-07-18T03:04:35.478Z","repository":{"id":16366486,"uuid":"19116665","full_name":"tether/actionpusher","owner":"tether","description":"Apple Push Notifications for Rails. Compose and deliver push notifications for iOS using an ActionMailer inspired interface","archived":false,"fork":false,"pushed_at":"2015-05-19T15:01:15.000Z","size":162,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-25T18:07:38.565Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/tether.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":"2014-04-24T17:02:13.000Z","updated_at":"2014-09-12T19:54:16.000Z","dependencies_parsed_at":"2022-09-13T20:53:55.867Z","dependency_job_id":null,"html_url":"https://github.com/tether/actionpusher","commit_stats":null,"previous_names":["petrofeed/actionpusher"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tether%2Factionpusher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tether%2Factionpusher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tether%2Factionpusher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tether%2Factionpusher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tether","download_url":"https://codeload.github.com/tether/actionpusher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054218,"owners_count":21039951,"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-05T18:09:17.188Z","updated_at":"2025-04-09T13:54:00.347Z","avatar_url":"https://github.com/tether.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Action Pusher\n============\n\nActionPusher is an ActionMailer inspired gem to make sending push notifications from Rails as easy as sending emails.\n\nTo use, require the gem inside your `Gemfile`:\n\n```\ngem 'actionpusher', require: 'action_pusher'\n```\n\nMake sure your `.pem` files are under `config/certificates`. Then create a `config/certificates.yml` file and a setup for each environment. Here's an example with a `development` and `production` configuration:\n\n```\ndevelopment:\n  name: 'push-notification-development.pem'\n\nproduction:\n  name: 'push-notification-production.pem'\n```\n\nThen you can define a push sender. We define our pushers inside of `app/pushers` like so:\n\n```\n# app/pushers/my_pusher.rb\n\nclass MyPusher \u003c ActionPusher::Base\n  def send_a_push_notification\n    push(tokens: ['an', 'array', 'of', 'device', 'tokens'],\n      message: 'message being sent',\n      data: 'extra data sent with the push notification')\n  end\nend\n```\n\nYour push notifications can then be called like a standard Rails mailer:\n\n```\nMyPusher.send_a_push_notification.deliver\n```\n\nIn the event that you're using `Delayed::Job` for your background processing, you can work with it in the same way that\nActionMailer would:\n\n```\nMyPusher.delay.send_a_push_notification\n```\n\n## TODO\n\n* Implement [interceptor pattern](https://github.com/rails/rails/blob/980cdd30dc06e7cdf3490062731bb9f14789daec/actionmailer/lib/action_mailer/base.rb#L463)\n* \u003cstrike\u003eYAML based configuration for pem files\u003c/strike\u003e\n* \u003cstrike\u003eGet working with DelayedJob: `MyPusher.delay.send_a_push_notification`\u003c/strike\u003e\n\n## Copyright\n\nCopyright (c) 2014 PetroFeed. See [LICENSE](https://github.com/PetroFeed/actionpusher/blob/master/LICENSE) for further details.\n\n---\n\nProudly brought to you by [PetroFeed](http://PetroFeed.com).\n\n![Pedro](https://www.petrofeed.com/img/company/pedro.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftether%2Factionpusher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftether%2Factionpusher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftether%2Factionpusher/lists"}