summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKornelius Kalnbach <murphy@rubychan.de>2013-06-10 18:32:16 +0200
committerKornelius Kalnbach <murphy@rubychan.de>2013-06-10 18:32:16 +0200
commit65b8ab0fda2ac06a2d6109ea96485ab148bab1a4 (patch)
treec430ec9e0c39df5668aaed224efbbb9134d61479
parent65a4b4dfe93e9be0d9f753f063b8f77f8be5af77 (diff)
downloadcoderay-65b8ab0fda2ac06a2d6109ea96485ab148bab1a4.tar.gz
trying to reduce "complexity" of #raise_inspect (#135)
-rw-r--r--lib/coderay/scanner.rb22
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/coderay/scanner.rb b/lib/coderay/scanner.rb
index 68451ae..26bcbf3 100644
--- a/lib/coderay/scanner.rb
+++ b/lib/coderay/scanner.rb
@@ -307,25 +307,27 @@ surrounding code:
MESSAGE
# Scanner error with additional status information
- def raise_inspect msg, tokens, state = self.state, ambit = 30, backtrace = caller
- raise ScanError, SCAN_ERROR_MESSAGE % [
- File.basename(caller[0]),
- msg,
- tokens_size,
- tokens_last(10).map(&:inspect).join("\n"),
+ def raise_inspect message, tokens, state = self.state, ambit = 30, backtrace = caller
+ raise ScanError, SCAN_ERROR_MESSAGE % raise_inspect_arguments(message, tokens, state, ambit), backtrace
+ end
+
+ def raise_inspect_arguments message, tokens, state, ambit
+ return File.basename(caller[0]),
+ message,
+ tokens_size(tokens),
+ tokens_last(tokens, 10).map(&:inspect).join("\n"),
line, column, pos,
matched, state || 'No state given!',
bol?, eos?,
binary_string[pos - ambit, ambit],
- binary_string[pos, ambit],
- ], backtrace
+ binary_string[pos, ambit]
end
- def tokens_size
+ def tokens_size tokens
tokens.size if tokens.respond_to?(:size)
end
- def tokens_last n
+ def tokens_last tokens, n
tokens.respond_to?(:last) ? tokens.last(n) : []
end