snfoil-rails 0.4.5 → 0.5.3

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: a4aa9e8502480e615c440aca9f2bc70f507b94dc0a2e57a9c0b3d02cb2cb9d2d
4
- data.tar.gz: d607d2fe7c5c1c8dd9ff69bace09247f3ec721fd5c1e4767592f6e7ad182dfb9
3
+ metadata.gz: f2e314fff30b93ada5ce0fcecbfbc7ee6798df23bdc990311dd167937861b335
4
+ data.tar.gz: 11362362a7feefaa15cb8ccc27eaba14f49c0bc3cdc81fdf6b7d26b32062b72b
5
5
  SHA512:
6
- metadata.gz: 25c8f8f25014f15a828795c95630e16714dd66f31bf50355819737b576a1248dcd0e592b33fd1b114b9a4fdbede8253f981b7246eade81d8654301c53949ff62
7
- data.tar.gz: 99d2655356d0afea93703aa84768ebf90e91835e2d8eef689c6eafeca5bd659b02b37e9057f14785d806391fd69256936b768f497f7eabd7a68a40f246aa68ba
6
+ metadata.gz: 000b0f05e6295477bdb55dd6b26edecd7b236078ed80fef5c5e1e93696ec5eea1c63ad9efba69e88a14b4b51e4e67bce23e7022ae3330c733b19df1d72d9925c
7
+ data.tar.gz: ad0fc2f266dc5fa51224b3e4e764bc6d5c0b9279ba95cd717f766c738aff812dbb4bbe05df351ce7d7e9189288e0d30740700c39dd5efa51bd16ee75254b300d
@@ -40,27 +40,38 @@ module SnFoil
40
40
 
41
41
  def render_change(model, **options)
42
42
  if model.errors.empty?
43
- render json: serializer(**options).new(model, **options).serializable_hash
43
+ params
44
+ render json: serializer(**options).new(model,
45
+ **options,
46
+ params: (options[:controller_params] || options[:params] || {})
47
+ .merge(current_entity: current_entity)).serializable_hash
44
48
  else
45
- render model.errors, status: :unprocessable_entity
49
+ render json: model.errors, status: :unprocessable_entity
46
50
  end
47
51
  end
48
52
 
49
53
  def render_destroy(model, **_options)
50
54
  if model.errors.empty?
51
- render status: :no_content
55
+ render json: {}, status: :no_content
52
56
  else
53
- render model.errors, status: :unprocessable_entity
57
+ render json: model.errors, status: :unprocessable_entity
54
58
  end
55
59
  end
56
60
 
57
61
  def render_index(results, **options)
58
- render json: serializer(**options).new(paginate(results, **options), **options, meta: meta(results, **options))
62
+ render json: serializer(**options).new(paginate(results, **options),
63
+ **options,
64
+ params: (options[:controller_params] || options[:params] || {})
65
+ .merge(current_entity: current_entity),
66
+ meta: meta(results, **options))
59
67
  .serializable_hash
60
68
  end
61
69
 
62
70
  def render_show(model, **options)
63
- render json: serializer(**options).new(model, **options).serializable_hash
71
+ render json: serializer(**options).new(model,
72
+ **options,
73
+ params: (options[:controller_params] || options[:params] || {})
74
+ .merge(current_entity: current_entity)).serializable_hash
64
75
  end
65
76
 
66
77
  private
@@ -50,6 +50,7 @@ module SnFoil
50
50
  end
51
51
 
52
52
  def meta(results, **options)
53
+ results = paginate(results, **options)
53
54
  total_pages = results.respond_to?(:total_pages) ? results.total_pages : nil
54
55
  total_count = results.respond_to?(:total_count) ? results.total_count : nil
55
56
 
@@ -28,7 +28,7 @@ module SnFoil
28
28
  end
29
29
 
30
30
  def current_context(**options)
31
- @current_context ||= context(**options).new(context_user)
31
+ @current_context ||= context(**options).new(context_entity)
32
32
  end
33
33
 
34
34
  protected
@@ -75,7 +75,8 @@ module SnFoil
75
75
  options
76
76
  end
77
77
 
78
- def context_user
78
+ def context_entity
79
+ return current_entity if defined? current_entity
79
80
  return current_user if defined? current_user
80
81
  end
81
82
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module SnFoil
4
4
  module Rails
5
- VERSION = '0.4.5'
5
+ VERSION = '0.5.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snfoil-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Howes
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-03-16 00:00:00.000000000 Z
12
+ date: 2020-06-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,42 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '5.1'
20
+ version: 5.2.4.3
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '5.1'
27
+ version: 5.2.4.3
28
28
  - !ruby/object:Gem::Dependency
29
- name: fast_jsonapi
29
+ name: jsonapi-serializer
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.0'
34
+ version: '2.0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.0'
41
+ version: '2.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: snfoil
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0.4'
48
+ version: '0.5'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0.4'
55
+ version: '0.5'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: bundler
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -85,16 +85,16 @@ dependencies:
85
85
  name: rails
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: 5.1.7
90
+ version: 5.2.4.3
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 5.1.7
97
+ version: 5.2.4.3
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rake
100
100
  requirement: !ruby/object:Gem::Requirement