query_params 1.2.2 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d60ef035ce50444d3aaf2c1c4f2c910a2cbd85b2
4
- data.tar.gz: 7d5f78dc6fe37f8e648777ae43c2f3985ae2970d
3
+ metadata.gz: 540c53d6b58cca5b5c21e13cb222083ad279cb90
4
+ data.tar.gz: 6b1da9d5ebea89aebb385dbbe59822285751e18a
5
5
  SHA512:
6
- metadata.gz: 76f4a138b8b31957f31e8d20700cdfb5741ae4257e4904c6c66df3e1c6b35d4b038cc10813655ff67515ac1b85572f61a8064151ac98f2b541a0d3ec9342c011
7
- data.tar.gz: f83973ca8355438c892619c5bfb51c292a44c574d8f6a1cb8ab8a6f8ba83d89232daad6c41c82c4bee614ecfedc75de0dfb52bf4cc5340bbae5621ca78cfed96
6
+ metadata.gz: e81e25440947176c532aaf455fdc3f837ac8b22692b8288c4eb29adfdc51067d60142495824b881d69e0b85b441c6cbb736c1cf9f2b09b952b08416b73f7a350
7
+ data.tar.gz: 6d0d2666b67179478b35922f193e68a999123b7ce8e41105a5937a7ac1d0c3539856a8ce731ba5d844baecb06bc8b1b23cde329dc2b415a5066061b9d525fd17
data/README.md CHANGED
@@ -13,7 +13,7 @@ http://domain.com/search?filters=age::ge(18)|age::le(25)
13
13
  Add this line to your application's Gemfile:
14
14
 
15
15
  ```ruby
16
- gem 'query-params'
16
+ gem 'query_params'
17
17
  ```
18
18
 
19
19
  And then execute:
@@ -22,18 +22,18 @@ And then execute:
22
22
 
23
23
  Or install it yourself as:
24
24
 
25
- $ gem install query-params
25
+ $ gem install query_params
26
26
 
27
27
  ## Usage
28
28
 
29
29
  ```ruby
30
- # Complete URI
31
- URI::QueryParams.build_uri(base_uri: "http://domain.com/search", q: "Mark", filters: ["age <= 18", "type = 1"])
32
- # => "http://domain.com/search?q=Mark&filters=age::le(18)|type::eq(1)"
33
-
34
30
  # Only query params
35
- URI::QueryParams.filters(filters: ["age <= 18", "type = 1"])
36
- # => "age::le(18)|type::eq(1)"
31
+ URI::QueryParams.filters(filters: ["type = 1", "height <= 1.8", "age between 18 and 21"])
32
+ # => "type::eq(1)|height::le(1.8)|age::bt(18,21)"
33
+
34
+ # Complete URI
35
+ URI::QueryParams.build_uri(base_uri: "http://domain.com/search", q: "Mark", filters: ["age <= 18"])
36
+ # => "http://domain.com/search?q=Mark&filters=age::le(18)"
37
37
  ```
38
38
 
39
39
  ## Contributing
@@ -2,7 +2,7 @@ require "query_params"
2
2
 
3
3
  module Condition
4
4
 
5
- OPERATORS = { "=" => "eq", ">=" => "ge", "<=" => "le" }
5
+ OPERATORS = { "=" => "eq", ">=" => "ge", "<=" => "le", "between" => "bt" }
6
6
 
7
7
  def set_conditions(conditions)
8
8
 
@@ -21,12 +21,19 @@ module Condition
21
21
  raise(ArgumentError, "Invalid condition: #{condition}. Send operator separate for space.") if tokens.size < 3
22
22
 
23
23
  field = tokens[0].strip
24
- operator = tokens[1].strip
24
+ operator = tokens[1].strip.downcase
25
25
  value = tokens[2..tokens.size].join(" ").strip.gsub(/['"]/,"")
26
26
 
27
27
  raise(ArgumentError, "Invalid operator. Accepted tokens: #{OPERATORS.values}") if OPERATORS[operator].nil?
28
28
 
29
- self.send(OPERATORS[operator], field, value)
29
+ if operator != "between"
30
+ # queryParam.eq('age', 18)
31
+ self.send(OPERATORS[operator], field, value)
32
+ else
33
+ bt_values = value.downcase.split(' and ')
34
+ # queryParam.bt('age', 18, 21)
35
+ self.send(OPERATORS[operator], field, bt_values[0], bt_values[1])
36
+ end
30
37
  end
31
38
 
32
39
  end
@@ -1,3 +1,3 @@
1
1
  module QueryParams
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: query_params
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Souza
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-13 00:00:00.000000000 Z
11
+ date: 2015-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler