rest_area 2.1.1 → 2.2.0

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