snfoil-rails 0.4.5 → 0.5.3

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
  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