module AwesomePrint::ProcExt
Public Class Methods
included(base)
click to toggle source
# File lib/awesome_print/proc_ext.rb, line 9 def self.included(base) base.send :alias_method, :cast_without_proc, :cast base.send :alias_method, :cast, :cast_with_proc end
Public Instance Methods
cast_with_proc(obj, type)
click to toggle source
Add Proc class to the dispatcher pipeline.
# File lib/awesome_print/proc_ext.rb, line 15 def cast_with_proc(obj, type) if (type == :proc || obj.is_a?(::Proc)) && obj.respond_to?(:to_source) :proc else cast_without_proc(obj, type) end end
Private Instance Methods
awesome_proc(obj)
click to toggle source
Format Proc object.
# File lib/awesome_print/proc_ext.rb, line 26 def awesome_proc(obj) if !@options[:raw] && (/\A(?<kw>proc)\s*(?<block_source>.+?)\z/ =~ obj.to_source) kw = "->" if obj.lambda? sprintf("%s %s", colorize(kw, :keyword), colorize(block_source, :string)) else awesome_object(obj) end end