!1 rubygem-pry初始化

Merge pull request !1 from Lostway/master
This commit is contained in:
openeuler-ci-bot 2020-09-01 09:56:15 +08:00 committed by Gitee
commit 5dbcceb0c2
8 changed files with 229 additions and 0 deletions

View File

@ -0,0 +1,32 @@
From ff6263fd9ddf2d689ecfa8fa7eb1216bfad441a8 Mon Sep 17 00:00:00 2001
From: Akira Matsuda <ronnie@dio.jp>
Date: Thu, 8 Dec 2016 03:51:38 +0900
Subject: [PATCH] Avoid calling Ruby 2.4+ String#pretty_print in ColorPrinter
Ruby 2.4+ defines String's own pretty_print that prints multiline Strings prettier
see: https://bugs.ruby-lang.org/issues/12664
fixes #1585
---
lib/pry/color_printer.rb | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lib/pry/color_printer.rb b/lib/pry/color_printer.rb
index 48bcc1a..ce52b8d 100644
--- a/lib/pry/color_printer.rb
+++ b/lib/pry/color_printer.rb
@@ -31,7 +31,13 @@ def text(str, width = str.length)
end
def pp(obj)
- super
+ if String === obj
+ # Avoid calling Ruby 2.4+ String#pretty_print that prints multiline
+ # Strings prettier
+ Object.instance_method(:pretty_print).bind(obj).call
+ else
+ super
+ end
rescue => e
raise if e.is_a? Pry::Pager::StopPaging
begin

View File

