awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
activerecord-hackery avatar

activerecord-hackery/ransack

0
View on GitHub↗
5,864 stars·824 forks·Ruby·MIT·10 viewsactiverecord-hackery.github.io/ransack↗

Ransack

Ransack is an object-based search library for Active Record models that provides a form-driven framework for building database queries. It generates query conditions from user input through a configurable predicate system, allowing developers to filter records using simple or advanced criteria without writing SQL or relying on external dependencies.

The library distinguishes itself through its predicate-based query construction, where search methods are dynamically generated from model attribute names and predicate suffixes at runtime. It wraps search parameters into a dedicated form object that encapsulates query logic, sorting, and pagination state, while implementing sorting as named scopes that translate sort parameters into ordered SQL clauses. Ransack also supports internationalization, localizing predicate names and form labels through a translation layer that maps internal keys to locale strings.

The system enables building complex search interfaces by combining multiple predicates with logical operators, supporting association-based filtering and advanced conditions like matchers and sorting. Search behavior can be customized globally through a centralized configuration system that defines available predicates, default sorting, and attribute matching rules.

Documentation and configuration are handled through a configuration-driven predicate registry that maps operator names to SQL fragments, with setup available through standard Ruby gem installation and Active Record integration.

Features

  • Search DSLs - Provides an object-based search DSL for building complex database queries with Active Record models.
  • Active Record Search Forms - Create search forms for database models using simple predicates to filter records without writing queries.
  • Cross-Model Search - Provides a form-driven search framework for querying Active Record models across multiple tables.
  • Database Record Querying - Implements a query builder for retrieving database records with filters, sorting, and pagination.
  • Database Search Integration - Ships a search interface that executes queries against database records without external dependencies.
  • Runtime Attribute Mappings - Dynamically generates search methods from model attribute names and predicate suffixes at runtime.
  • Predicate-Based Query Combinators - Enables building complex queries by combining predicates with logical operators and sorting.
  • Predicate-Based Query DSLs - Builds database queries by chaining named predicate methods that map to SQL conditions through a configurable registry.
  • Form-Driven Query Builders - Provides a form-driven framework for building complex search interfaces with multiple predicates.
  • Search Predicate Registries - Defines available search predicates in a central configuration that maps operator names to SQL fragments.
  • Search Method Generators - Dynamically generates search methods from model attribute names and predicate suffixes at runtime.
  • Search - Wraps search parameters into a dedicated object that encapsulates query logic, sorting, and pagination state.
  • Database Predicate Builders - Provides a query builder that combines multiple search predicates with logical operators for database filtering.
  • Database Query Sort Scopes - Implements sorting as named scopes that translate sort parameters into ordered SQL clauses.
  • Database Query Form Models - Wraps search parameters into form objects that generate database query conditions from user input.
  • Search Form Objects - Wraps search parameters into a dedicated object that encapsulates query logic, sorting, and pagination state.
  • Search Predicate Combinators - Combines multiple search predicates with logical operators to build complex database queries.
  • Query-Generating Form Frameworks - Provides a form-driven framework that generates database query conditions from user input.
  • Search Predicate Configurations - Customize search predicates, sorting, and attribute matching through configuration and language settings.
  • Scope-Based Sort Translations - Implements sorting as named scopes that translate sort parameters into ordered SQL clauses.
  • Localized Search Predicate Tools - Ships a search tool with localized predicates and labels for building multilingual search interfaces.
  • Search Form Label Localizations - Localizes search form labels and predicates through an internationalization layer for multilingual interfaces.
  • Predicate Label Localizations - Ships a translation layer that localizes search predicate names and form labels for multilingual interfaces.
  • Search - Object-based search interface.
  • Search Engines - Advanced search form builder for ActiveRecord.

Star history

Star history chart for activerecord-hackery/ransackStar history chart for activerecord-hackery/ransack

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Ransack

These projects share indexed features with Ransack. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • ankane/searchkickankane avatar

    ankane/searchkick

    6,717View on GitHub↗

    Searchkick is an integration library and wrapper that connects application models to search engines such as Elasticsearch and OpenSearch. It functions as a search index synchronizer, automatically mirroring database records to a search server to enable full-text and vector retrieval. The project provides a high-level interface for implementing keyword search, semantic vector search, and hybrid search. It distinguishes itself through the ability to combine traditional keyword matching with vector embeddings using reranking and fusion techniques to improve precision. The library covers the end

    Ruby
    View on GitHub↗6,717
  • sunspot/sunspotsunspot avatar

    sunspot/sunspot

    2,984View on GitHub↗

    Solr-powered search for Ruby objects

    JavaScript
    View on GitHub↗2,984
  • django-haystack/django-haystackdjango-haystack avatar

    django-haystack/django-haystack

    3,739View on GitHub↗

    Django Haystack is a search abstraction layer and framework for integrating full-text search into Django applications. It provides a unified interface for defining search schemas and managing how data models are indexed and stored across different search engines. The framework acts as a modular backend wrapper, allowing applications to switch between interchangeable search providers without rewriting core search logic. It standardizes interactions with external engines through a decoupled provider layer, facilitating search engine migration by changing configuration settings. The system cove

    Python
    View on GitHub↗3,739
  • toptal/chewytoptal avatar

    toptal/chewy

    1,901View on GitHub↗

    High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client

    Ruby
    View on GitHub↗1,901
Compare all 30 related projects→

Frequently asked questions

What does activerecord-hackery/ransack do?

Ransack is an object-based search library for Active Record models that provides a form-driven framework for building database queries. It generates query conditions from user input through a configurable predicate system, allowing developers to filter records using simple or advanced criteria without writing SQL or relying on external dependencies.

What are the main features of activerecord-hackery/ransack?

The main features of activerecord-hackery/ransack are: Search DSLs, Active Record Search Forms, Cross-Model Search, Database Record Querying, Database Search Integration, Runtime Attribute Mappings, Predicate-Based Query Combinators, Predicate-Based Query DSLs.

Which projects share features with activerecord-hackery/ransack?

Projects with overlapping indexed features include: ankane/searchkick — Searchkick is an integration library and wrapper that connects application models to search engines such as… toptal/chewy — High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client. django-haystack/django-haystack — Django Haystack is a search abstraction layer and framework for integrating full-text search into Django applications.… sunspot/sunspot — Solr-powered search for Ruby objects. h2database/h2database — H2 is a JDBC-compliant relational database management system written in Java. It functions as an embeddable SQL… bknd-io/bknd — bknd is a self-hosted backend-as-a-service platform and serverless backend framework that provides an integrated…