rib 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +40 -0
  3. data/.gitmodules +1 -1
  4. data/CHANGES.md +18 -0
  5. data/README.md +5 -5
  6. data/lib/rib/all.rb +1 -0
  7. data/lib/rib/api.rb +1 -0
  8. data/lib/rib/app/auto.rb +1 -0
  9. data/lib/rib/app/rack.rb +2 -1
  10. data/lib/rib/app/rails.rb +1 -0
  11. data/lib/rib/config.rb +1 -0
  12. data/lib/rib/core/completion.rb +1 -0
  13. data/lib/rib/core/history.rb +1 -0
  14. data/lib/rib/core/last_value.rb +1 -0
  15. data/lib/rib/core/multiline.rb +7 -1
  16. data/lib/rib/core/readline.rb +1 -0
  17. data/lib/rib/core/squeeze_history.rb +1 -0
  18. data/lib/rib/core/strip_backtrace.rb +1 -0
  19. data/lib/rib/core.rb +1 -0
  20. data/lib/rib/debug.rb +1 -0
  21. data/lib/rib/extra/autoindent.rb +1 -0
  22. data/lib/rib/extra/byebug.rb +10 -0
  23. data/lib/rib/extra/hirb.rb +1 -0
  24. data/lib/rib/extra/paging.rb +1 -0
  25. data/lib/rib/extra/spring.rb +1 -0
  26. data/lib/rib/more/anchor.rb +1 -0
  27. data/lib/rib/more/beep.rb +1 -0
  28. data/lib/rib/more/bottomup_backtrace.rb +1 -0
  29. data/lib/rib/more/caller.rb +1 -0
  30. data/lib/rib/more/color.rb +5 -1
  31. data/lib/rib/more/edit.rb +1 -0
  32. data/lib/rib/more/multiline_history.rb +1 -0
  33. data/lib/rib/more/multiline_history_file.rb +1 -0
  34. data/lib/rib/more.rb +1 -0
  35. data/lib/rib/plugin.rb +1 -0
  36. data/lib/rib/runner.rb +1 -0
  37. data/lib/rib/shell.rb +1 -0
  38. data/lib/rib/test/history.rb +1 -0
  39. data/lib/rib/test/multiline.rb +19 -9
  40. data/lib/rib/test.rb +4 -1
  41. data/lib/rib/version.rb +2 -1
  42. data/lib/rib.rb +1 -0
  43. data/rib.gemspec +5 -5
  44. data/task/README.md +4 -4
  45. data/task/gemgem.rb +3 -1
  46. data/test/more/test_color.rb +1 -1
  47. data/test/more/test_multiline_history.rb +2 -0
  48. metadata +4 -8
  49. data/.travis.yml +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f537a283fed2eef2c6e07ede1e4cc027dc28f4a4f3d4c59cee58338b02cad9c
4
- data.tar.gz: c25ade3869c7319ce557c1ab50d7029126af6d171fc892d0032a259c848efa97
3
+ metadata.gz: e15cbe824c0b6ff3bb2d775a76d1265a5629efc0f27ba32c68c1c0fc8dec2823
4
+ data.tar.gz: 9817d441536e7e10018699f064a1e75d5f9debf11a556ede8fc6b4b8ca4b93a2
5
5
  SHA512:
6
- metadata.gz: eba78ab629e758e66963db826cd39a2b9ec7b392c4b451f26ab680ab9924a7d3748f9d1ddd9966f2296f5e5aef0ac30cd389d2449505f55f1662b43a1fb3605e
7
- data.tar.gz: f35eac4d8ed09a0e6ab1dc21a63ed1aea6fde118f110adf280044cbf3fb39a1ce748a77f558fe4d7115ec7b519428cefb28c11ad31b655794529ad3b89758d56
6
+ metadata.gz: 1bfa2b9646cfaf5c33e62c2106c11c966d8dfd8921339c29fba6e83c5bbcfd9b3ed3e3a5151f3e442b87cc18c5d55fb24f8739a5f51e54bd21aea62ae7c8a29a
7
+ data.tar.gz: f464497efab48ecd2a02c36770adab22da186bb9d300814062aee1532f6884d7e4b290f4d8cdb8d8350d7d6bc4adc7ffaae0497ab2f3e1d2be4149db2625c9ad
data/.gitlab-ci.yml ADDED
@@ -0,0 +1,40 @@
1
+
2
+ stages:
3
+ - test
4
+
5
+ .test:
6
+ stage: test
7
+ image: ruby:${RUBY_VERSION}-bullseye
8
+ variables:
9
+ GIT_DEPTH: "1"
10
+ GIT_SUBMODULE_STRATEGY: recursive
11
+ GIT_SUBMODULE_PATHS: task
12
+ RUBYOPT: --enable-frozen-string-literal
13
+ before_script:
14
+ - bundle install --retry=3
15
+ - unset CI # Coverage doesn't work well with frozen literal
16
+ script:
17
+ - ruby -vr bundler/setup -S rake test
18
+
19
+ ruby:3.2:
20
+ extends:
21
+ - .test
22
+ variables:
23
+ RUBY_VERSION: '3.2'
24
+
25
+ ruby:3.3:
26
+ extends:
27
+ - .test
28
+ variables:
29
+ RUBY_VERSION: '3.3'
30
+
31
+ ruby:3.4:
32
+ extends:
33
+ - .test
34
+ variables:
35
+ RUBY_VERSION: '3.4'
36
+
37
+ jruby:latest:
38
+ extends:
39
+ - .test
40
+ image: jruby:latest
data/.gitmodules CHANGED
@@ -1,3 +1,3 @@
1
1
  [submodule "task"]
