corefines 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 85b1a470338e303705ff7caf0c4cfb7dd36c4cb6
4
- data.tar.gz: 5fbaac4aa91cd5b8d36ed2889bb1296deb5d2b6f
3
+ metadata.gz: e3779e9f17fb899aa96118417ea1426efcdb53d9
4
+ data.tar.gz: d72b1df9289ae8b439d698af8ae66b469d5aa492
5
5
  SHA512:
6
- metadata.gz: 3f2dc602df43dcfdcdadc87d9bcd551f59a9e9836fe0ded9609dfeb1ed1c33fbba0afeb09dea1259675769e959e23fc80f8f65200736a3f3a470a8b8b47832d5
7
- data.tar.gz: ba274790cd0239df3761c3d231d92e9acf0d6158e96889d4b7016349e0c4ac242194c10532391f4ff11999bf5d7d23d3f42087bee4a6cc10e56d3e1ad621e7ea
6
+ metadata.gz: ca6c1f9221db16740578b134c66820695db1e3ac332e80803c3ff204da2cb77c7ae2374ab43ba0f327c434a3d7399b1dd0b821e45e407a8631e77a86ff4488f8
7
+ data.tar.gz: e3f0db1ad0602e6e24434d24f17b0a6eeaf0a0173264208aa0e47968d649b178227a9a0cde320a0304b22b65a5cc5637f0e7fc4f2649d79cf0d88da9ac19aee4
data/CHANGELOG.adoc CHANGED
@@ -4,6 +4,11 @@
4
4
  :issue-uri: {repo-uri}/issues
5
5
 
6
6
 
7
+ == 1.5.0 (2015-05-03)
8
+
9
+ * Rename String refinement `#to_regexp` to `#to_re` to avoid bug https://bugs.ruby-lang.org/issues/11117[#11117] in MRI.
10
+
11
+
7
12
  == 1.4.0 (2015-05-03)
8
13
 
