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.
- checksums.yaml +4 -4
- data/lib/rquery-activerecord.rb +16 -0
- metadata +32 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
|
4
|
-
|
3
|
+
data.tar.gz: b79cc10df3f3af06f4224a374afe63b9f479453b
|
4
|
+
metadata.gz: befef0d76d1541fc9534e826d39005142a51aebd
|
5
5
|
SHA512:
|
6
|
-
|
7
|
-
|
6
|
+
data.tar.gz: cb3bb59ba8c5a3641b3c3e33ebfd7cc0b56f1847f5ea1fc19576e2ecbc3cb7678b4704a348b9541bc54778c083b0926bc2be3551b18bcc07c8d229155c2211cb
|
7
|
+
metadata.gz: ad52171df7a01b986e1f7167cd11c69d768190b261174f48c8a80fcb4203d38e477cbe02dc05172ee8d6a383d7d3a3ca436a74362595f6ba46820b37c8d28f9d
|
data/lib/rquery-activerecord.rb
CHANGED
@@ -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.
|
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-
|
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
|
-
-
|
47
|
-
- ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: "0"
|
73
|
+
- *id003
|
50
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
75
|
requirements:
|
52
|
-
- *
|
76
|
+
- *id003
|
53
77
|
requirements: []
|
54
78
|
|
55
79
|
rubyforge_project:
|
56
|
-
rubygems_version: 2.
|
80
|
+
rubygems_version: 2.0.17
|
57
81
|
signing_key:
|
58
82
|
specification_version: 4
|
59
83
|
summary: Queries for your restful api!
|