rquery-activerecord 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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!