class SharkOnLambda::Inferrers::SerializerInferrer
Public Class Methods
new(object_class)
click to toggle source
# File lib/shark_on_lambda/inferrers/serializer_inferrer.rb, line 6 def initialize(object_class) @object_class = object_class end
Public Instance Methods
serializer_class()
click to toggle source
# File lib/shark_on_lambda/inferrers/serializer_inferrer.rb, line 10 def serializer_class return @serializer_class if defined?(@serializer_class) serializer_class_names.each do |serializer_class_name| @serializer_class = serializer_class_name.safe_constantize break if @serializer_class.present? end @serializer_class end
Protected Instance Methods
object_class()
click to toggle source
# File lib/shark_on_lambda/inferrers/serializer_inferrer.rb, line 23 def object_class unless @object_class.is_a?(String) || @object_class.is_a?(Symbol) return @object_class end @object_class.to_s.camelize.constantize end
serializer_class_names()
click to toggle source
# File lib/shark_on_lambda/inferrers/serializer_inferrer.rb, line 31 def serializer_class_names return @serializer_class_names if defined?(@serializer_class_names) @serializer_class_names = object_class.ancestors.reduce([]) do |result, ancestor| ancestor_name = ancestor.name next result if ancestor_name.blank? result << serializer_name_from_model_name(ancestor_name) end end
serializer_name_from_model_name(model_name)
click to toggle source
# File lib/shark_on_lambda/inferrers/serializer_inferrer.rb, line 43 def serializer_name_from_model_name(model_name) "#{model_name.underscore}_serializer".camelize end