{"id":15407087,"url":"https://github.com/bih/userq","last_synced_at":"2025-03-01T14:30:29.026Z","repository":{"id":12703853,"uuid":"15376324","full_name":"bih/userq","owner":"bih","description":"A user queuing system for Rails","archived":false,"fork":false,"pushed_at":"2015-03-27T12:58:42.000Z","size":380,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-23T16:43:15.962Z","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/bih.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-22T14:04:13.000Z","updated_at":"2023-10-08T07:29:54.000Z","dependencies_parsed_at":"2022-09-02T12:22:33.831Z","dependency_job_id":null,"html_url":"https://github.com/bih/userq","commit_stats":null,"previous_names":["studenthack/userq"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fuserq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fuserq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fuserq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fuserq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bih","download_url":"https://codeload.github.com/bih/userq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":220057437,"owners_count":16589101,"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-10-01T16:27:01.660Z","updated_at":"2024-10-17T12:41:16.808Z","avatar_url":"https://github.com/bih.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UserQ: Simple User Queues for Rails\n\nUserQ allows you to **very quickly** integrate awesome user-based queues into your Rails application. Many large ticketing websites such as [Ticketmaster](http://www.ticketmaster.com) use queues as a means of user experience.\n\n[![Build Status](https://travis-ci.org/studenthack/userq.png?branch=master)](https://travis-ci.org/studenthack/userq)\n[![Dependency Status](https://gemnasium.com/studenthack/userq.png)](https://gemnasium.com/studenthack/userq)\n![Gen Version](https://d25lcipzij17d.cloudfront.net/badge.png?title=gem\u0026type=3c\u0026v=0.0.3)\n\n![Screenshot](http://i.imgur.com/uqYjMyF.gif)\n\n### Example code\n```ruby\nqueue = UserQ::Queue.new(capacity: 50)\n\n## Can we enter the queue?\nif queue.enter_into_queue?\n\tentry = queue.enter\n\t# They have a place in the queue. Sell them a ticket!\nelse\n\t# No place in queue. Run this block again after n seconds.\nend\n\n# Default expiry: 180 seconds\nputs entry.expires # =\u003e 180\nsleep(5)\nputs entry.expires # =\u003e 175\n```\n\n### How does it work?\nTell it how much you capacity you have (i.e. how many available tickets are left) and then UserQ does its beautiful magic. Some of the questions you can ask UserQ:\n\n* How many \"people\" are in the queue?\n* When does the current users spot in the queue expire?\n* When do you think another spot in the queue will open? (i.e. average wait time)\n* Can I extend/shorten the current users spot in the queue?\n\n### Install\n```\nInstall the gem:\n$ gem install userq\n\nInstall the database model (automatically migrates):\n$ rails generate userq:install\n\nYou're all setup!\n```\n\n\n### UserQ Documentation\nSee the [full documentation on the Wiki](https://github.com/studenthack/userq/wiki/Documentation#getting-started) to see what you can do with UserQ.\n\n\n### Roadmap\n- Lots of more awesome looking tests\n- Develop the UserQ Wiki\n- Assign queue places in a chronological order (first into queue = first entry) instead of randomly\n\n### Release History\n- 25/12/13: Fixed bug in using custom data (and tests added for it)\n- 23/12/13: The initial version\n\n### LICENCE\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbih%2Fuserq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbih%2Fuserq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbih%2Fuserq/lists"}