2
2
  path = task
3
- url = git://github.com/godfat/gemgem.git
3
+ url = https://github.com/godfat/gemgem.git
data/CHANGES.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # CHANGES
2
2
 
3
+ ## Rib 1.6.2 -- 2026-01-19
4
+
5
+ ### Bugs fixed
6
+
7
+ * Fixed multiline and colorization compatibility for prism parser
8
+
9
+ ## Rib 1.6.1 -- 2022-12-30
10
+
11
+ ### Bugs fixed
12
+
13
+ * Fixed `rib rack` for constant resolution.
14
+
15
+ ### Enhancement
16
+
17
+ * [more/color] Instead of using `$1` and `$2`, use `Regexp.last_match`.
18
+ It should be the same for MRI, but seems to be working better for JRuby.
19
+ Perhaps `$1` and `$2` is not thread local on JRuby?
20
+
3
21
  ## Rib 1.6.0 -- 2018-06-20
4
22
 
5
23
  * [core/multiline] Support for JRuby 9.2.0.0 is fixed
data/README.md CHANGED
@@ -1,12 +1,12 @@
1
- # Rib [![Build Status](https://secure.travis-ci.org/godfat/rib.svg?branch=master)](http://travis-ci.org/godfat/rib) [![Coverage Status](https://coveralls.io/repos/github/godfat/rib/badge.svg)](https://coveralls.io/github/godfat/rib) [![Join the chat at https://gitter.im/godfat/rib](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/godfat/rib)
1
+ # Rib [![Pipeline status](https://gitlab.com/godfat/rib/badges/master/pipeline.svg)](https://gitlab.com/godfat/rib/-/pipelines)
2
2
 
