caprese 0.3.16 → 0.3.17

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: fd2cab0612e93540be995aba763d91b63e01af39
4
- data.tar.gz: e948d190d28ff0fccba730c0488ece215d9590a6
3
+ metadata.gz: a7d3ec5ca008e336953160f8bb5c6963e22b8dc3
4
+ data.tar.gz: 422237c49d75ac0a80636da14932e3c0bbb4a166
5
5
  SHA512:
6
- metadata.gz: 556a53ef717946b457a69f1e2208eed0527393771805566ca664e01274e751e15cbb3603acad916440561ba67d46a42a51096e174d1f17d9f034706258192f92
7
- data.tar.gz: 6a2ea38817d702b74d6928c694f909520a9b70c54b213d8bbc813c01f0b0ec7780116887873c5a23ffda146394b60638d7d70d78ca585e294ba329cc07139273
6
+ metadata.gz: 791201a9973930c32d47f7bd86e7a0b267c574073318fe28d3739fa24ae3a66ceebf583269df590efbeba1131bbd679ee8f85f4043f74f5fa4b248a8d9ed6a27
7
+ data.tar.gz: ff6240cccd8715607851fbc7a6147186d70f53e43d464f010b8a33763ad176e1bd2935af2b4d2a98628e112dbce26380cbb9cb80d3bd9379ad3c9b86f021856c
data/CHANGELOG.md CHANGED
@@ -87,3 +87,7 @@
87
87
  ## 0.3.16
88
88
 
89
89
  * Only use `Caprese::Record::AssociatedValidator` if `caprese_style_errors`
90
+
91
+ ## 0.3.17
92
+
93
+ * Update rendering concern serializer_for to resemble Serializer.serializer_for
@@ -1,5 +1,6 @@
1
1
  require 'active_support/concern'
2
2
  require 'caprese/adapter/json_api'
3
+ require 'caprese/serializer'
3
4
 
4
5
  module Caprese
5
6
  module Rendering
@@ -53,7 +54,20 @@ module Caprese
53
54
  # @param [ActiveRecord::Base] record the record to find a serializer for
54
55
  # @return [Serializer,Nil] the serializer for the given record
55
56
  def serializer_for(record)
56
- version_module("#{record.class.name}Serializer").constantize if Serializer.valid_for_serialization(record)
57
+ get_serializer_for(record.class) if Serializer.valid_for_serialization(record)
58
+ end
59
+
60
+ # Gets a serializer for a klass, either as the serializer explicitly defined
61
+ # for this class, or as a serializer defined for one of the klass's parents
62
+ #
63
+ # @param [Class] klass the klass to get the serializer for
64
+ # @return [Serializer] the serializer for the class
65
+ def get_serializer_for(klass)
66
+ begin
67
+ version_module("#{klass.name}Serializer").constantize
68
+ rescue NameError => e
69
+ get_serializer_for(klass.superclass) if klass.superclass
70
+ end
57
71
  end
58
72
  end
59
73
  end
@@ -1,3 +1,3 @@
1
1
  module Caprese
2
- VERSION = '0.3.16'
2
+ VERSION = '0.3.17'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caprese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Landgrebe
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-03-11 00:00:00.000000000 Z
13
+ date: 2017-03-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_model_serializers