Popularity
4.0
Declining
Activity
0.0
Stable
13
2
3
Programming language: Crystal
License: MIT License
Tags:
Search
Latest version: v0.2.5
query.cr alternatives and similar shards
Based on the "Search" category.
Alternatively, view query.cr alternatives based on common mentions on social networks and blogs.
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
Promo
www.influxdata.com

Do you think we are missing an alternative of query.cr or a related project?
README
query
Query abstraction.
Installation
Add this to your application's shard.yml
:
dependencies:
query:
github: waterlink/query.cr
version: ~> 0.2
Usage
require "query"
include Query::CriteriaHelper
criteria(name)
criteria("first_name")
Comparison (==
, !=
, <
, <=
, >
, >=
)
criteria("first_name") == "John" # => Equals<first_name, John>
criteria("second_name") != "Smith" # => NotEquals<second_name, Smith>
criteria("age") < 24 # => LessThan<age, 24>
criteria("age") <= 24 # => LessThanOrEqual<age, 24>
criteria("age") > 24 # => MoreThan<age, 24>
criteria("age") >= 24 # => MoreThanOrEqual<age, 24>
Inclusion (in
)
criteria("first_name").in(["John", "Bob"]) # => In<first_name, ["John", "Bob"]>
Special (is_true
, is_not_true
, is_false
, is_not_false
, is_unknown
, is_not_unknown
, is_null
, is_not_null
)
criteria("verified").is_true # => IsTrue<verified>
criteria("verified").is_not_true # => IsNotTrue<verified>
criteria("verified").is_false # => IsFalse<verified>
criteria("verified").is_not_false # => IsNotFalse<verified>
criteria("age").is_unknown # => IsUnknown<age>
criteria("age").is_not_unknown # => IsNotUnknown<age>
criteria("email").is_null # => IsNull<email>
criteria("email").is_not_null # => IsNotNull<email>
Logic (not
, and
, &
, or
, |
, xor
, ^
)
(criteria("age") > 21).not # => Not<MoreThan<age, 21>>
(criteria("age") > 27).and (criteria("age") < 35)
# => And<MoreThan<age, 27>, LessThan<age, 35>>
(criteria("age") > 27) & (criteria("age") < 35)
# => And<MoreThan<age, 27>, LessThan<age, 35>>
(criteria("age") < 27).or (criteria("age") > 35)
# => Or<LessThan<age, 27>, MoreThan<age, 35>>
(criteria("age") < 27) | (criteria("age") > 35)
# => Or<LessThan<age, 27>, MoreThan<age, 35>>
(criteria("age") > 27).xor (criteria("age") < 35)
# => Xor<MoreThan<age, 27>, LessThan<age, 35>>
(criteria("age") > 27) ^ (criteria("age") < 35)
# => Xor<MoreThan<age, 27>, LessThan<age, 35>>
Contributing
- Fork it ( https://github.com/waterlink/query.cr/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- waterlink Oleksii Fedorov - creator, maintainer