active_record_api-rest 1.0.7 → 1.0.9

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
  SHA256:
3
- metadata.gz: 4f789b0f7c72a1bf809e0d16c6fc4f5ce3d470d6555b89cc324c5b7f136632ee
4
- data.tar.gz: b1dfb6bd902e52e766bccf11e98fd93dcb2ab65a7523236e7b27f73382920031
3
+ metadata.gz: '0284ae32b17d9e2c3f50f363be3bfca4ad200b3dbce2687bc01c8c8a297f95c4'
4
+ data.tar.gz: b5d1572d745988e7f5aafcad941e882c552b78ad631a4c633672d1759c119154
5
5
  SHA512:
6
- metadata.gz: bc5a379c6659cfe63cbb9d0dcd567f5965bf88dd716ad17c51ccd0eec5e3fbe6486c4c5d5daf0ce0118efb72dc9738e52966c8cb3f15baa2f4b5c80302af855c
7
- data.tar.gz: 1129bc0f29eddec8c9892ff0f0f230f9a71eb6953f7f1d4c93962f4ba4b0354f7fe2f04ec8ab93f01e850b371576d274ba6c1a02265ce88d62f1207075fb91f5
6
+ metadata.gz: b13d5f232ed72e579e7bcfd732f9f5004aa3cfe0569eb7feb49dd04721fcabb96f458b7e86fe3efd83a9585b7539e89dcaff62a0c15b239f612a3d7054ea115d
7
+ data.tar.gz: e1b0efb110dbeebb055a59d210f063a19ae78723f23aa8f3d783fcc0fe89095f91dab8bdf9c94bc43bbd462a0151de8ee226e63b7dae1cb5299aa6dda25badf3
@@ -76,6 +76,28 @@ module ActiveRecordApi
76
76
  "#{policy.class.name}::Scope".constantize.new(session, scope).resolve
77
77
  end
78
78
 
79
+ def filtered_params
80
+ @filtered_params ||= params.permit(allowed_params).to_h
81
+ end
82
+
83
+ def allowed_params
84
+ @allowed_params ||= model_klass.column_names.flat_map do |column_name|
85
+ col = column_name.to_s.gsub('encrypted_', '').to_sym
86
+ col_def = column_definition(column_name)
87
+ if col_def&.type == :jsonb
88
+ [col, col => {}]
89
+ else
90
+ col
91
+ end
92
+ end
93
+ end
94
+
95
+ def column_definition(column_name)
96
+ model_klass.columns.detect do |column|
97
+ column.name == column_name
98
+ end
99
+ end
100
+
79
101
  def policy
80
102
  @policy ||= ("#{controller_name.classify}Policy".safe_constantize) ? "#{controller_name.classify}Policy".constantize.new(session, model_klass) : ApplicationPolicy.new(session, model_klass)
81
103
  end
@@ -24,19 +24,19 @@ module ActiveRecordApi
24
24
  "#{model_klass.name}Serializer".safe_constantize
25
25
  end
26
26
 
27
- def allowed_params
28
- @allowed_params ||= model_klass.column_names.flat_map do |column_name|
27
+ def allowed_params_query
28
+ @allowed_params_query ||= model_klass.column_names.flat_map do |column_name|
29
29
  col = column_name.to_s.gsub('encrypted_', '').to_sym
30
30
  [col, col => []]
31
31
  end
32
32
  end
33
33
 
34
- def filtered_params
35
- @filtered_params ||= params.permit(allowed_params).to_h
34
+ def filtered_params_query
35
+ @filtered_params_query ||= params.permit(allowed_params_query).to_h
36
36
  end
37
37
 
38
38
  def load_models
39
- @models = scope_filter(model_klass).where(filtered_params)
39
+ @models = scope_filter(model_klass).where(filtered_params_query)
40
40
  @total = models.count
41
41
  page_models
42
42
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecordApi
4
4
  module Rest
5
- VERSION = '1.0.7'.freeze
5
+ VERSION = '1.0.9'.freeze
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_api-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Full Measure Education
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-01 00:00:00.000000000 Z
11
+ date: 2019-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler