Module: AwesomePrint::ActiveSupport

Defined in:
lib/awesome_print/ext/active_support.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object


9
10
11
12
# 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

Instance Method Details

#awesome_active_support_time(object) ⇒ Object

Format ActiveSupport::TimeWithZone as standard Time.



28
29
30
# 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) ⇒ Object

Format HashWithIndifferentAccess as standard Hash.



34
35
36
# 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) ⇒ Object


14
15
16
17
18
19
20
21
22
23
24
# 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