@@ -173,7 +173,8 @@ def print_variable(name, value, kind)
173
173
value_str = handle_binary_data ( value_str )
174
174
escaped_value_str = CGI . escapeHTML ( value_str )
175
175
print ( "<variable name=\" %s\" %s kind=\" %s\" %s type=\" %s\" hasChildren=\" %s\" objectId=\" %#+x\" >" ,
176
- CGI . escapeHTML ( name ) , build_compact_value_attr ( value ) , kind , build_value_attr ( escaped_value_str ) , value . class ,
176
+ CGI . escapeHTML ( name ) , build_compact_value_attr ( value , value_str ) , kind ,
177
+ build_value_attr ( escaped_value_str ) , value . class ,
177
178
has_children , value . respond_to? ( :object_id ) ? value . object_id : value . id )
178
179
print ( "<value><![CDATA[%s]]></value>" , escaped_value_str ) if Debugger . rm_protocol_extensions
179
180
print ( '</variable>' )
@@ -341,15 +342,21 @@ def current_thread_attr(context)
341
342
end
342
343
end
343
344
344
- def build_compact_name ( value )
345
+ def build_compact_name ( value , value_str )
345
346
return compact_array_str ( value ) if value . is_a? ( Array )
346
347
return compact_hash_str ( value ) if value . is_a? ( Hash )
348
+ return value_str [ 0 ..max_compact_name_size - 3 ] + '...' if value_str . size > max_compact_name_size
347
349
nil
348
350
rescue ::Exception => e
349
351
print_debug ( e )
350
352
nil
351
353
end
352
354
355
+ def max_compact_name_size
356
+ # todo: do we want to configure it?
357
+ 50
358
+ end
359
+
353
360
def compact_array_str ( value )
354
361
slice = value [ 0 ..10 ]
355
362
compact = slice . inspect
@@ -365,8 +372,8 @@ def compact_hash_str(value)
365
372
"{" + compact + ( slice . size != value . size ? ", ..." : "" ) + "}"
366
373
end
367
374
368
- def build_compact_value_attr ( value )
369
- compact_value_str = build_compact_name ( value )
375
+ def build_compact_value_attr ( value , value_str )
376
+ compact_value_str = build_compact_name ( value , value_str )
370
377
compact_value_str . nil? ? '' : "compactValue=\" #{ CGI . escapeHTML ( compact_value_str ) } \" "
371
378
end
372
379
0 commit comments