9
14
  * Add new refinement {doc-base-url}/String/ForceUTF8[String#force_utf8].
data/README.adoc CHANGED
@@ -41,12 +41,12 @@ TODO
41
41
  Add this line to your application’s Gemfile:
42
42
 
43
43
  [source]
44
- gem 'corefines', '~> 1.4'
44
+ gem 'corefines', '~> 1.5'
45
45
 
46
46
  or to your gemspec:
47
47
 
48
48
  [source]
49
- s.add_runtime_dependency 'corefines', '~> 1.4'
49
+ s.add_runtime_dependency 'corefines', '~> 1.5'
50
50
 
51
51
  and then execute:
52
52
 
@@ -171,7 +171,7 @@ Not ideal indeed, but probably the best of what we can achieve.
171
171
  ** {doc-base-url}/String/RelativePathFrom[#relative_path_from]
172
172
  ** {doc-base-url}/String/Remove[#remove]
173
173
  ** {doc-base-url}/String/ToB[#to_b]
174
- ** {doc-base-url}/String/ToRegexp[#to_regexp]
174
+ ** {doc-base-url}/String/ToRe[#to_re]
175
175
  ** {doc-base-url}/String/Unindent[#unindent] (alias `#strip_heredoc`)
176
176
  * {doc-base-url}/Symbol[Symbol]
177
177
  ** {doc-base-url}/Symbol/Call[#call]
@@ -314,22 +314,25 @@ module Corefines
314
314
  end
315
315
 
316
316
  ##
317
- # @!method to_regexp(opts = {})
317
+ # @!method to_re(opts = {})
318
318
  # Returns a regular expression represented by this string.
319
319
  #
320
320
  # @example
321
- # '/^foo/'.to_regexp # => /^foo/
322
- # '/foo/i'.to_regexp # => /foo/i
323
- # 'foo'.to_regexp # => nil
321
+ # '/^foo/'.to_re # => /^foo/
322
+ # '/foo/i'.to_re # => /foo/i
323
+ # 'foo'.to_re # => nil
324
324
  #
325
- # 'foo'.to_regexp(literal: true) # => /foo/
326
- # '^foo*'.to_regexp(literal: true) # => /\^foo\*/
325
+ # 'foo'.to_re(literal: true) # => /foo/
326
+ # '^foo*'.to_re(literal: true) # => /\^foo\*/
327
327
  #
328
- # '/foo/'.to_regexp(detect: true) # => /foo/
329
- # '$foo/'.to_regexp(detect: true) # => /\$foo\//
330
- # ''.to_regexp(detect: true) # => nil
328
+ # '/foo/'.to_re(detect: true) # => /foo/
329
+ # '$foo/'.to_re(detect: true) # => /\$foo\//
330
+ # ''.to_re(detect: true) # => nil
331
331
  #
332
- # '/foo/'.to_regexp(multiline: true) # => /foo/m
332
+ # '/foo/'.to_re(multiline: true) # => /foo/m
333
+ #
334
+ # @note This method was renamed from +to_regexp+ to +to_re+ due to bug
335
+ # in MRI, see {#11117}[https://bugs.ruby-lang.org/issues/11117].
333
336
  #
334
337
  # @param opts [Hash] options
335
338
  # @option opts :literal [Boolean] treat meta characters and other regexp
@@ -344,9 +347,9 @@ module Corefines
344
347
  # @return [Regexp, nil] a regexp, or +nil+ if +:literal+ is not set or
345
348
  # +false+ and this string doesn't represent a valid regexp or is empty.
346
349
  #
347
- module ToRegexp
350
+ module ToRe
348
351
  refine ::String do
349
- def to_regexp(opts = {})
352
+ def to_re(opts = {})
350
353
 
351
354
  if opts[:literal]
352
355
  content = ::Regexp.escape(self)
@@ -1,3 +1,3 @@
1
1
  module Corefines
2
- VERSION = '1.4.0'
2
+ VERSION = '1.5.0'
3
3
  end
@@ -1,9 +1,9 @@
1
1
  # coding: utf-8
2
2
 
3
3
  describe String do
4
- using Corefines::String::to_regexp
4
+ using Corefines::String::to_re
5
5
 
6
- describe 'to_regexp' do
6
+ describe 'to_re' do
7
7
 
8
8
  context "with defaults" do
9
9
  {
@@ -20,13 +20,13 @@ describe String do
20
20
  }
21
21
  .each do |str, expected|
22
22
  it "returns regexp '#{expected.inspect}' for string '#{str}'" do
23
- expect(str.to_regexp).to eql expected
23
+ expect(str.to_re).to eql expected
24
24
  end
25
25
  end
26
26
 
27
27
  %w[n e s u nesu].each do |kcode|
28
28
  it "ignores encoding option: #{kcode}" do
29
- expect("/foo/#{kcode}".to_regexp).to eql /foo/
29
+ expect("/foo/#{kcode}".to_re).to eql /foo/
30
30
  end
31
31
  end
32
32
  end
@@ -38,7 +38,7 @@ describe String do
38
38
  }
39
39
  .each do |str, expected|
40
40
  it "returns regexp '#{expected.inspect}' for string '#{str}" do
41
- expect(str.to_regexp(literal: true)).to eql expected
41
+ expect(str.to_re(literal: true)).to eql expected
42
42
  end
43
43
  end
44
44
  end
@@ -55,21 +55,21 @@ describe String do
55
55
  }
56
56
  .each do |str, expected|
57
57
  it "returns regexp '#{expected.inspect}' for string '#{str}'" do
58
- expect(str.to_regexp(detect: true)).to eql expected
58
+ expect(str.to_re(detect: true)).to eql expected
59
59
  end
60
60
  end
61
61
  end
62
62
 
63
63
  context "with ignore_case" do
64
- it { expect('/foo/'.to_regexp(ignore_case: true)).to eql /foo/i }
64
+ it { expect('/foo/'.to_re(ignore_case: true)).to eql /foo/i }
65
65
  end
66
66
 
67
67
  context "with multiline" do
68
- it { expect('/foo/'.to_regexp(multiline: true)).to eql /foo/m }
68
+ it { expect('/foo/'.to_re(multiline: true)).to eql /foo/m }
69
69
  end
70
70
 
71
71
  context "with extended" do
72
- it { expect('/foo/'.to_regexp(extended: true)).to eql /foo/x }
72
+ it { expect('/foo/'.to_re(extended: true)).to eql /foo/x }
73
73
  end
74
74
  end
75
75
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: corefines
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Jirutka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-02 00:00:00.000000000 Z
11
+ date: 2015-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -149,7 +149,7 @@ files:
149
149
  - spec/string/relative_path_from_spec.rb
150
150
  - spec/string/remove_spec.rb
151
151
  - spec/string/to_b_spec.rb
152
- - spec/string/to_regexp_spec.rb
152
+ - spec/string/to_re_spec.rb
153
153
  - spec/string/unindent_spec.rb
154
154
  - spec/support/alias_submodules_spec.rb
155
155
  - spec/support/classes_including_module_spec.rb