rquery-activerecord 0.2.2 → 0.2.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rquery-activerecord.rb +16 -0
  3. metadata +32 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4511bf55fb8f4015e79ff08b9091b9f6ea5d350b
4
- data.tar.gz: 97999590b4dfabb2412e607875f79e69f862a3db
3
+ data.tar.gz: b79cc10df3f3af06f4224a374afe63b9f479453b
4
+ metadata.gz: befef0d76d1541fc9534e826d39005142a51aebd
5
5
  SHA512:
6
- metadata.gz: 6458becfd79c837e579c31d65b06f2e51e484a860d37be828bf5d2be6777a8f4cadf0bb0051e563d7525d40746e6bc2b5d089b2b5b0608ada93b27620a3459b2
7
- data.tar.gz: 2f8eb99ef8ee7514968d8bd0ee488204fdb74d57b0e8fd8928e3d57698532432bc02b9fd4ae4a063a8ab43bba7c65c42b3c056b6ae2065305861181e150d7fc2
6
+ data.tar.gz: cb3bb59ba8c5a3641b3c3e33ebfd7cc0b56f1847f5ea1fc19576e2ecbc3cb7678b4704a348b9541bc54778c083b0926bc2be3551b18bcc07c8d229155c2211cb
7
+ metadata.gz: ad52171df7a01b986e1f7167cd11c69d768190b261174f48c8a80fcb4203d38e477cbe02dc05172ee8d6a383d7d3a3ca436a74362595f6ba46820b37c8d28f9d
@@ -8,6 +8,7 @@ module RQuery
8
8
  # TODO includes_clause(JSON.parse(cmd[:includes])) if cmd[:includes]
9
9
  # TODO joins_clause(JSON.parse(cmd[:joins])) if cmd[:joins]
10
10
  ar_statement += where_clause(JSON.parse(cmd[:where])) if cmd[:where]
11
+ ar_statement += or_clause(JSON.parse(cmd[:or])) if cmd[:or]
11
12
  ar_statement += order_clause(JSON.parse(cmd[:order])) if cmd[:order]
12
13
  ar_statement += limit_clause(cmd[:limit]) if cmd[:limit]
13
14
  ar_statement += skip_clause(cmd[:skip]) if cmd[:skip]
@@ -53,6 +54,21 @@ module RQuery
53
54
  end
54
55
  end
55
56
 
57
+ def or_clause(cmd)
58
+ ar_statement = ''
59
+ clauses = []
60
+ cmd.each do |key, value|
61
+ if value.kind_of?(Hash)
62
+ clauses.push(where_key_value(key, value))
63
+ else
64
+ clause = value.nil? ? "#{self.table_name}.#{key} IS NULL" : "#{self.table_name}.#{key} = \"" + value.gsub("'", "\\\\'") + "\""
65
+ clauses.push(clause)
66
+ end
67
+ end
68
+ joined = clauses.join(" OR ")
69
+ ar_statement = ".where('#{joined}')"
70
+ end
71
+
56
72
  ## ORDER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57
73
  def order_clause(cmd)
58
74
  ar_statement = ""
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rquery-activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Wilson, Kris Windham, Andrew Kennedy
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2016-05-25 00:00:00 Z
12
+ date: 2016-10-20 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -21,6 +21,33 @@ dependencies:
21
21
  version: 1.6.3
22
22
  type: :runtime
23
23
  version_requirements: *id001
24
+ - !ruby/object:Gem::Dependency
25
+ name: rspec
26
+ prerelease: false
27
+ requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - &id003
30
+ - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id002
35
+ - !ruby/object:Gem::Dependency
36
+ name: activerecord
37
+ prerelease: false
38
+ requirement: &id004 !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - *id003
41
+ type: :development
42
+ version_requirements: *id004
43
+ - !ruby/object:Gem::Dependency
44
+ name: sqlite3
45
+ prerelease: false
46
+ requirement: &id005 !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - *id003
49
+ type: :development
50
+ version_requirements: *id005
24
51
  description: rquery-activerecord is a ruby gem that will allow you to pass queries into your restful api as json. It will take the json formatted queries and convert them into ActiveRecord queries.
25
52
  email: team@jackrussellsoftware.com
26
53
  executables: []
@@ -43,17 +70,14 @@ require_paths:
43
70
  - lib
44
71
  required_ruby_version: !ruby/object:Gem::Requirement
45
72
  requirements:
46
- - &id002
47
- - ">="
48
- - !ruby/object:Gem::Version
49
- version: "0"
73
+ - *id003
50
74
  required_rubygems_version: !ruby/object:Gem::Requirement
51
75
  requirements:
52
- - *id002
76
+ - *id003
53
77
  requirements: []
54
78
 
55
79
  rubyforge_project:
56
- rubygems_version: 2.6.4
80
+ rubygems_version: 2.0.17
57
81
  signing_key:
58
82
  specification_version: 4
59
83
  summary: Queries for your restful api!