Sha256: 12fec5258908ea9d8c88aaa3ba92e8ba8273a69b3ce6c400834ce5be81fea7db

Contents?: true

Size: 1.68 KB

Versions: 6

Compression:

Stored size: 1.68 KB

Contents

# Trestle Search (trestle-search)

> Search plugin for the Trestle admin framework


## Getting Started

These instructions assume you have a working Trestle application. To integrate trestle-search, first add it to your application's Gemfile:

```ruby
gem 'trestle-search'
```

Run `bundle install`, and then restart your Rails server.

To enable search capabilities within an admin resource, define a `search` block:

```ruby
Trestle.resource(:articles) do
  search do |query|
    if query
      Article.where("title ILIKE ?", "%#{query}%")
    else
      Article.all
    end
  end
end
```

The search block accepts one or two parameters; the first is the string value of the search query. The second, optional parameter is the full `params` hash. The block should return a chainable scope.

The search block overrides the default (or custom) `collection` block. However the original collection block can be called to avoid redefining scopes. For example:

```ruby
Trestle.resource(:articles) do
  collection do
    Article.order(created_at: :desc).includes(:author)
  end

  search do |q|
    q ? collection.where("title ILIKE ?", "%#{q}%") : collection
  end
end
```


## Integration Examples

1. [ActiveRecord (ILIKE)](https://github.com/TrestleAdmin/trestle-search/wiki/Integration-with-ActiveRecord-(ILIKE))
2. [PgSearch](https://github.com/TrestleAdmin/trestle-search/wiki/Integration-with-PgSearch)
3. [Chewy](https://github.com/TrestleAdmin/trestle-search/wiki/Integration-with-Chewy)
4. [Sunspot](https://github.com/TrestleAdmin/trestle-search/wiki/Integration-with-Sunspot)


## License

The gem is available as open source under the terms of the [LGPLv3 License](https://opensource.org/licenses/LGPL-3.0).

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
trestle-search-0.4.3 README.md
trestle-search-0.4.2 README.md
trestle-search-0.4.1 README.md
trestle-search-0.4.0 README.md
trestle-search-0.3.0 README.md
trestle-search-0.2.1 README.md