rib 0.9.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,5 +3,6 @@ rvm:
3
3
  - 1.8.7
4
4
  - 1.9.2
5
5
  - 1.9.3
6
- - rbx-2.0
6
+ - rbx-18mode
7
+ - rbx-19mode
7
8
  - jruby
data/CHANGES.md CHANGED
@@ -1,4 +1,10 @@
1
- # Rib CHANGES
1
+ # CHANGES
2
+
3
+ ## Rib 1.0.0 -- 2011-11-05
4
+
5
+ ### Bugs fixes
6
+
7
+ * [more/color] Fixed a bug for displaying `1/0`. Fixed #4, thanks @bootleq
2
8
 
3
9
  ## Rib 0.9.9 -- 2011-10-26
4
10
 
data/TODO.md CHANGED
@@ -1,4 +1,4 @@
1
- # Rib TODO
1
+ # TODO
2
2
 
3
3
  * Runner tests
4
4
  * Documentation
@@ -62,18 +62,22 @@ module Rib::Color
62
62
  def get_error err, backtrace=err.backtrace
63
63
  return super if Color.disabled?
64
64
  [format_color(err, "#{err.class.to_s}: #{err.message}"),
65
- backtrace.map{ |b|
66
- path, rest = ::File.split(b)
67
- name, msgs = rest.split(':', 2)
68
- msg = msgs.sub(/(\d+):/){red{$1}+':'}.sub(/`.+?'/){green{$&}}
69
-
70
- "#{path+'/'}#{yellow{name}}:#{msg}"
71
- }]
65
+ colorize_backtrace(backtrace)]
72
66
  end
73
67
 
74
68
 
75
69
 
76
70
  module_function
71
+ def colorize_backtrace backtrace
72
+ backtrace.map{ |b|
73
+ path, msgs = b.split(':', 2)
74
+ dir , file = ::File.split(path)
75
+ msg = msgs.sub(/(\d+):/){red{$1}+':'}.sub(/`.+?'/){green{$&}}
76
+
77
+ "#{dir+'/'}#{yellow{file}}:#{msg}"
78
+ }
79
+ end
80
+
77
81
  def find_color colors, value
78
82
  (colors.sort{ |(k1, v1), (k2, v2)|
79
83
  # Class <=> Class
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Rib
3
- VERSION = '0.9.9'
3
+ VERSION = '1.0.0'
4
4
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rib"
5
- s.version = "0.9.9"
5
+ s.version = "1.0.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Lin Jen-Shin (godfat)"]
9
- s.date = "2011-10-26"
9
+ s.date = "2011-11-05"
10
10
  s.description = "Ruby-Interactive-ruBy -- Yet another interactive Ruby shell\n\nRib is based on the design of [ripl][] and the work of [ripl-rc][], some of\nthe features are also inspired by [pry][]. The aim of Rib is to be fully\nfeatured and yet very easy to opt-out or opt-in other features. It shall\nbe simple, lightweight and modular so that everyone could customize Rib.\n\n[ripl]: https://github.com/cldwalker/ripl\n[ripl-rc]: https://github.com/godfat/ripl-rc\n[pry]: https://github.com/pry/pry"
11
11
  s.email = ["godfat (XD) godfat.org"]
12
12
  s.executables = [
@@ -5,16 +5,14 @@ require 'rib/more/color'
5
5
  describe Rib::Color do
6
6
  behaves_like :rib
7
7
 
8
- before do
8
+ should 'give correct color' do
9
9
  @color = Class.new do
10
10
  include Rib::Color
11
11
  def colors
12
12
  @colors ||= Rib::Shell.new.before_loop.config[:color]
13
13
  end
14
14
  end.new
15
- end
16
15
 
17
- should 'give correct color' do
18
16
  @color.send(:format_color,
19
17
  [{0 => :a}, 'b', [nil, {false => Object}], {true => Exception.new}]).
20
18
  should.eq \
@@ -25,4 +23,15 @@ describe Rib::Color do
25
23
  "{\e[0m\e[35mtrue\e[0m\e[34m=>\e[0m\e[35m#<Exception: Exception>" \
26
24
  "\e[0m\e[34m}\e[0m\e[34m]\e[0m"
27
25
  end
26
+
27
+ # regression test
28
+ should "colorize errors with `/' inside" do
29
+ begin
30
+ line = __LINE__; 1/0
31
+ rescue ZeroDivisionError => e
32
+ Rib::Color.colorize_backtrace(e.backtrace).first.should.end_with? \
33
+ "test/more/#{Rib::Color.yellow{'test_color.rb'}}:" \
34
+ "#{Rib::Color.red{line}}:in #{Rib::Color.green{"`/'"}}"
35
+ end
36
+ end
28
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.9
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-26 00:00:00.000000000Z
12
+ date: 2011-11-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! 'Ruby-Interactive-ruBy -- Yet another interactive Ruby shell
15
15