camille 0.5.6 → 0.5.7

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: 991a6d473c51e10dce629da09a1b430ff316b448521bf8631b8994b358cdc809
4
- data.tar.gz: 34398f5bf1e5e2d2793de422d43dfd9c57b4f1eed9933cb3e99db91778e15ef9
3
+ metadata.gz: 3ff47e3a7fdcb5ef28cca7bc5ce3989900c82d7eb0d94af77a00e0b0c4ac9b3d
4
+ data.tar.gz: 7885520d31b5b0a4f339cc24e5993ea1d8e1d637029a018b5dcb144060e72965
5
5
  SHA512:
6
- metadata.gz: 772f197217bc1ffdd29b432b3c615c34f13f286e694d33abec58a468722d3217c1d8ffcd893aadab57b3f2be4b57fbe693c08e7976d72f9c7aeee33bea67e837
7
- data.tar.gz: 679738f907ba017a94dc6e73b29ff82500765c207fb48a5da42c037e0ec9dbfb6155e4d26abc465b205271fbb1928ef29d677f1510c40f9a62dbb829e9e26d73
6
+ metadata.gz: 5c990d3326e3271092647bd2ccdbc9ddf213e0f6200c872f0d398c4fb5306670c7e9993e4e48c82dab84a97ea4a8b3200ad100475c4a9243758e94ea211df681
7
+ data.tar.gz: c21e9542119b194dac81e446574c582fcf16a98a7fbeaeeba33e083518b3070b826a4db20596ff22fb5b18f1b8e64161056e10f71309a3309ab3213c8da9ba4d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.7
4
+
5
+ ### Added
6
+
7
+ * Camille::Controller::MissingRenderError will now be raised if `render json:` is missing in action body
8
+ * ActionController::MissingExactTemplate is re-raised as Camille::Controller::MissingRenderError
9
+
3
10
  ## 0.5.6
4
11
 
5
12
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- camille (0.5.6)
4
+ camille (0.5.7)
5
5
  rails (>= 6.1, < 8)
6
6
 
7
7
  GEM
@@ -2,6 +2,7 @@ module Camille
2
2
  module Controller
3
3
  class TypeError < ::StandardError; end
4
4
  class ArgumentError < ::ArgumentError; end
5
+ class MissingRenderError < ::StandardError; end
5
6
 
6
7
  def camille_schema
7
8
  @camille_schema ||= Camille::Loader.controller_name_to_schema_map[self.class.name]
@@ -24,6 +25,7 @@ module Camille
24
25
  if transformed.is_a? Hash
25
26
  transformed.deep_transform_keys!{|k| k.to_s.camelize(:lower)}
26
27
  end
28
+ @camille_rendered = true
27
29
  super(json: transformed)
28
30
  end
29
31
  else
@@ -37,12 +39,25 @@ module Camille
37
39
  def process_action(*)
38
40
  Camille::Loader.check_and_raise_exception
39
41
  if endpoint = camille_endpoint
40
- params.deep_transform_keys!{|key| key.to_s.underscore}
41
- super
42
+ begin
43
+ params.deep_transform_keys!{|key| key.to_s.underscore}
44
+ result = super
45
+ unless @camille_rendered
46
+ raise_missing_render_error
47
+ end
48
+ result
49
+ rescue ActionController::MissingExactTemplate
50
+ raise_missing_render_error
51
+ end
42
52
  else
43
53
  super
44
54
  end
45
55
  end
46
56
 
57
+ private
58
+ def raise_missing_render_error
59
+ raise MissingRenderError.new("Expected `render json:` call in controller action body.")
60
+ end
61
+
47
62
  end
48
63
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Camille
4
- VERSION = "0.5.6"
4
+ VERSION = "0.5.7"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camille
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - 辻彩