module HashModernInspect
Public Instance Methods
modern_inspect()
click to toggle source
# File lib/hash_modern_inspect.rb, line 2 def modern_inspect modern_inspect0(self) end
modern_inspect0(obj)
click to toggle source
# File lib/hash_modern_inspect.rb, line 14 def modern_inspect0(obj) buf = '' case obj when Array buf << '[' obj.each_with_index do |value, i| buf << ', ' unless i.zero? buf << modern_inspect0(value) end buf << ']' when Hash buf << '{' obj.each_with_index do |kv, i| key, value = kv buf << ', ' unless i.zero? if key.is_a?(Symbol) key = key.to_s if key =~ /\A\w+\z/ buf << "#{key}: " else buf << "#{key.to_s.inspect}: " end else buf << "#{modern_inspect0(key)}=>" end buf << modern_inspect0(value) end buf << '}' else buf << obj.inspect end buf end
modern_inspect_without_brace(options = {})
click to toggle source
# File lib/hash_modern_inspect.rb, line 6 def modern_inspect_without_brace(options = {}) if self.empty? and not options[:allow_empty] self.inspect else modern_inspect.sub(/\A\{/, '').sub(/\}\z/, '').strip end end