3
- by Lin Jen-Shin ([godfat](http://godfat.org))
3
+ by Lin Jen-Shin ([godfat](https://godfat.org))
4
4
 
5
5
  ## LINKS:
6
6
 
7
7
  * [github](https://github.com/godfat/rib)
8
8
  * [rubygems](https://rubygems.org/gems/rib)
9
- * [rdoc](http://rdoc.info/github/godfat/rib)
9
+ * [rdoc](https://rubydoc.info/github/godfat/rib)
10
10
  * [issues](https://github.com/godfat/rib/issues) (feel free to ask for support)
11
11
 
12
12
  ## DESCRIPTION:
@@ -479,13 +479,13 @@ simple, simpler than rib-rails.
479
479
 
480
480
  Apache License 2.0 (Apache-2.0)
481
481
 
482
- Copyright (c) 2011-2018, Lin Jen-Shin (godfat)
482
+ Copyright (c) 2011-2026, Lin Jen-Shin (godfat)
483
483
 
484
484
  Licensed under the Apache License, Version 2.0 (the "License");
485
485
  you may not use this file except in compliance with the License.
486
486
  You may obtain a copy of the License at
487
487
 
488
- <http://www.apache.org/licenses/LICENSE-2.0>
488
+ <https://www.apache.org/licenses/LICENSE-2.0>
489
489
 
490
490
  Unless required by applicable law or agreed to in writing, software
491
491
  distributed under the License is distributed on an "AS IS" BASIS,
data/lib/rib/all.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/core'
3
4
  require 'rib/more'
data/lib/rib/api.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Rib; module API
3
4
  # Called before shell starts looping
data/lib/rib/app/auto.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Rib; module Auto
3
4
  module_function
data/lib/rib/app/rack.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Rib; module Rack
3
4
  singleton_class.module_eval{ attr_accessor :app }
@@ -12,7 +13,7 @@ module Rib; module Rack
12
13
  def load_rack
13
14
  require 'rack'
14
15
  Rib.abort("Error: Cannot find config.ru") unless rack?
15
- app, _ = Rack::Builder.parse_file(configru_path)
16
+ app, _ = ::Rack::Builder.parse_file(configru_path)
16
17
  self.app = app
17
18
  Rib.shell.eval_binding.eval('def app; Rib::Rack.app; end')
18
19
  Rib.say("Access your app via :app method")
data/lib/rib/app/rails.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Rib; module Rails
3
4
  module_function
data/lib/rib/config.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
  Rib.require_config
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
  require 'fileutils'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -21,6 +22,7 @@ module Rib; module Multiline
21
22
  # ruby -e 'class C'
22
23
  # ruby -e 'def f'
23
24
  # ruby -e 'begin'
25
+ # ruby -e 'case 1'
24
26
  # ruby -e 'eval "1+1.to_i +"'
25
27
  # ruby -e 'eval "1+1.to_i -"'
26
28
  # ruby -e 'eval "1+1.to_i *"'
@@ -38,8 +40,12 @@ module Rib; module Multiline
38
40
  # mri and rubinius
39
41
  "unexpected (#{BINARY_OP.join('|')}), expecting \\$end",
40
42
  "syntax error, unexpected \\$end" ,
43
+ # prism
44
+ "expected an? `.+?` to close the",
45
+ "expected a matching `\\)`",
46
+ # ruby 2.0 and prism
47
+ "unexpected end-of-input",
41
48
  # ruby 2.0
42
- "syntax error, unexpected end-of-input",
43
49
  "syntax error, unexpected (#{RUBY20_IO.join('|')}),"
44
50
  ].join('|'))
45
51
  when 'rbx' ; Regexp.new(
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
  require 'readline'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/core/history' # dependency
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
data/lib/rib/core.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  # before session starts
3
4
  require 'rib/core/completion'
data/lib/rib/debug.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/config'
3
4
  require 'rib/more/anchor'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/core/history' # otherwise the order might be wrong
3
4
  require 'rib/core/readline' # dependency
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/more/anchor'
3
4
  require 'byebug/core'
@@ -8,6 +9,13 @@ module Rib; module Byebug
8
9
  extend Plugin
9
10
  Shell.use(self)
10
11
 
12
+ def before_loop
13
+ return super if Rib::Byebug.disabled?
14
+
15
+ super
16
+ # ::Byebug::RibProcessor.start
17
+ end
18
+
11
19
  module Imp
12
20
  def byebug
13
21
  return if Rib::Byebug.disabled?
@@ -73,6 +81,8 @@ module Byebug
73
81
  end
74
82
 
75
83
  def resume_rib
84
+ return if Rib.shell.running?
85
+
76
86
  byebug_binding = frame._binding
77
87
 
78
88
  print_location
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Spring
3
4
  module Commands
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
data/lib/rib/more/beep.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
@@ -88,7 +89,10 @@ module Rib; module Color
88
89
  path, msgs = b.split(':', 2)
89
90
  dir, sep, file = path.rpartition('/')
90
91
  msgs ||= (line - 1).to_s # msgs would be nil when input is next/break
91
- msg = msgs.sub(/(\d+)(:?)/){red{$1}+$2}.sub(/`.+?'/){green{$&}}
92
+ msg = msgs.sub(/(\d+)(:?)/) do
93
+ m = Regexp.last_match
94
+ "#{red{m[1]}}#{m[2]}"
95
+ end.sub(/(?:`|').+?'/){green{Regexp.last_match[0]}}
92
96
 
93
97
  "#{dir+sep}#{yellow{file}}:#{msg}"
94
98
  }
data/lib/rib/more/edit.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
  require 'tempfile'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/core/history' # dependency
3
4
  require 'rib/core/multiline' # dependency
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/more/multiline_history'
3
4
 
data/lib/rib/more.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  # upon session ends
3
4
  require 'rib/more/multiline_history_file'
data/lib/rib/plugin.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Rib; module Plugin
3
4
  attr_accessor :disabled
data/lib/rib/runner.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib'
3
4
 
data/lib/rib/shell.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/plugin'
3
4
  require 'rib/api'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'tempfile'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  copy :setup_multiline do
3
4
  def setup_input str
@@ -25,6 +26,8 @@ copy :setup_multiline do
25
26
  end
26
27
 
27
28
  def check str, err=nil
29
+ yield if block_given?
30
+
28
31
  lines = str.split("\n")
29
32
  lines[0...-1].each{ |line|
30
33
  input(line)
@@ -135,9 +138,17 @@ copy :multiline do
135
138
  end
136
139
 
137
140
  would 'be hash treated as a block SyntaxError' do
138
- check <<~RUBY, SyntaxError
141
+ code = <<~RUBY
139
142
  puts { :x => 10 }.class
140
143
  RUBY
144
+
145
+ if RUBY_VERSION >= '3.0.0'
146
+ check code do
147
+ stub(shell.config[:binding_object]).puts{}
148
+ end
149
+ else
150
+ check code, SyntaxError
151
+ end
141
152
  end
142
153
 
143
154
  would 'SyntaxError' do
@@ -146,13 +157,6 @@ copy :multiline do
146
157
  RUBY
147
158
  end
148
159
 
149
- would 'begin with SyntaxError' do
150
- check <<~RUBY, SyntaxError
151
- begin
152
- s-y n
153
- RUBY
154
- end
155
-
156
160
  would 'binary operator +' do
157
161
  check <<~RUBY
158
162
  1/1.to_i +
@@ -175,10 +179,16 @@ copy :multiline do
175
179
  end
176
180
 
177
181
  would 'binary operator /' do
178
- check <<~RUBY
182
+ code = <<~RUBY
179
183
  1+1.to_i /
180
184
  1
181
185
  RUBY
186
+
187
+ if RUBY_VERSION >= '3.0.0'
188
+ check code.lines.first, SyntaxError
189
+ else
190
+ check code
191
+ end
182
192
  end
183
193
 
184
194
  would 'binary operator |' do
data/lib/rib/test.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'pork/auto'
3
4
  require 'muack'
@@ -20,8 +21,10 @@ copy :rib do
20
21
  end
21
22
 
22
23
  def new_shell opts={}
24
+ binding_object = Object.new
23
25
  result = Rib::Shell.new(
24
- {:binding => Object.new.instance_eval{binding}}.
26
+ {:binding => binding_object.instance_eval{binding},
27
+ :binding_object => binding_object}.
25
28
  merge(opts))
26
29
  yield(result) if block_given?
27
30
  result.before_loop
data/lib/rib/version.rb CHANGED
@@ -1,4 +1,5 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module Rib
3
- VERSION = '1.6.0'
4
+ VERSION = '1.6.2'
4
5
  end
data/lib/rib.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'rib/shell'
3
4
  require 'rib/version'
data/rib.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rib 1.6.0 ruby lib
2
+ # stub: rib 1.6.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rib".freeze
6
- s.version = "1.6.0"
6
+ s.version = "1.6.2".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Lin Jen-Shin (godfat)".freeze]
11
- s.date = "2018-06-20"
11
+ s.date = "2026-01-19"
12
12
  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".freeze
13
13
  s.email = ["godfat (XD) godfat.org".freeze]
14
14
  s.executables = [
@@ -20,8 +20,8 @@ Gem::Specification.new do |s|
20
20
  "rib-rails".freeze]
21
21
  s.files = [
22
22
  ".gitignore".freeze,
23
+ ".gitlab-ci.yml".freeze,
23
24
  ".gitmodules".freeze,
24
- ".travis.yml".freeze,
25
25
  "CHANGES.md".freeze,
26
26
  "Gemfile".freeze,
27
27
  "LICENSE".freeze,
@@ -93,7 +93,7 @@ Gem::Specification.new do |s|
93
93
  "test/test_shell.rb".freeze]
94
94
  s.homepage = "https://github.com/godfat/rib".freeze
95
95
  s.licenses = ["Apache-2.0".freeze]
96
- s.rubygems_version = "2.7.7".freeze
96
+ s.rubygems_version = "4.0.4".freeze
97
97
  s.summary = "Ruby-Interactive-ruBy -- Yet another interactive Ruby shell".freeze
98
98
  s.test_files = [
99
99
  "test/core/test_completion.rb".freeze,
data/task/README.md CHANGED
@@ -13,11 +13,11 @@ Provided tasks:
13
13
 
14
14
  ## REQUIREMENTS:
15
15
 
16
- * Tested with MRI (official CRuby), Rubinius and JRuby.
16
+ * Tested with MRI (official CRuby) and JRuby.
17
17
 
18
18
  ## INSTALLATION:
19
19
 
20
- git submodule add git://github.com/godfat/gemgem.git task
20
+ git submodule add https://github.com/godfat/gemgem.git task
21
21
 
22
22
  And in Rakefile:
23
23
 
@@ -39,13 +39,13 @@ end
39
39
 
40
40
  Apache License 2.0 (Apache-2.0)
41
41
 
42
- Copyright (c) 2011-2017, Lin Jen-Shin (godfat)
42
+ Copyright (c) 2011-2023, Lin Jen-Shin (godfat)
43
43
 
44
44
  Licensed under the Apache License, Version 2.0 (the "License");
45
45
  you may not use this file except in compliance with the License.
46
46
  You may obtain a copy of the License at
47
47
 
48
- <http://www.apache.org/licenses/LICENSE-2.0>
48
+ <https://www.apache.org/licenses/LICENSE-2.0>
49
49
 
50
50
  Unless required by applicable law or agreed to in writing, software
51
51
  distributed under the License is distributed on an "AS IS" BASIS,
data/task/gemgem.rb CHANGED
@@ -42,6 +42,7 @@ module Gemgem
42
42
 
43
43
  def gem_install
44
44
  require 'rubygems/commands/install_command'
45
+ require 'rubygems/package'
45
46
  # read ~/.gemrc
46
47
  Gem.use_paths(Gem.configuration[:gemhome], Gem.configuration[:gempath])
47
48
  Gem::Command.extra_args = Gem.configuration[:gem]
@@ -51,7 +52,8 @@ module Gemgem
51
52
  cmd.handle_options([])
52
53
 
53
54
  # install
54
- install = Gem::Installer.new(gem_path, cmd.options)
55
+ gem_package = Gem::Package.new(gem_path)
56
+ install = Gem::Installer.new(gem_package, cmd.options)
55
57
  install.install
56
58
  puts "\e[35mGem installed: \e[33m#{strip_path(install.gem_dir)}\e[0m"
57
59
  end
@@ -54,7 +54,7 @@ describe Rib::Color do
54
54
  "#{Rib::Color.red{line}}:in #{Rib::Color.green}"
55
55
  Rib::Color.colorize_backtrace(e.backtrace).first.should =~ \
56
56
  Regexp.new(
57
- "#{Regexp.escape(msg)}`.+'#{Regexp.escape(Rib::Color.reset)}")
57
+ "#{Regexp.escape(msg)}(?:`|').+'#{Regexp.escape(Rib::Color.reset)}")
58
58
  end
59
59
  end
60
60
 
@@ -9,6 +9,7 @@ describe Rib::MultilineHistory do
9
9
 
10
10
  def check str, err=nil
11
11
  shell.history.clear
12
+ yield if block_given?
12
13
  with_history(str, err)
13
14
 
14
15
  @shell = nil
@@ -16,6 +17,7 @@ describe Rib::MultilineHistory do
16
17
 
17
18
  shell.history.clear
18
19
  shell.history << 'old history'
20
+ yield if block_given?
19
21
  with_history(str, err, 'old history')
20
22
  end
21
23
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lin Jen-Shin (godfat)
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2018-06-20 00:00:00.000000000 Z
10
+ date: 2026-01-19 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: |-
14
13
  Ruby-Interactive-ruBy -- Yet another interactive Ruby shell
@@ -34,8 +33,8 @@ extensions: []
34
33
  extra_rdoc_files: []
35
34
  files:
36
35
  - ".gitignore"
36
+ - ".gitlab-ci.yml"
37
37
  - ".gitmodules"
38
- - ".travis.yml"
39
38
  - CHANGES.md
40
39
  - Gemfile
41
40
  - LICENSE
@@ -109,7 +108,6 @@ homepage: https://github.com/godfat/rib
109
108
  licenses:
110
109
  - Apache-2.0
111
110
  metadata: {}
112
- post_install_message:
113
111
  rdoc_options: []
114
112
  require_paths:
115
113
  - lib
@@ -124,9 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
122
  - !ruby/object:Gem::Version
125
123
  version: '0'
126
124
  requirements: []
127
- rubyforge_project:
128
- rubygems_version: 2.7.7
129
- signing_key:
125
+ rubygems_version: 4.0.4
130
126
  specification_version: 4
131
127
  summary: Ruby-Interactive-ruBy -- Yet another interactive Ruby shell
132
128
  test_files:
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- sudo: false
2
- language: ruby
3
-
4
- install: 'gem install bundler; bundle install --retry=3'
5
- before_script: unset CI
6
- script: 'ruby -vr bundler/setup -S rake test'
7
-
8
- matrix:
9
- include:
10
- - rvm: 2.4
11
- env: RUBYOPT=--enable-frozen-string-literal
12
- - rvm: 2.5
13
- env: RUBYOPT=--enable-frozen-string-literal
14
- - rvm: ruby-head
15
- env: RUBYOPT=--enable-frozen-string-literal
16
- - rvm: jruby
17
- env: JRUBY_OPTS=--debug