module SchemaSerializer::Serializable

Public Instance Methods

serializer(*args) click to toggle source
# File lib/schema_serializer/serializable.rb, line 3
def serializer(*args)
  options = args.last.is_a?(Hash) ? args.pop : {}
  klass = args.first || options[:class]
  (klass || serializer_class || SchemaSerializer).new(self, options)
end

Private Instance Methods

serializer_base_class_name() click to toggle source
# File lib/schema_serializer/serializable.rb, line 15
def serializer_base_class_name
  return self.class.name unless defined?(ActiveRecord)

  self.class < ActiveRecord::Relation ? model.name.pluralize : self.class.name
end
serializer_class() click to toggle source
# File lib/schema_serializer/serializable.rb, line 11
def serializer_class
  SchemaSerializer::Constantizer.find("#{serializer_base_class_name}Serializer")
end