{"id":13394943,"url":"https://github.com/activerecord-hackery/ransack","last_synced_at":"2026-02-13T03:20:44.494Z","repository":{"id":37431815,"uuid":"1548802","full_name":"activerecord-hackery/ransack","owner":"activerecord-hackery","description":"Object-based searching. ","archived":false,"fork":false,"pushed_at":"2025-03-26T18:44:32.000Z","size":6134,"stargazers_count":5757,"open_issues_count":165,"forks_count":815,"subscribers_count":92,"default_branch":"main","last_synced_at":"2025-05-05T17:34:49.204Z","etag":null,"topics":["activerecord","rails","ruby","ruby-gem","ruby-library","ruby-on-rails","search","search-interface","sql"],"latest_commit_sha":null,"homepage":"https://activerecord-hackery.github.io/ransack/","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/activerecord-hackery.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"tidelift":"rubygems/ransack"}},"created_at":"2011-03-31T00:34:25.000Z","updated_at":"2025-05-05T10:05:04.000Z","dependencies_parsed_at":"2024-02-10T15:23:29.442Z","dependency_job_id":"53664d34-dc01-4b1e-a714-af4120dfc8fd","html_url":"https://github.com/activerecord-hackery/ransack","commit_stats":{"total_commits":1478,"total_committers":238,"mean_commits":"6.2100840336134455","dds":0.5751014884979702,"last_synced_commit":"2d56e78f860bbceec9f52fa7ec5a0cce6bb0702b"},"previous_names":["ernie/ransack"],"tags_count":80,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activerecord-hackery%2Fransack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activerecord-hackery%2Fransack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activerecord-hackery%2Fransack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activerecord-hackery%2Fransack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/activerecord-hackery","download_url":"https://codeload.github.com/activerecord-hackery/ransack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252543145,"owners_count":21765090,"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":["activerecord","rails","ruby","ruby-gem","ruby-library","ruby-on-rails","search","search-interface","sql"],"created_at":"2024-07-30T17:01:36.932Z","updated_at":"2026-02-13T03:20:44.489Z","avatar_url":"https://github.com/activerecord-hackery.png","language":"Ruby","readme":"# ![Ransack](./docs/static/logo/ransack-h.png \"Ransack\")\n\n[![Build Status](https://github.com/activerecord-hackery/ransack/workflows/test/badge.svg)](https://github.com/activerecord-hackery/ransack/actions)\n[![Gem Version](https://badge.fury.io/rb/ransack.svg)](http://badge.fury.io/rb/ransack)\n[![Code Climate](https://codeclimate.com/github/activerecord-hackery/ransack/badges/gpa.svg)](https://codeclimate.com/github/activerecord-hackery/ransack)\n[![Backers on Open Collective](https://opencollective.com/ransack/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/ransack/sponsors/badge.svg)](#sponsors)\n\n# Introduction\n\nRansack will help you easily add **searching to your Rails application**, without any additional dependencies.\n\nThere are advanced searching solutions around, like ElasticSearch or Algolia. **Ransack** will do the job for many Rails websites, without the need to run additional infrastructure or work in a different language. With Ransack you do it all with standard Ruby and ERB.\n\nReady to move beyond the basics? Use **advanced features** like i18n and extensive configuration options.\n\nRansack is supported for Rails 8.0, 7.2 on Ruby 3.1 and later.\n\n## Installation\n\nTo install `ransack` and add it to your Gemfile, run\n\n```ruby title='Gemfile'\ngem 'ransack'\n```\n\n### Bleeding edge\n\nIf you would like to use the latest updates not yet published to RubyGems, use the `main` branch:\n\n```ruby title='Gemfile'\ngem 'ransack', :github =\u003e 'activerecord-hackery/ransack', :branch =\u003e 'main'\n```\n\n### Documentation\n\nThere is [extensive documentation on Ransack](https://activerecord-hackery.github.io/ransack/), which is a [Docusaurus](https://docusaurus.io/) project and run as a GitHub Pages site. Alternatively there is [AI Generated documentation](https://deepwiki.com/activerecord-hackery/ransack/1-overview) produced by [devin.ai](https://devin.ai/).\n\nThis [gist](https://gist.github.com/raghubetina/d5fc3df67ddbadcac271) has a quick-start cheatsheet, created by [@raghubetina](https://gist.github.com/raghubetina)\n\n## Issue tracker\n\n* Before filing an issue, please read the [Contributing Guide](CONTRIBUTING.md).\n* File an issue if a bug is caused by Ransack, is new (has not already been reported), and _can be reproduced from the information you provide_.\n* Please consider creating a pull request with a failing test that demonstrates the problem.\n* Contributions are welcome. :smiley:\n* Please do not use the issue tracker for personal support requests. Stack Overflow or [GitHub Discussions](https://github.com/activerecord-hackery/ransack/discussions) is a better place for that where a wider community can help you!\n\n\n## Contributions\n\nTo support the project:\n\n* Consider supporting us via [Open Collective](https://opencollective.com/ransack/backers/badge.svg)\n* Use Ransack in your apps, and let us know if you encounter anything that's\nbroken or missing. A failing spec to demonstrate the issue is awesome. A pull\nrequest with passing tests is even better!\n* Before filing an issue or pull request, be sure to read and follow the\n[Contributing Guide](CONTRIBUTING.md).\n* Please use Stack Overflow or [GitHub Discussions](https://github.com/activerecord-hackery/ransack/discussions) for questions or discussion not\ndirectly related to bug reports, pull requests, or documentation improvements.\n* Spread the word on social media if Ransack's been useful\nto you. The more people who are using the project, the quicker we can find and\nfix bugs!\n\n## Contributors\n\nRansack was created by [Ernie Miller](http://twitter.com/erniemiller) and is developed and maintained by:\n* [Sean Carroll](https://github.com/scarroll32)\n* [Deivid Rodriguez](https://github.com/deivid-rodriguez)\n* [Greg Molnar](https://github.com/gregmolnar)\n* [A great group of contributors](https://github.com/activerecord-hackery/ransack/graphs/contributors).\n- Ransack's logo is designed by [Anıl Kılıç](https://github.com/anilkilic).\n\nAlumni Maintainers\n- [Jon Atack](http://twitter.com/jonatack)\n- [Ryan Bigg](http://twitter.com/ryanbigg)\n\nThis project exists thanks to all the people who contribute. \u003cimg src=\"https://opencollective.com/ransack/contributors.svg?width=890\u0026button=false\" /\u003e\n\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/ransack#backer)]\n\n\u003ca href=\"https://opencollective.com/ransack#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/backers.svg?width=890\" /\u003e\u003c/a\u003e\n\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/ransack#sponsor)]\n\n\u003ca href=\"https://opencollective.com/ransack/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/0/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/1/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/2/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/3/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/4/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/5/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/6/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/7/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/8/avatar.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ransack/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ransack/sponsor/9/avatar.svg\" /\u003e\u003c/a\u003e\n","funding_links":["https://tidelift.com/funding/github/rubygems/ransack","https://opencollective.com/ransack"],"categories":["Ruby","Searching","搜索","Gems","WebSocket","Search"],"sub_categories":["Omniauth","Search","Articles"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factiverecord-hackery%2Fransack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factiverecord-hackery%2Fransack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factiverecord-hackery%2Fransack/lists"}