query_string_interface 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # Overview [![build status][1]][2]
2
+
3
+ [1]: https://secure.travis-ci.org/vicentemundim/query_string_interface.png
4
+ [2]: http://travis-ci.org/#!/vicentemundim/query_string_interface
5
+
6
+ ### About QueryStringInterace
7
+
8
+ This gem extracts params given as a hash to structured data, that can be used when creating queries
9
+
10
+ ### Repository
11
+
12
+ http://github.com/vicentemundim/query_string_interface
13
+
14
+ ## Installing
15
+
16
+ This is a gem, so you can install it by:
17
+
18
+ sudo gem install query_string_interface
19
+
20
+ Or, if you are using rails, put this in your Gemfile:
21
+
22
+ gem 'query_string_interface'
23
+
24
+ ## Usage
25
+
26
+ To use it, just extend QueryStringInterface in your document model:
27
+
28
+ class Document
29
+ include Mongoid::Document
30
+ extend QueryInterfaceString
31
+
32
+ # ... add fields here
33
+ end
34
+
35
+ Then, you can use some class methods with your ORM syntax:
36
+
37
+ def self.filter_by(params)
38
+ where(filtering_options(params)).order_by(*sorting_options(params))
39
+ end
40
+
41
+ # ORM Adapters
42
+
43
+ http://github.com/vicentemundim/mongoid_query_string_interface
44
+
45
+ # Credits
46
+
47
+ - Vicente Mundim: vicente.mundim at gmail dot com
48
+ - Wandenberg Peixoto: wandenberg at gmail dot com
@@ -114,7 +114,9 @@ module QueryStringInterface
114
114
  end
115
115
 
116
116
  def json_value
117
- raw_or_data = ActiveSupport::JSON.decode(unescaped_raw_value)
117
+ raw_or_data = disable_active_support_datetime_parsing do
118
+ ActiveSupport::JSON.decode(unescaped_raw_value)
119
+ end
118
120
 
119
121
  raise "$or query filters must be given as an array of hashes" unless valid_or_filters?(raw_or_data)
120
122
 
@@ -123,6 +125,14 @@ module QueryStringInterface
123
125
  end
124
126
  end
125
127
 
128
+ def disable_active_support_datetime_parsing
129
+ old_value = ActiveSupport.parse_json_times
130
+ ActiveSupport.parse_json_times = false
131
+ result = yield
132
+ ActiveSupport.parse_json_times = old_value
133
+ result
134
+ end
135
+
126
136
  def valid_or_filters?(raw_or_data)
127
137
  raw_or_data.is_a?(Array) and raw_or_data.all? { |item| item.is_a?(Hash) }
128
138
  end
@@ -1,3 +1,3 @@
1
1
  module QueryStringInterface
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: query_string_interface
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Vicente Mundim
@@ -10,8 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-09-26 00:00:00 -03:00
14
- default_executable:
13
+ date: 2011-12-07 00:00:00 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: activesupport
@@ -58,10 +57,9 @@ files:
58
57
  - lib/query_string_interface/version.rb
59
58
  - lib/query_string_interface.rb
60
59
  - MIT_LICENSE
61
- - README.rdoc
60
+ - README.md
62
61
  - Gemfile
63
62
  - Gemfile.lock
64
- has_rdoc: true
65
63
  homepage: ""
66
64
  licenses: []
67
65
 
@@ -85,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
83
  requirements: []
86
84
 
87
85
  rubyforge_project: query_string_interface
88
- rubygems_version: 1.6.2
86
+ rubygems_version: 1.8.10
89
87
  signing_key:
90
88
  specification_version: 3
91
89
  summary: Extracts query string params to a structured data, suitable to use for model queries
data/README.rdoc DELETED
@@ -1,44 +0,0 @@
1
- = Overview
2
-
3
- == About QueryStringInterace
4
-
5
- This gem extracts params given as a hash to structured data, that can be used when creating queries
6
-
7
- == Repository
8
-
9
- http://github.com/vicentemundim/query_string_interface
10
-
11
- = Installing
12
-
13
- This is a gem, so you can install it by:
14
-
15
- sudo gem install query_string_interface
16
-
17
- Or, if you are using rails, put this in your Gemfile:
18
-
19
- gem 'query_string_interface'
20
-
21
- = Usage
22
-
23
- To use it, just extend QueryStringInterface in your document model:
24
-
25
- class Document
26
- include Mongoid::Document
27
- extend QueryInterfaceString
28
-
29
- # ... add fields here
30
- end
31
-
32
- Then, you can use some class methods with your ORM syntax:
33
-
34
- def self.filter_by(params)
35
- where(filtering_options(params)).order_by(*sorting_options(params))
36
- end
37
-
38
- = ORM Adapters
39
-
40
- http://github.com/vicentemundim/mongoid_query_string_interface
41
-
42
- = Credits
43
-
44
- Vicente Mundim: vicente.mundim at gmail dot com