AwesomePrint::ActiveRecord

Public Class Methods

included(base) click to toggle source
# File lib/awesome_print/ext/active_record.rb, line 9
def self.included(base)
  base.send :alias_method, :cast_without_active_record, :cast
  base.send :alias_method, :cast, :cast_with_active_record
end

Public Instance Methods

cast_with_active_record(object, type) click to toggle source

Add ActiveRecord class names to the dispatcher pipeline.

# File lib/awesome_print/ext/active_record.rb, line 16
def cast_with_active_record(object, type)
  cast = cast_without_active_record(object, type)
  return cast if !defined?(::ActiveRecord)

  if object.is_a?(::ActiveRecord::Base)
    cast = :active_record_instance
  elsif object.is_a?(Class) && object.ancestors.include?(::ActiveRecord::Base)
    cast = :active_record_class
  elsif type == :activerecord_relation
    cast = :array
  end
  cast
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.