rest_area 2.1.1 → 2.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fea079b226cbb5be738fd50840d25d4b75091782
4
- data.tar.gz: eb287118d1a6141fd11ce0e5557c30c1d4efc118
3
+ metadata.gz: ee552d8570326beff9b2d1d16ab8803ea7ac77da
4
+ data.tar.gz: bfb79c2a5e90acfed26f1dd0a26b43b4babb88ba
5
5
  SHA512:
6
- metadata.gz: dbc0b9c423c107df330f2598508e9a463fcdda57697446edb80b0947a749bdeebb3a38c6b3f764d5dcbba50e9db24f6bf4083d403bdf26f835041d1c1cad7dcb
7
- data.tar.gz: deed1ddffb89ce9bbbc53c010a7b7a657f185f2e0fd9e8000f3aa36866fa9dc8ca6c58b976e083f8bb0a8ed9f65de7df22205004b834bf8323c5741ec9c6dcf6
6
+ metadata.gz: 5b9186ca9cba0100951ef6072d417585df3022747f04362548fecd3d5cf3cf2b9ec692294cbb734887a2ab3dac1b20aa7a04970652b53f8d5436af322b43626c
7
+ data.tar.gz: ce28fb3e8315cabf29affc16296f7210beee76eba7010f3340104ac4731cca4b71faad33f343fab1e6f1f04bb70fb64ea7285263e41621b40963ea1ee7736c22
@@ -1,8 +1,11 @@
1
+ require 'saneitized'
2
+
1
3
  module RestArea
2
4
  class RestController < ::RestArea::ApplicationController
3
5
  skip_before_filter :verify_authenticity_token
4
6
  include GetsKlass
5
7
  before_filter :set_class_serializer
8
+ before_filter :add_query_params, :only => [:index]
6
9
 
7
10
  # GET
8
11
  def index
@@ -54,14 +57,17 @@ module RestArea
54
57
  render json: {errors: object.errors}, :status => :unprocessable_entity
55
58
  end
56
59
 
57
- def query_params
58
- params.slice('limit','order').symbolize_keys
59
- end
60
-
61
60
  def klass_params
62
61
  params.require(@root.to_sym).permit!
63
62
  end
64
63
 
64
+ def add_query_params
65
+ where_params = params.slice(*@klass.column_names)
66
+ if where_params.any?
67
+ @klass = @klass.where(Saneitized.convert(where_params).to_h)
68
+ end
69
+ end
70
+
65
71
  def set_class_serializer
66
72
  @serializer = ( '::' + @klass.to_s + "Serializer" ).constantize
67
73
  rescue NameError => e
@@ -1,3 +1,3 @@
1
1
  module RestArea
2
- VERSION = "2.1.1"
2
+ VERSION = "2.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest_area
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Guest
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-20 00:00:00.000000000 Z
11
+ date: 2014-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,34 +24,48 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: saneitized
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.1'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rspec-rails
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: 3.0.0.beta
47
+ version: '3.0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: 3.0.0.beta
54
+ version: '3.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: mocha
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: 1.0.0
61
+ version: '1.0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 1.0.0
68
+ version: '1.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: combustion
57
71
  requirement: !ruby/object:Gem::Requirement