ruby-debug-ide 0.4.23.beta11 → 0.4.23

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZmU0ZmRkMjViNTc1YjIzNDQ3ZmYxMzRlZTI0NWM4Y2MwMjU1NWVjYQ==
4
+ NjRjOTFkYzU1MWZiMmE5MGY3NDEzZWVhZmRlMzZjMDBhNmFjODJmNA==
5
5
  data.tar.gz: !binary |-
6
- NmRmMzE2ZTA5MzY2MmM5NzcxYmUzMGE0ZThkMTk3MzA5ZTBjNDViZg==
6
+ YjVmM2NlM2FmZjNmN2JhZWIzNzI0MWUzMTkzYTcxYjFjODAyMTI2OQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTE2NzVhYmVmNjM0OWVjNWIwOTIyZmUyZDNmOWY4OTQ0M2I0ODkwMzg3ZDVk
10
- NDA4N2MwNmQ0Y2JkMDFmM2Y1YzExMTYxMmQ5N2YxYTIwYjRiZTU3YzFlMDgw
11
- NTg2ZjhmZjZiYWY5ZmY4Yzc5NTQ3ZjIxZjk1YjhhODVhZWRiMjc=
9
+ NDAxYjlhNDY2YzhiN2Y0M2Y1YzMzOTRmZThiYjMyZThjMmQ1ZjA3N2YxMDVm
10
+ ZWZhMzU1NTdiZTQ5YmUzYjNmMTUyYjc1NmY0ZjI0NzQ0MTc4MDlhNGRkNjYw
11
+ ZDM2ZmNlNzEzODZlMTk0MDVkZjlmYmM0OTg4M2M3MDc2MjU0YmM=
12
12
  data.tar.gz: !binary |-
