command_search 0.12.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1d615f992c4521f18821e9b3ee2d96fb800095abeadf549f59b8c24fb6419b6
4
- data.tar.gz: df4378e2ab56dc1ee3299582f8a9aed11d4d64d5dd1d3d6d38a0d208a0d48f1f
3
+ metadata.gz: c0a659ab861cfea9badba5aa2c4bdf6e8797c5ac820c468bf87f98519040f1c3
4
+ data.tar.gz: 5d8f4ff47c1b2d7dc917d0e791d27a071943c9d0783968ba831894f67bee9032
5
5
  SHA512:
6
- metadata.gz: 5707ed405d3f6133a6437821b5df18a076b67c299334a226639d8d9e62486f3f385a50907a2bcc57c63a86280125745f3a00975b880086539df899b1106a5acb
7
- data.tar.gz: 312e172cc413d7f0d2efb127fd7858454b383b6eed72d1102a416f8d408eefaa831247caf5b27c67ae4959b7ac50871ccf5b05d6eb4abaa6cc6dea40d61425c7
6
+ metadata.gz: 86e941a3b2e15fd637b657c2bf102887b5ea888a783105492edfe5390fc0a908f546f538197b7c3af46cb78e9b838f3a90119c5ac9bbe2abfca795d92dfead86
7
+ data.tar.gz: 334d7bccc459f47d47f445217ae9dc702f5dbc432b3c20367a48678ea2ac2d698cb55257987097b54e483cc0cbd64beadc5a11f9ff8338a9cca5fd8ab9553316
@@ -24,22 +24,22 @@ module CommandSearch
24
24
  Parser.parse!(ast)
25
25
  Optimizer.optimize!(ast)
26
26
  if type == :postgres
27
- Normalizer.normalize!(ast, fields, false)
27
+ Normalizer.normalize!(ast, fields)
28
28
  return Postgres.build_query(ast)
29
29
  end
30
30
  if type == :sqlite
31
- Normalizer.normalize!(ast, fields, false)
31
+ Normalizer.normalize!(ast, fields)
32
32
  return Sqlite.build_query(ast)
33
33
  end
34
34
  if type == :mysql
35
- Normalizer.normalize!(ast, fields, false)
35
+ Normalizer.normalize!(ast, fields)
36
36
  return Mysql.build_query(ast)
37
37
  end
38
38
  if type == :mysqlV5
39
- Normalizer.normalize!(ast, fields, false)
39
+ Normalizer.normalize!(ast, fields)
40
40
  return MysqlV5.build_query(ast)
41
41
  end
42
- Normalizer.normalize!(ast, fields)
42
+ Normalizer.normalize!(ast, fields, true)
43
43
  return Mongoer.build_query(ast) if type == :mongo
44
44
  ast
45
45
  end
@@ -20,6 +20,7 @@ module CommandSearch
20
20
  # item_val.to_s.match?(search)
21
21
  elsif type == Time
22
22
  item_time = item_val.to_time
23
+ return false if search.nil?
23
24
  search.first <= item_time && item_time < search.last
24
25
  else
25
26
  item_val == search
@@ -31,8 +31,13 @@ module CommandSearch
31
31
  if times
32
32
  search_node[:value] = [times.first, times.last]
33
33
  else
34
- search_node[:value] = nil
35
- return
34
+ time_parsed = Time.parse(str) rescue nil
35
+ if time_parsed
36
+ search_node[:value] = [time_parsed, time_parsed + 1]
37
+ else
38
+ search_node[:value] = nil
39
+ return
40
+ end
36
41
  end
37
42
  end
38
43
  return unless node[:type] == :compare
@@ -114,7 +119,8 @@ module CommandSearch
114
119
  end
115
120
  end
116
121
 
117
- def normalize!(ast, fields, cast_all = true)
122
+ # TODO: default to false
123
+ def normalize!(ast, fields, cast_all = false)
118
124
  ast.map! do |node|
119
125
  if node[:type] == :and || node[:type] == :or || node[:type] == :not
120
126
  normalize!(node[:value], fields, cast_all)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: command_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - zumbalogy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-22 00:00:00.000000000 Z
11
+ date: 2021-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic
@@ -61,7 +61,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  requirements: []
64
- rubygems_version: 3.0.8
64
+ rubygems_version: 3.1.4
65
65
  signing_key:
66
66
  specification_version: 4
67
67
  summary: Let users query collections with ease.