backports 3.15.0 → 3.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -3
- data/CHANGELOG.rdoc +25 -0
- data/README.rdoc +25 -2
- data/Rakefile +4 -1
- data/lib/backports/2.4.0/enumerable/sum.rb +8 -4
- data/lib/backports/2.6.0/array/difference.rb +7 -3
- data/lib/backports/2.7.0.rb +3 -0
- data/lib/backports/2.7.0/array.rb +3 -0
- data/lib/backports/2.7.0/array/intersection.rb +7 -0
- data/lib/backports/2.7.0/comparable.rb +3 -0
- data/lib/backports/2.7.0/comparable/clamp.rb +23 -0
- data/lib/backports/2.7.0/complex.rb +3 -0
- data/lib/backports/2.7.0/complex/comparision.rb +13 -0
- data/lib/backports/2.7.0/enumerable.rb +3 -0
- data/lib/backports/2.7.0/enumerable/filter_map.rb +14 -0
- data/lib/backports/2.7.0/enumerable/tally.rb +10 -0
- data/lib/backports/2.7.0/enumerator.rb +3 -0
- data/lib/backports/2.7.0/enumerator/produce.rb +20 -0
- data/lib/backports/2.7.0/time/ceil.rb +10 -0
- data/lib/backports/2.7.0/time/floor.rb +7 -0
- data/lib/backports/2.7.rb +1 -0
- data/lib/backports/latest.rb +1 -1
- data/lib/backports/version.rb +1 -1
- data/set_version/2.7.0.rb +1 -0
- data/spec/tags/1.9.3/core/array/to_h_spec.rb +3 -0
- data/spec/tags/1.9.3/core/enumerable/grep_v_spec.rb +2 -0
- data/spec/tags/1.9.3/core/enumerable/to_h_spec.rb +2 -0
- data/spec/tags/1.9.3/core/enumerator/produce_spec.rb +1 -0
- data/spec/tags/1.9.3/core/kernel/then_spec.rb +1 -0
- data/spec/tags/2.0.0/core/enumerable/grep_v_spec.rb +2 -0
- data/spec/tags/2.0.0/core/module/define_method_spec.rb +1 -0
- data/spec/tags/2.0.0/core/module/undef_method_spec.rb +2 -0
- data/spec/tags/2.0.0/core/struct/new_spec.rb +2 -0
- data/spec/tags/2.1.0/core/enumerable/grep_v_spec.rb +2 -0
- data/spec/tags/2.1.0/core/module/define_method_spec.rb +1 -0
- data/spec/tags/2.1.0/core/module/undef_method_spec.rb +2 -0
- data/spec/tags/2.1.0/core/struct/new_spec.rb +2 -0
- data/spec/tags/2.2.0/core/enumerable/grep_v_spec.rb +2 -0
- data/spec/tags/2.2.0/core/module/define_method_spec.rb +1 -0
- data/spec/tags/2.2.0/core/module/undef_method_spec.rb +2 -0
- data/spec/tags/2.2.0/core/struct/new_spec.rb +2 -0
- data/spec/tags/2.3.0/core/struct/new_spec.rb +2 -0
- data/test/_backport_guards_test.rb +14 -10
- metadata +42 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d00f36f9d5f7bf5ce2a2c0dcb5ccabb2492b027b8d3e14db7f4617233533a0c9
|
4
|
+
data.tar.gz: 44984e272e8685e222139966f66172453d8f4e5a6702c74e1d37a7adc2cf192d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3b7e7a35aa47664f455eaa705b47cd258d450aebe3948ebd09d83790a980931a51144288748a50bd807ad1767a703a4cd117b4adf31c63fa5ecb21f7ee0a747
|
7
|
+
data.tar.gz: dfad03e722422b3ff206059927d9c2eac7756b8ccff20829e0cf71506c5814a0559dbec18401b3d0ebef5b1106a34244b5532bcd49bf2ef053b8a0a7a98adadd
|
data/.travis.yml
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
---
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
- "1.
|
5
|
-
- "1.9.2"
|
4
|
+
- "1.9.3"
|
6
5
|
- "2.0.0"
|
7
6
|
- "2.1.0"
|
8
7
|
- "2.2.0"
|
@@ -14,7 +13,7 @@ rvm:
|
|
14
13
|
|
15
14
|
# matrix:
|
16
15
|
# allow_failures:
|
17
|
-
# - rvm:
|
16
|
+
# - rvm: ruby-head # Stdlib are creating issues, those will be deleted next version...
|
18
17
|
|
19
18
|
before_install:
|
20
19
|
- git submodule update --init --recursive
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,30 @@
|
|
1
1
|
= Backports --- History
|
2
2
|
|
3
|
+
== Version 3.16.0 - Feb 6th, 2020
|
4
|
+
|
5
|
+
Note: {Next major version (X-mas 2020)}[https://github.com/marcandre/backports/issues/139] will drop support for Ruby < 2.2.
|
6
|
+
|
7
|
+
* Ruby 2.7 backports
|
8
|
+
|
9
|
+
* Array
|
10
|
+
* +intersection+
|
11
|
+
|
12
|
+
* Comparable
|
13
|
+
* +clamp+ (with range)
|
14
|
+
|
15
|
+
* Complex
|
16
|
+
* +<=>+
|
17
|
+
|
18
|
+
* Enumerable
|
19
|
+
* +filter_map+
|
20
|
+
* +tally+
|
21
|
+
|
22
|
+
* Enumerator
|
23
|
+
* +produce+ (class method)
|
24
|
+
|
25
|
+
* Time
|
26
|
+
* +floor+, +ceil+
|
27
|
+
|
3
28
|
== Version 3.15.0 - May 15th, 2019
|
4
29
|
|
5
30
|
* Proc / Method
|
data/README.rdoc
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
= Backports Library {<img src="https://travis-ci.org/marcandre/backports.svg?branch=master">}[https://travis-ci.org/marcandre/backports] {<img src="https://badge.fury.io/rb/backports.svg" alt="Gem Version" />}[http://badge.fury.io/rb/backports]
|
2
2
|
|
3
|
-
Yearning to use some of the new cool features in Ruby 2.
|
3
|
+
Yearning to use some of the new cool features in Ruby 2.7 while using 2.3.x? Have some legacy code in Ruby 1.8 but can't live without `flat_map`?
|
4
4
|
|
5
5
|
This gem is for you!
|
6
6
|
|
7
7
|
The goal of 'backports' is to make it easier to write ruby code that runs across different versions of Ruby.
|
8
8
|
|
9
|
+
Note: {Next major version (X-mas 2020)}[https://github.com/marcandre/backports/issues/139] will drop support for Ruby < 2.2.
|
10
|
+
|
9
11
|
== Loading backports
|
10
12
|
|
11
13
|
=== Explicitly (recommended)
|
@@ -44,7 +46,7 @@ Goals for backported features:
|
|
44
46
|
2. Pure Ruby (no C extensions)
|
45
47
|
3. Pass ruby/spec[https://github.com/ruby/spec]
|
46
48
|
|
47
|
-
Let's be a bit more precise about the "breaking code" business. It is of course entirely possible that code will break. In particular, you may be distinguishing parameters with duck typing, but a builtin class may, in the future, be responding to a particular call. Here's
|
49
|
+
Let's be a bit more precise about the "breaking code" business. It is of course entirely possible that code will break. In particular, you may be distinguishing parameters with duck typing, but a builtin class may, in the future, be responding to a particular call. Here's {an exemple from Rails}(https://github.com/rails/rails/blob/a4b55827721a5967299f3c1531afb3d6d81e4ac0/activerecord/lib/active_record/associations/association.rb#L155-L159) that is relying on the fact that Proc and Method respond to :to_proc and Hash isn't. That is, until Ruby 2.3... This old version of Rails therefore won't work on Ruby 2.3, or on older Rubies with that the `2.3.0/hash/to_proc` loaded...
|
48
50
|
|
49
51
|
For Ruby < 2.0, there are some real incompatibilities. For example, <tt>Module::instance_methods</tt> which returns strings in 1.8 and symbols in 1.9. No change can be made without the risk of breaking existing code. Such incompatibilities are left unchanged, although you can require some of these changes in addition (see below).
|
50
52
|
|
@@ -75,6 +77,27 @@ Compatible with Ruby itself, JRuby and Rubinius.
|
|
75
77
|
|
76
78
|
= Complete List of backports
|
77
79
|
|
80
|
+
== Ruby 2.7 backports
|
81
|
+
|
82
|
+
* Array
|
83
|
+
* +intersection+
|
84
|
+
|
85
|
+
* Comparable
|
86
|
+
* +clamp+ (with range)
|
87
|
+
|
88
|
+
* Complex
|
89
|
+
* +<=>+
|
90
|
+
|
91
|
+
* Enumerable
|
92
|
+
* +filter_map+
|
93
|
+
* +tally+
|
94
|
+
|
95
|
+
* Enumerator
|
96
|
+
* +produce+ (class method)
|
97
|
+
|
98
|
+
* Time
|
99
|
+
* +floor+, +ceil+
|
100
|
+
|
78
101
|
== Ruby 2.6 backports
|
79
102
|
|
80
103
|
* Array
|
data/Rakefile
CHANGED
@@ -27,6 +27,7 @@ class SpecRunner
|
|
27
27
|
puts "*** mspec returned with unexpected results:"
|
28
28
|
puts result
|
29
29
|
puts "Command was:", cmd
|
30
|
+
exit
|
30
31
|
end
|
31
32
|
_, ex, p, f, e = data = match.captures.map{|x| x.to_i}
|
32
33
|
not_found << path if ex == 0
|
@@ -84,6 +85,7 @@ task :all_spec do # Necessary because of argument passing bug in 1.8.7
|
|
84
85
|
Rake::Task[:spec].invoke
|
85
86
|
end
|
86
87
|
|
88
|
+
desc "Same as spec, but creating tags for failures"
|
87
89
|
task :spec_tag, :path do |t, args|
|
88
90
|
Rake::Task[:spec].invoke(args[:path], 'tag -G fails')
|
89
91
|
end
|
@@ -109,7 +111,8 @@ DEPENDENCIES = Hash.new([]).merge!(
|
|
109
111
|
'2.3.0/array/bsearch_index' => ['backports/2.3.0/array/dig', 'backports/2.3.0/hash/dig'],
|
110
112
|
'2.3.0/array/dig' => ['backports/2.3.0/hash/dig', 'backports/2.3.0/struct/dig'],
|
111
113
|
'2.3.0/hash/dig' => ['backports/2.3.0/array/dig', 'backports/2.3.0/struct/dig'],
|
112
|
-
'2.3.0/struct/dig' => ['backports/2.3.0/array/dig', 'backports/2.3.0/hash/dig']
|
114
|
+
'2.3.0/struct/dig' => ['backports/2.3.0/array/dig', 'backports/2.3.0/hash/dig'],
|
115
|
+
'2.7.0/enumerable/tally' => ['backports/2.4.0/hash/transform_values', 'backports/2.2.0/kernel/itself'],
|
113
116
|
)
|
114
117
|
{
|
115
118
|
:each_with_index => %w[enumerable/detect enumerable/find enumerable/find_all enumerable/select enumerable/to_a],
|
@@ -1,6 +1,10 @@
|
|
1
1
|
module Enumerable
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
unless method_defined? :sum
|
3
|
+
require 'backports/1.8.7/enumerable/inject'
|
4
|
+
|
5
|
+
def sum(accumulator = 0, &block)
|
6
|
+
values = block_given? ? map(&block) : self
|
7
|
+
values.inject(accumulator, :+)
|
8
|
+
end
|
9
|
+
end
|
6
10
|
end
|
@@ -1,5 +1,9 @@
|
|
1
1
|
class Array
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
unless method_defined? :difference
|
3
|
+
require 'backports/1.8.7/enumerable/inject'
|
4
|
+
|
5
|
+
def difference(*arrays)
|
6
|
+
arrays.inject(Array.new(self), :-)
|
7
|
+
end
|
8
|
+
end
|
5
9
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'backports/2.4.0/comparable/clamp' unless Comparable.method_defined? :clamp
|
2
|
+
|
3
|
+
if Comparable.instance_method(:clamp).arity == 2
|
4
|
+
require 'backports/tools/alias_method_chain'
|
5
|
+
require 'backports/tools/arguments'
|
6
|
+
|
7
|
+
module Comparable
|
8
|
+
def clamp_with_range(range_or_min, max = Backports::Undefined)
|
9
|
+
return clamp_without_range(range_or_min, max) unless max == Backports::Undefined
|
10
|
+
raise TypeError, "wrong argument type #{range_or_min.class} (expected Range)" unless range_or_min.is_a?(Range)
|
11
|
+
|
12
|
+
if range_or_min.end.nil? # 2.6's endless range
|
13
|
+
self < range_or_min.begin ? range_or_min.begin : self
|
14
|
+
elsif range_or_min.exclude_end?
|
15
|
+
raise ArgumentError, 'cannot clamp with an exclusive range'
|
16
|
+
else
|
17
|
+
clamp_without_range(range_or_min.begin, range_or_min.end)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
Backports.alias_method_chain self, :clamp, :range
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'backports/1.9.1/enumerable/each_with_object' unless Enumerable.method_defined? :each_with_object
|
2
|
+
|
3
|
+
unless Enumerable.method_defined? :filter_map
|
4
|
+
module Enumerable
|
5
|
+
def filter_map
|
6
|
+
return to_enum(:filter_map) unless block_given?
|
7
|
+
|
8
|
+
each_with_object([]) { |item, res|
|
9
|
+
processed = yield(item)
|
10
|
+
res << processed if processed
|
11
|
+
}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'backports/1.9.1/enumerable/each_with_object' unless Enumerable.method_defined? :each_with_object
|
2
|
+
|
3
|
+
unless Enumerable.method_defined? :tally
|
4
|
+
module Enumerable
|
5
|
+
def tally
|
6
|
+
# NB: By spec, tally should return default-less hash
|
7
|
+
each_with_object(Hash.new(0)) { |item, res| res[item] += 1 }.tap { |h| h.default = nil }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Enumerator = Enumerable::Enumerator unless Object.const_defined? :Enumerator # For 1.8.x
|
2
|
+
|
3
|
+
unless Enumerator.respond_to?(:produce)
|
4
|
+
require 'backports/tools/arguments'
|
5
|
+
|
6
|
+
class Enumerator
|
7
|
+
def self.produce(initial = Backports::Undefined)
|
8
|
+
raise ArgumentError, 'no block given' unless block_given?
|
9
|
+
|
10
|
+
Enumerator.new do |y|
|
11
|
+
val = initial == Backports::Undefined ? yield() : initial
|
12
|
+
|
13
|
+
loop do
|
14
|
+
y << val
|
15
|
+
val = yield(val)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'backports/2.7.0'
|
data/lib/backports/latest.rb
CHANGED
data/lib/backports/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Backports
|
2
|
-
VERSION = "3.
|
2
|
+
VERSION = "3.16.0" unless Backports.constants.include? :VERSION # the guard is against a redefinition warning that happens on Travis
|
3
3
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/setter")
|
@@ -0,0 +1 @@
|
|
1
|
+
fails:Enumerator.produce when initial value skipped starts enumerable from result of first block call
|
@@ -0,0 +1 @@
|
|
1
|
+
fails:Kernel#then returns a sized Enumerator when no block given
|
@@ -2,3 +2,4 @@ fails:Module#define_method when name is not a special private name given an Unbo
|
|
2
2
|
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
3
3
|
fails:Module#define_method does not use the caller block when no block is given
|
4
4
|
fails:Module#define_method returns its symbol
|
5
|
+
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
|
@@ -1 +1,3 @@
|
|
1
1
|
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
+
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
+
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -2,3 +2,4 @@ fails:Module#define_method when name is not a special private name given an Unbo
|
|
2
2
|
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
3
3
|
fails:Module#define_method does not use the caller block when no block is given
|
4
4
|
fails:Module#define_method returns its symbol
|
5
|
+
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
|
@@ -1 +1,3 @@
|
|
1
1
|
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
+
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
+
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -2,3 +2,4 @@ fails:Module#define_method when name is not a special private name given an Unbo
|
|
2
2
|
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
3
3
|
fails:Module#define_method does not use the caller block when no block is given
|
4
4
|
fails:Module#define_method returns its symbol
|
5
|
+
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
|
@@ -1 +1,3 @@
|
|
1
1
|
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
+
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
+
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -1 +1,3 @@
|
|
1
1
|
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
+
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
+
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -109,13 +109,15 @@ class AAA_TestBackportGuards < Test::Unit::TestCase
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
112
|
+
if RUBY_VERSION < '2.7' # e2mmap was dropped in 2.7, and matrix reimpl depends on it
|
113
|
+
def test_setlib_load_correctly_after_requiring_backports
|
114
|
+
path = File.expand_path("../../lib/backports/1.9.2/stdlib/matrix.rb", __FILE__)
|
115
|
+
assert_equal false, $LOADED_FEATURES.include?(path)
|
116
|
+
assert_equal true, require('matrix')
|
117
|
+
assert_equal true, $bogus.include?("matrix")
|
118
|
+
assert_equal true, $LOADED_FEATURES.include?(path)
|
119
|
+
assert_equal false, require('matrix')
|
120
|
+
end
|
119
121
|
end
|
120
122
|
|
121
123
|
def test_setlib_load_correctly_before_requiring_backports_test
|
@@ -125,9 +127,11 @@ class AAA_TestBackportGuards < Test::Unit::TestCase
|
|
125
127
|
assert_equal false, require('abbrev')
|
126
128
|
end
|
127
129
|
|
128
|
-
|
129
|
-
|
130
|
-
|
130
|
+
if RUBY_VERSION < '2.7' # scanf was dropped in 2.7
|
131
|
+
def test_backports_does_not_interfere_for_libraries_without_backports_test
|
132
|
+
assert_equal true, require('scanf')
|
133
|
+
assert_equal false, require('scanf')
|
134
|
+
end
|
131
135
|
end
|
132
136
|
|
133
137
|
def test_load_correctly_new_libraries_test
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: backports
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marc-André Lafortune
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Essential backports that enable many of the nice features of Ruby for
|
14
14
|
earlier versions.
|
@@ -765,6 +765,21 @@ files:
|
|
765
765
|
- lib/backports/2.6.0/proc.rb
|
766
766
|
- lib/backports/2.6.0/proc/compose.rb
|
767
767
|
- lib/backports/2.6.rb
|
768
|
+
- lib/backports/2.7.0.rb
|
769
|
+
- lib/backports/2.7.0/array.rb
|
770
|
+
- lib/backports/2.7.0/array/intersection.rb
|
771
|
+
- lib/backports/2.7.0/comparable.rb
|
772
|
+
- lib/backports/2.7.0/comparable/clamp.rb
|
773
|
+
- lib/backports/2.7.0/complex.rb
|
774
|
+
- lib/backports/2.7.0/complex/comparision.rb
|
775
|
+
- lib/backports/2.7.0/enumerable.rb
|
776
|
+
- lib/backports/2.7.0/enumerable/filter_map.rb
|
777
|
+
- lib/backports/2.7.0/enumerable/tally.rb
|
778
|
+
- lib/backports/2.7.0/enumerator.rb
|
779
|
+
- lib/backports/2.7.0/enumerator/produce.rb
|
780
|
+
- lib/backports/2.7.0/time/ceil.rb
|
781
|
+
- lib/backports/2.7.0/time/floor.rb
|
782
|
+
- lib/backports/2.7.rb
|
768
783
|
- lib/backports/basic_object.rb
|
769
784
|
- lib/backports/force/array_map.rb
|
770
785
|
- lib/backports/force/enumerable_map.rb
|
@@ -809,6 +824,7 @@ files:
|
|
809
824
|
- set_version/2.4.0.rb
|
810
825
|
- set_version/2.5.0.rb
|
811
826
|
- set_version/2.6.0.rb
|
827
|
+
- set_version/2.7.0.rb
|
812
828
|
- set_version/setter.rb
|
813
829
|
- spec/tags/1.8.7/core/array/to_h_spec.rb
|
814
830
|
- spec/tags/1.8.7/core/enumerable/to_h_spec.rb
|
@@ -854,12 +870,17 @@ files:
|
|
854
870
|
- spec/tags/1.9.2/core/string/uplus_spec.rb
|
855
871
|
- spec/tags/1.9.2/core/struct/new_spec.rb
|
856
872
|
- spec/tags/1.9.3/core/array/bsearch_index_spec.rb
|
873
|
+
- spec/tags/1.9.3/core/array/to_h_spec.rb
|
857
874
|
- spec/tags/1.9.3/core/dir/each_child_spec.rb
|
875
|
+
- spec/tags/1.9.3/core/enumerable/grep_v_spec.rb
|
876
|
+
- spec/tags/1.9.3/core/enumerable/to_h_spec.rb
|
877
|
+
- spec/tags/1.9.3/core/enumerator/produce_spec.rb
|
858
878
|
- spec/tags/1.9.3/core/hash/slice_spec.rb
|
859
879
|
- spec/tags/1.9.3/core/hash/to_h_spec.rb
|
860
880
|
- spec/tags/1.9.3/core/hash/transform_keys_spec.rb
|
861
881
|
- spec/tags/1.9.3/core/hash/transform_values_spec.rb
|
862
882
|
- spec/tags/1.9.3/core/io/write_spec.rb
|
883
|
+
- spec/tags/1.9.3/core/kernel/then_spec.rb
|
863
884
|
- spec/tags/1.9.3/core/kernel/yield_self_spec.rb
|
864
885
|
- spec/tags/1.9.3/core/method/curry_spec.rb
|
865
886
|
- spec/tags/1.9.3/core/module/alias_method_spec.rb
|
@@ -871,6 +892,7 @@ files:
|
|
871
892
|
- spec/tags/1.9.3/core/string/uplus_spec.rb
|
872
893
|
- spec/tags/1.9.3/core/struct/new_spec.rb
|
873
894
|
- spec/tags/2.0.0/core/array/to_h_spec.rb
|
895
|
+
- spec/tags/2.0.0/core/enumerable/grep_v_spec.rb
|
874
896
|
- spec/tags/2.0.0/core/enumerable/to_h_spec.rb
|
875
897
|
- spec/tags/2.0.0/core/hash/slice_spec.rb
|
876
898
|
- spec/tags/2.0.0/core/hash/to_h_spec.rb
|
@@ -880,9 +902,11 @@ files:
|
|
880
902
|
- spec/tags/2.0.0/core/module/attr_writer_spec.rb
|
881
903
|
- spec/tags/2.0.0/core/module/define_method_spec.rb
|
882
904
|
- spec/tags/2.0.0/core/module/include_spec.rb
|
905
|
+
- spec/tags/2.0.0/core/module/undef_method_spec.rb
|
883
906
|
- spec/tags/2.0.0/core/string/uplus_spec.rb
|
884
907
|
- spec/tags/2.0.0/core/struct/new_spec.rb
|
885
908
|
- spec/tags/2.1.0/core/array/union_spec.rb
|
909
|
+
- spec/tags/2.1.0/core/enumerable/grep_v_spec.rb
|
886
910
|
- spec/tags/2.1.0/core/hash/slice_spec.rb
|
887
911
|
- spec/tags/2.1.0/core/hash/to_h_spec.rb
|
888
912
|
- spec/tags/2.1.0/core/module/attr_accessor_spec.rb
|
@@ -890,8 +914,10 @@ files:
|
|
890
914
|
- spec/tags/2.1.0/core/module/attr_spec.rb
|
891
915
|
- spec/tags/2.1.0/core/module/attr_writer_spec.rb
|
892
916
|
- spec/tags/2.1.0/core/module/define_method_spec.rb
|
917
|
+
- spec/tags/2.1.0/core/module/undef_method_spec.rb
|
893
918
|
- spec/tags/2.1.0/core/string/uplus_spec.rb
|
894
919
|
- spec/tags/2.1.0/core/struct/new_spec.rb
|
920
|
+
- spec/tags/2.2.0/core/enumerable/grep_v_spec.rb
|
895
921
|
- spec/tags/2.2.0/core/hash/slice_spec.rb
|
896
922
|
- spec/tags/2.2.0/core/hash/to_h_spec.rb
|
897
923
|
- spec/tags/2.2.0/core/module/attr_accessor_spec.rb
|
@@ -899,6 +925,7 @@ files:
|
|
899
925
|
- spec/tags/2.2.0/core/module/attr_spec.rb
|
900
926
|
- spec/tags/2.2.0/core/module/attr_writer_spec.rb
|
901
927
|
- spec/tags/2.2.0/core/module/define_method_spec.rb
|
928
|
+
- spec/tags/2.2.0/core/module/undef_method_spec.rb
|
902
929
|
- spec/tags/2.2.0/core/string/uplus_spec.rb
|
903
930
|
- spec/tags/2.2.0/core/struct/new_spec.rb
|
904
931
|
- spec/tags/2.3.0/core/hash/slice_spec.rb
|
@@ -939,7 +966,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
939
966
|
- !ruby/object:Gem::Version
|
940
967
|
version: '0'
|
941
968
|
requirements: []
|
942
|
-
|
969
|
+
rubyforge_project:
|
970
|
+
rubygems_version: 2.7.9
|
943
971
|
signing_key:
|
944
972
|
specification_version: 4
|
945
973
|
summary: Backports of Ruby features for older Ruby.
|
@@ -988,12 +1016,17 @@ test_files:
|
|
988
1016
|
- spec/tags/1.9.2/core/string/uplus_spec.rb
|
989
1017
|
- spec/tags/1.9.2/core/struct/new_spec.rb
|
990
1018
|
- spec/tags/1.9.3/core/array/bsearch_index_spec.rb
|
1019
|
+
- spec/tags/1.9.3/core/array/to_h_spec.rb
|
991
1020
|
- spec/tags/1.9.3/core/dir/each_child_spec.rb
|
1021
|
+
- spec/tags/1.9.3/core/enumerable/grep_v_spec.rb
|
1022
|
+
- spec/tags/1.9.3/core/enumerable/to_h_spec.rb
|
1023
|
+
- spec/tags/1.9.3/core/enumerator/produce_spec.rb
|
992
1024
|
- spec/tags/1.9.3/core/hash/slice_spec.rb
|
993
1025
|
- spec/tags/1.9.3/core/hash/to_h_spec.rb
|
994
1026
|
- spec/tags/1.9.3/core/hash/transform_keys_spec.rb
|
995
1027
|
- spec/tags/1.9.3/core/hash/transform_values_spec.rb
|
996
1028
|
- spec/tags/1.9.3/core/io/write_spec.rb
|
1029
|
+
- spec/tags/1.9.3/core/kernel/then_spec.rb
|
997
1030
|
- spec/tags/1.9.3/core/kernel/yield_self_spec.rb
|
998
1031
|
- spec/tags/1.9.3/core/method/curry_spec.rb
|
999
1032
|
- spec/tags/1.9.3/core/module/alias_method_spec.rb
|
@@ -1005,6 +1038,7 @@ test_files:
|
|
1005
1038
|
- spec/tags/1.9.3/core/string/uplus_spec.rb
|
1006
1039
|
- spec/tags/1.9.3/core/struct/new_spec.rb
|
1007
1040
|
- spec/tags/2.0.0/core/array/to_h_spec.rb
|
1041
|
+
- spec/tags/2.0.0/core/enumerable/grep_v_spec.rb
|
1008
1042
|
- spec/tags/2.0.0/core/enumerable/to_h_spec.rb
|
1009
1043
|
- spec/tags/2.0.0/core/hash/slice_spec.rb
|
1010
1044
|
- spec/tags/2.0.0/core/hash/to_h_spec.rb
|
@@ -1014,9 +1048,11 @@ test_files:
|
|
1014
1048
|
- spec/tags/2.0.0/core/module/attr_writer_spec.rb
|
1015
1049
|
- spec/tags/2.0.0/core/module/define_method_spec.rb
|
1016
1050
|
- spec/tags/2.0.0/core/module/include_spec.rb
|
1051
|
+
- spec/tags/2.0.0/core/module/undef_method_spec.rb
|
1017
1052
|
- spec/tags/2.0.0/core/string/uplus_spec.rb
|
1018
1053
|
- spec/tags/2.0.0/core/struct/new_spec.rb
|
1019
1054
|
- spec/tags/2.1.0/core/array/union_spec.rb
|
1055
|
+
- spec/tags/2.1.0/core/enumerable/grep_v_spec.rb
|
1020
1056
|
- spec/tags/2.1.0/core/hash/slice_spec.rb
|
1021
1057
|
- spec/tags/2.1.0/core/hash/to_h_spec.rb
|
1022
1058
|
- spec/tags/2.1.0/core/module/attr_accessor_spec.rb
|
@@ -1024,8 +1060,10 @@ test_files:
|
|
1024
1060
|
- spec/tags/2.1.0/core/module/attr_spec.rb
|
1025
1061
|
- spec/tags/2.1.0/core/module/attr_writer_spec.rb
|
1026
1062
|
- spec/tags/2.1.0/core/module/define_method_spec.rb
|
1063
|
+
- spec/tags/2.1.0/core/module/undef_method_spec.rb
|
1027
1064
|
- spec/tags/2.1.0/core/string/uplus_spec.rb
|
1028
1065
|
- spec/tags/2.1.0/core/struct/new_spec.rb
|
1066
|
+
- spec/tags/2.2.0/core/enumerable/grep_v_spec.rb
|
1029
1067
|
- spec/tags/2.2.0/core/hash/slice_spec.rb
|
1030
1068
|
- spec/tags/2.2.0/core/hash/to_h_spec.rb
|
1031
1069
|
- spec/tags/2.2.0/core/module/attr_accessor_spec.rb
|
@@ -1033,6 +1071,7 @@ test_files:
|
|
1033
1071
|
- spec/tags/2.2.0/core/module/attr_spec.rb
|
1034
1072
|
- spec/tags/2.2.0/core/module/attr_writer_spec.rb
|
1035
1073
|
- spec/tags/2.2.0/core/module/define_method_spec.rb
|
1074
|
+
- spec/tags/2.2.0/core/module/undef_method_spec.rb
|
1036
1075
|
- spec/tags/2.2.0/core/string/uplus_spec.rb
|
1037
1076
|
- spec/tags/2.2.0/core/struct/new_spec.rb
|
1038
1077
|
- spec/tags/2.3.0/core/hash/slice_spec.rb
|