lib/centaman/json_wrapper.rb in centaman-5.0.3 vs lib/centaman/json_wrapper.rb in centaman-5.0.4

- old
+ new

@@ -7,24 +7,31 @@ # i.e. from GET of an index def build_objects(resp) return [] unless resp.respond_to?(:map) @tickets = resp.map do |ticket_hash| - object_class.new(ticket_hash.merge(additional_hash_to_serialize_after_response)) + final_object_class.new(ticket_hash.merge(additional_hash_to_serialize_after_response)) end end # i.e. from GET of a show or POST def build_object(resp) return resp unless resp.respond_to?(:merge) - @build_object ||= object_class.new(resp.merge(additional_hash_to_serialize_after_response)) + @build_object ||= final_object_class.new(resp.merge(additional_hash_to_serialize_after_response)) end def additional_hash_to_serialize_after_response {} end def object_class raise "object_class is required for #{self.class.name}" + end + + def final_object_class + name = self.class.name.split('::').last + override = Centaman.configuration.object_overrides[name] + override_class = override.constantize if override + override_class || object_class end end end