class BetterErrors::InspectableValue
Attributes
original_value[R]
Public Class Methods
new(value)
click to toggle source
# File lib/better_errors/inspectable_value.rb, line 8 def initialize(value) @original_value = value end
Public Instance Methods
to_html()
click to toggle source
# File lib/better_errors/inspectable_value.rb, line 12 def to_html raise ValueLargerThanConfiguredMaximum unless value_small_enough_to_inspect? value_as_html end
Private Instance Methods
value()
click to toggle source
# File lib/better_errors/inspectable_value.rb, line 25 def value @value ||= begin if original_value.respond_to? :inspect original_value.inspect else original_value end end end
value_as_html()
click to toggle source
# File lib/better_errors/inspectable_value.rb, line 21 def value_as_html @value_as_html ||= CGI.escapeHTML(value) end
value_small_enough_to_inspect?()
click to toggle source
# File lib/better_errors/inspectable_value.rb, line 35 def value_small_enough_to_inspect? return true if BetterErrors.maximum_variable_inspect_size.nil? if defined?(ObjectSpace) && defined?(ObjectSpace.memsize_of) && ObjectSpace.memsize_of(value) ObjectSpace.memsize_of(value) <= BetterErrors.maximum_variable_inspect_size else value_as_html.length <= BetterErrors.maximum_variable_inspect_size end end