module AwesomePrint::ActiveSupport

Public Class Methods

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

Public Instance Methods

awesome_active_support_time(object) click to toggle source

Format ActiveSupport::TimeWithZone as standard Time.

# File lib/awesome_print/ext/active_support.rb, line 28
def awesome_active_support_time(object)
  colorize(object.inspect, :time)
end
awesome_hash_with_indifferent_access(object) click to toggle source

Format HashWithIndifferentAccess as standard Hash.

# File lib/awesome_print/ext/active_support.rb, line 34
def awesome_hash_with_indifferent_access(object)
  awesome_hash(object)
end
cast_with_active_support(object, type) click to toggle source
# File lib/awesome_print/ext/active_support.rb, line 14
def cast_with_active_support(object, type)
  cast = cast_without_active_support(object, type)
  if defined?(::ActiveSupport) && defined?(::HashWithIndifferentAccess)
    if (defined?(::ActiveSupport::TimeWithZone) && object.is_a?(::ActiveSupport::TimeWithZone)) || object.is_a?(::Date)
      cast = :active_support_time
    elsif object.is_a?(::HashWithIndifferentAccess)
      cast = :hash_with_indifferent_access
    end
  end
  cast
end