13
- OWJkODc5MWJmMDljYzRiMzNmMjVhNzVjZjA4YjIwMGQ5ODFiMzg4NjQ3OTY2
14
- ZjcxMzdlZDNkOGNjNDNiNTU1MjY3ZGY5YjA2ZDU2MDEyYjRmOTgwYTJlOWY1
15
- YjA5ZjYyNzBlNDEwODA2YTMxYjdmMDc2NzU4ZTEwYmNlNWM3OGQ=
13
+ YzkyNWUzODdkNTFlOTMxNWQ5ODU0ZTNiYWQ2YmNmYzI5NTcwNDE0MWE0NWZk
14
+ ZjA0ZWJjNDE2YzI4N2I4ZjBmMDFjYjM0MmFiZjkxZGU3ZmQzNjIyMTczOThm
15
+ NTE4ZDQwM2U1YTkxOGYwMDY5N2UwMTFjNTE3NTMwNDU1Y2Y2YTY=
@@ -1,3 +1,8 @@
1
+ ## [0.4.23](https://github.com/ruby-debug/ruby-debug-ide/compare/v0.4.23.beta11...v0.4.23)
2
+
3
+ * fixed problem with compact name for binary params (strings with invalid encoding)
4
+ [RUBY-15960](https://youtrack.jetbrains.com/issue/RUBY-15960)
5
+
1
6
  ## [0.4.23.beta11](https://github.com/ruby-debug/ruby-debug-ide/compare/v0.4.23.beta10...v0.4.23.beta11)
2
7
 
3
8
  * adding breakpoint in non-existing file should not break debugger
@@ -1,3 +1,3 @@
1
1
  module Debugger
2
- IDE_VERSION='0.4.23.beta11'
2
+ IDE_VERSION='0.4.23'
3
3
  end
@@ -91,8 +91,7 @@ module Debugger
91
91
  end
92
92
 
93
93
  def print_context(context)
94
- current = 'current="yes"' if context.thread == Thread.current
95
- print "<thread id=\"%s\" status=\"%s\" pid=\"%s\" #{current}/>", context.thnum, context.thread.status, Process.pid
94
+ print "<thread id=\"%s\" status=\"%s\" pid=\"%s\" #{current_thread_attr(context)}/>", context.thnum, context.thread.status, Process.pid
96
95
  end
97
96
 
98
97
  def print_variables(vars, kind)
@@ -147,30 +146,31 @@ module Debugger
147
146
  end
148
147
  if value.is_a?(Array) || value.is_a?(Hash)
149
148
  has_children = !value.empty?
150
- unless has_children
151
- value_str = "Empty #{value.class}"
152
- else
153
- size = value.size
149
+ if has_children
150
+ size = value.size
154
151
  value_str = "#{value.class} (#{value.size} element#{size > 1 ? "s" : "" })"
152
+ else
153
+ value_str = "Empty #{value.class}"
155
154
  end
156
155
  elsif value.is_a?(String)
157
156
  has_children = value.respond_to?('bytes') || value.respond_to?('encoding')
158
157
  value_str = value
159
158
  else
160
159
  has_children = !value.instance_variables.empty? || !value.class.class_variables.empty?
161
- value_str = value.to_s || 'nil' rescue "<#to_s method raised exception: #$!>"
160
+ value_str = value.to_s || 'nil' rescue "<#to_s method raised exception: #{$!}>"
162
161
  unless value_str.is_a?(String)
163
162
  value_str = "ERROR: #{value.class}.to_s method returns #{value_str.class}. Should return String."
164
163
  end
165
164
  end
166
165
 
167
166
  if value_str.respond_to?('encode')
167
+ # noinspection RubyEmptyRescueBlockInspection
168
168
  begin
169
169
  value_str = value_str.encode("UTF-8")
170
170
  rescue
171
- end
171
+ end
172
172
  end
173
- value_str = "[Binary Data]" if (value_str.respond_to?('is_binary_data?') && value_str.is_binary_data?)
173
+ value_str = handle_binary_data(value_str)
174
174
  compact_value_str = build_compact_name(value_str, value)
175
175
  print("<variable name=\"%s\" compactValue=\"%s\" kind=\"%s\" value=\"%s\" type=\"%s\" hasChildren=\"%s\" objectId=\"%#+x\">",
176
176
  CGI.escapeHTML(name), CGI.escapeHTML(compact_value_str), kind, CGI.escapeHTML(value_str), value.class,
@@ -184,13 +184,13 @@ module Debugger
184
184
  if value.is_a?(Array)
185
185
  slice = value[0..10]
186
186
  compact = slice.inspect
187
- if (value.size != slice.size)
187
+ if value.size != slice.size
188
188
  compact = compact[0..compact.size-2] + ", ...]"
189
189
  end
190
190
  end
191
191
  if value.is_a?(Hash)
192
- slice = value.sort_by { |k,v| k.to_s }[0..5]
193
- compact = slice.map {|kv| "#{kv[0]}: #{kv[1]}"}.join(", ")
192
+ slice = value.sort_by { |k, _| k.to_s }[0..5]
193
+ compact = slice.map {|kv| "#{kv[0]}: #{handle_binary_data(kv[1])}"}.join(", ")
194
194
  compact = "{" + compact + (slice.size != value.size ? ", ..." : "") + "}"
195
195
  end
196
196
  compact
@@ -255,7 +255,7 @@ module Debugger
255
255
 
256
256
  def print_list(b, e, file, line)
257
257
  print "[%d, %d] in %s\n", b, e, file
258
- if lines = Debugger.source_for(file)
258
+ if (lines = Debugger.source_for(file))
259
259
  b.upto(e) do |n|
260
260
  if n > 0 && lines[n-1]
261
261
  if n == line
@@ -266,7 +266,7 @@ module Debugger
266
266
  end
267
267
  end
268
268
  else
269
- print "No sourcefile available for %s\n", file
269
+ print "No source-file available for %s\n", file
270
270
  end
271
271
  end
272
272
 
@@ -280,7 +280,7 @@ module Debugger
280
280
 
281
281
  # Events
282
282
 
283
- def print_breakpoint(n, breakpoint)
283
+ def print_breakpoint(_, breakpoint)
284
284
  print("<breakpoint file=\"%s\" line=\"%s\" threadId=\"%d\"/>",
285
285
  breakpoint.source, breakpoint.pos, Debugger.current_context.thnum)
286
286
  end
@@ -302,7 +302,7 @@ module Debugger
302
302
  File.expand_path(file), line, context.thnum, context.stack_size
303
303
  end
304
304
 
305
- def print_exception(exception, binding)
305
+ def print_exception(exception, _)
306
306
  print_element("variables") do
307
307
  proxy = ExceptionProxy.new(exception)
308
308
  InspectCommand.reference_result(proxy)
@@ -343,6 +343,20 @@ module Debugger
343
343
  @interface.print(*params)
344
344
  end
345
345
 
346
+ def handle_binary_data(value)
347
+ return '[Binary Data]' if (value.respond_to?('is_binary_data?') && value.is_binary_data?)
348
+ return '[Invalid encoding]' if (value.respond_to?('valid_encoding?') && !value.valid_encoding?)
349
+ value
350
+ end
351
+
352
+ def current_thread_attr(context)
353
+ if context.thread == Thread.current
354
+ 'current="yes"'
355
+ else
356
+ ''
357
+ end
358
+ end
359
+
346
360
  instance_methods.each do |m|
347
361
  if m.to_s.index('print_') == 0
348
362
  protect m
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-debug-ide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.23.beta11
4
+ version: 0.4.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Barchfeld, Martin Krauskopf, Mark Moseley, JetBrains RubyMine Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-23 00:00:00.000000000 Z
11
+ date: 2014-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -86,9 +86,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
86
  version: 1.8.2
87
87
  required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ! '>'
89
+ - - ! '>='
90
90
  - !ruby/object:Gem::Version
91
- version: 1.3.1
91
+ version: '0'
92
92
  requirements: []
93
93
  rubyforge_project: debug-commons
94
94
  rubygems_version: 2.2.2