@ -0,0 +1,32 @@
From 866ea0b9f983229f53997dd9c87212281683f3df Mon Sep 17 00:00:00 2001
From: Akira Matsuda <ronnie@dio.jp>
Date: Thu, 8 Dec 2016 03:54:12 +0900
Subject: [PATCH] Fixnum and Bignum are unified into Integer since Ruby 2.4
see: https://bugs.ruby-lang.org/issues/12005
---
spec/commands/ls_spec.rb | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/spec/commands/ls_spec.rb b/spec/commands/ls_spec.rb
index 0fc489b..d89fcc2 100644
--- a/spec/commands/ls_spec.rb
+++ b/spec/commands/ls_spec.rb
@@ -48,8 +48,15 @@
end
describe "immediates" do
- it "should work on Fixnum" do
- pry_eval("ls 5").should =~ /Fixnum#methods:.*modulo/m
+ # Ruby 2.4+
+ if 5.class.name == 'Integer'
+ it "should work on Integer" do
+ expect(pry_eval("ls 5")).to match(/Integer#methods:.*modulo/m)
+ end
+ else
+ it "should work on Fixnum" do
+ expect(pry_eval("ls 5")).to match(/Fixnum#methods:.*modulo/m)
+ end
end
end

View File

@ -0,0 +1,44 @@
From 81fc96f73bdb26901c75838262779002bf6e14c5 Mon Sep 17 00:00:00 2001
From: rpag <rpag@singletonclass.com>
Date: Mon, 12 Jan 2015 20:18:59 +0000
Subject: [PATCH] support custom implementation of BasicObject#inspect.
If BasicObject or a subclass of BasicObject implements #inspect,
we will try to use its return value as output but if that fails,
we'll fallback on __id__.
fixes #1341
---
lib/pry/color_printer.rb | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/lib/pry/color_printer.rb b/lib/pry/color_printer.rb
index 218a821..48bcc1a 100644
--- a/lib/pry/color_printer.rb
+++ b/lib/pry/color_printer.rb
@@ -34,14 +34,17 @@ def pp(obj)
super
rescue => e
raise if e.is_a? Pry::Pager::StopPaging
-
- # Read the class name off of the singleton class to provide a default
- # inspect.
- singleton = class << obj; self; end
- ancestors = Pry::Method.safe_send(singleton, :ancestors)
- klass = ancestors.reject { |k| k == singleton }.first
- obj_id = obj.__id__.to_s(16) rescue 0
- str = "#<#{klass}:0x#{obj_id}>"
+ begin
+ str = obj.inspect
+ rescue Exception
+ # Read the class name off of the singleton class to provide a default
+ # inspect.
+ singleton = class << obj; self; end
+ ancestors = Pry::Method.safe_send(singleton, :ancestors)
+ klass = ancestors.reject { |k| k == singleton }.first
+ obj_id = obj.__id__.to_s(16) rescue 0
+ str = "#<#{klass}:0x#{obj_id}>"
+ end
text highlight_object_literal(str)
end

BIN
pry-0.10.4.gem Normal file

Binary file not shown.

View File

@ -0,0 +1,27 @@
From 683b1abff5785a7fe2140ddf502ab82dbb968656 Mon Sep 17 00:00:00 2001
From: Ken Dreyer <ktdreyer@ktdreyer.com>
Date: Tue, 9 Dec 2014 20:44:02 -0700
Subject: [PATCH] spec: rm stray reference to OpenStruct
OpenStruct was removed in 91d412c044f174a2c50d1583a3f34c1f0f795e7d, but
a stray reference remained in the test suite. Remove it here.
---
spec/hooks_spec.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spec/hooks_spec.rb b/spec/hooks_spec.rb
index 8248f03..fa5bf05 100644
--- a/spec/hooks_spec.rb
+++ b/spec/hooks_spec.rb
@@ -368,7 +368,7 @@ describe Pry::Hooks do
describe "after_session hook" do
it 'should always run, even if uncaught exception bubbles out of repl' do
- o = OpenStruct.new
+ o = Pry::Config.new
o.great_escape = Class.new(StandardError)
old_ew = Pry.config.exception_whitelist
--
1.9.3

90
rubygem-pry.spec Normal file
View File

@ -0,0 +1,90 @@
%global gem_name pry
Name: rubygem-%{gem_name}
Version: 0.10.4
Release: 1
Summary: An IRB alternative and runtime developer console
License: MIT
URL: https://rubygems.org/gems/pry
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
Source1: https://github.com/pry/%{gem_name}/archive/v%{version}.tar.gz
# rm stray openstruct reference. Upstream at
# https://github.com/pry/pry/commit/70942ad3b2d93e028fc3e8bfe1c6bd11ec79ffad
Patch0: rubygem-pry-0.10.1-rm-openstruct.patch
# Fix Ruby 2.4 compatibility.
# https://github.com/pry/pry/pull/1586
Patch1: pry-0.10.4-support-custom-implementation-of-BasicObject-inspect.patch
Patch2: pry-0.10.4-Avoid-calling-Ruby-2.4-String-pretty_print-in-ColorPrinter.patch
Patch3: pry-0.10.4-Fixnum-and-Bignum-are-unified-into-Integer-since-Ruby-2.4.patch
%if 0%{?fc19} || 0%{?fc20} || 0%{?el7}
Requires: ruby(release) ruby(rubygems) rubygem(coderay) => 1.1.0 rubygem(coderay) < 1.2
Requires: rubygem(slop) => 3.4 rubygem(slop) < 4 rubygem(method_source) => 0.8.1
Requires: rubygem(method_source) < 0.9
%endif
BuildRequires: ruby(release) rubygems-devel ruby rubygem(rspec) rubygem(coderay) => 1.1.0
BuildRequires: rubygem(slop) => 3.4 rubygem(method_source) => 0.8.1 vi
BuildArch: noarch
%if 0%{?fc19} || 0%{?fc20} || 0%{?el7}
Provides: rubygem(%{gem_name}) = %{version}
%endif
%description
An IRB alternative and runtime developer console.
%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation for %{name}.
%prep
gem unpack %{SOURCE0}
%setup -q -D -T -n %{gem_name}-%{version}
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
%patch1 -p1
%patch2 -p1
%build
gem build %{gem_name}.gemspec
%gem_install
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
mkdir -p %{buildroot}%{_bindir}
cp -a .%{_bindir}/* \
%{buildroot}%{_bindir}/
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
%check
pushd .%{gem_instdir}
tar xvf %{SOURCE1}
ln -s %{gem_name}-%{version}/spec spec
cat %{PATCH0} | patch -p1
cat %{PATCH3} | patch -p1
touch Rakefile
sed -i '/gist --login/i pending "rubygem-gist is not in Fedora yet."' \
spec/commands/gist_spec.rb
sed -e "/require 'bundler\/setup'/ s/^/#/" -i spec/helper.rb
sed -e "/Bundler.require/ s/^/#/" -i spec/helper.rb
rspec spec
popd
%files
%{!?_licensedir:%global license %%doc}
%dir %{gem_instdir}
%{_bindir}/pry
%license %{gem_instdir}/LICENSE
%{gem_instdir}/bin
%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}
%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/CHANGELOG.md
%doc %{gem_instdir}/README.md
%changelog
* Thu Aug 20 2020 luoshengwei <luoshengwei@huawei.com> - 0.10.4-1
- package init

4
rubygem-pry.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: pry/pry
tag_prefix: "pry-"
separator: "."

BIN
v0.10.4.tar.gz Normal file

Binary file not shown.