rspec-support 3.6.0 → 3.7.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: a39471f0a21ffe1247f79c44e1e2975452335c0d
4
- data.tar.gz: a0b069a829099dc903dc988dd2dfaa640e8492a7
3
+ metadata.gz: 97a8c3ef5bd62597387905254a288976a0c64c7a
4
+ data.tar.gz: b43e05200a5722ac6b8df8f6e34b1e7b2a30804a
5
5
  SHA512:
6
- metadata.gz: 89338ce6b89473bd3bd5aa5d1d8d37270d144799f222bed8a2261d8e07d84aaafdfeedb4f18e58e1270583919e61ff9c5b5af4383adf9c872184cd83b7965947
7
- data.tar.gz: acd5ecc188371e729570a9d9d82fba8bb57a8ba220ad5aed7d3bafb612e4e185b07c47305612b75d3736831de260234bc9a880fd555790351c3a24aec7d1bafa
6
+ metadata.gz: fb1cfe9e1c326894f7a44d40df99e09ae579a39c2dac9dbe2af2e4996e76521d37bb7950f764f16c6a0c5864c384725042df706b9e22d3476628a0384bf47616
7
+ data.tar.gz: 8638d927462d2555d0ad2eba87dd5b0abfd3c2379d28430da87d447cccbc0630c75466438b250547994b95da13de042ae688830f109d8d9b6958de8a0ce84faa
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
@@ -1,2 +1,7 @@
1
- Rki��� ��|M��N��`�c�#3Q��W��;L�����?b�=t�x�<�l!��#ּ
2
- @��= ���K8"q��ٵ�MVpD@͛�vzv��c!��svfE��b�� x*�x[�A1"
1
+ �x%�����ᡢ�x�B�v3k�Dx0�p�)�j�ȫ��ty�w�����tg�S��`��7�
2
+ ����\��cFQ�OuT����U��HI`���Eg���_Dj�ӬL7��b_.�I�Ҳ(�a� ���x��c�@��`�%a_S�W����D\�Z��R�#�����h'}z�"|s��TJF[Eص�vUKo/�i)ٖ�
3
+ d`�N�f1M����'4��.�1^�!`Nz'h��y��
4
+ ��$�e�8�#X��>���)5���'%J �
5
+ ���|�C��աd��I9} �$���<Z�ډ*�����a���H=���m��(�Ic�
6
+ ߞ�q� He�R*],�v�H�;i�/���������
7
+ �_��Ns���׍�G����F��Ot�@��3�>4\T�<��i`�.�9����| ��y?9p�C�p�]��&�F ]�O "�k,�9�B�T�v�i��< `��+O�Y�L�&�W�9f����*�.���WL���[��d
data/Changelog.md CHANGED
@@ -1,3 +1,21 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.0...master)
3
+
4
+ ### 3.7.0 / 2017-05-04
5
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0...v3.7.0)
6
+
7
+ Enhancements:
8
+
9
+ * Improve compatibility with `--enable-frozen-string-literal` option
10
+ on Ruby 2.3+. (Pat Allan, #320)
11
+ * Add `Support.class_of` for extracting class of any object.
12
+ (Yuji Nakayama, #325)
13
+
14
+ Bug Fixes:
15
+
16
+ * Fix recursive const support to not blow up when given buggy classes
17
+ that raise odd errors from `#to_str`. (Myron Marston, #317)
18
+
1
19
  ### 3.6.0 / 2017-05-04
2
20
  [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta2...3.6.0)
3
21
 
data/lib/rspec/support.rb CHANGED
@@ -73,6 +73,16 @@ module RSpec
73
73
  end
74
74
  end
75
75
 
76
+ # @api private
77
+ #
78
+ # Used internally to get a class of a given object, even if it does not respond to #class.
79
+ def self.class_of(object)
80
+ object.class
81
+ rescue NoMethodError
82
+ singleton_class = class << object; self; end
83
+ singleton_class.ancestors.find { |ancestor| !ancestor.equal?(singleton_class) }
84
+ end
85
+
76
86
  # A single thread local variable so we don't excessively pollute that namespace.
77
87
  def self.thread_local_data
78
88
  Thread.current[:__rspec] ||= {}
@@ -181,19 +181,19 @@ module RSpec
181
181
  when Hash
182
182
  hash_to_string(object)
183
183
  when Array
184
- PP.pp(ObjectFormatter.prepare_for_inspection(object), "")
184
+ PP.pp(ObjectFormatter.prepare_for_inspection(object), "".dup)
185
185
  when String
186
186
  object =~ /\n/ ? object : object.inspect
187
187
  else
188
- PP.pp(object, "")
188
+ PP.pp(object, "".dup)
189
189
  end
190
190
  end
191
191
 
192
192
  def hash_to_string(hash)
193
193
  formatted_hash = ObjectFormatter.prepare_for_inspection(hash)
194
194
  formatted_hash.keys.sort_by { |k| k.to_s }.map do |key|
195
- pp_key = PP.singleline_pp(key, "")
196
- pp_value = PP.singleline_pp(formatted_hash[key], "")
195
+ pp_key = PP.singleline_pp(key, "".dup)
196
+ pp_value = PP.singleline_pp(formatted_hash[key], "".dup)
197
197
 
198
198
  "#{pp_key} => #{pp_value},"
199
199
  end.join("\n")
@@ -199,8 +199,7 @@ module RSpec
199
199
  end
200
200
 
201
201
  def klass
202
- singleton_class = class << object; self; end
203
- singleton_class.ancestors.find { |ancestor| !ancestor.equal?(singleton_class) }
202
+ Support.class_of(object)
204
203
  end
205
204
 
206
205
  # http://stackoverflow.com/a/2818916
@@ -64,7 +64,7 @@ module RSpec
64
64
  parts.inject([Object, '']) do |(mod, full_name), name|
65
65
  yield(full_name, name) if block_given? && !(Module === mod)
66
66
  return false unless const_defined_on?(mod, name)
67
- [get_const_defined_on(mod, name), [mod, name].join('::')]
67
+ [get_const_defined_on(mod, name), [mod.name, name].join('::')]
68
68
  end
69
69
  end
70
70
 
@@ -80,9 +80,9 @@ module RSpec
80
80
 
81
81
  if Ruby.jruby?
82
82
  ripper_requirements.push(Ruby.jruby_version >= '1.7.5')
83
- # Ripper on JRuby 9.0.0.0.rc1 or later reports wrong line number
83
+ # Ripper on JRuby 9.0.0.0.rc1 - 9.1.8.0 reports wrong line number
84
84
  # or cannot parse source including `:if`.
85
- ripper_requirements.push(Ruby.jruby_version < '9.0.0.0.rc1')
85
+ ripper_requirements.push(!Ruby.jruby_version.between?('9.0.0.0.rc1', '9.1.8.0'))
86
86
  end
87
87
 
88
88
  if ripper_requirements.all?
@@ -1,7 +1,7 @@
1
1
  module RSpec
2
2
  module Support
3
3
  module Version
4
- STRING = '3.6.0'
4
+ STRING = '3.7.0'
5
5
  end
6
6
  end
7
7
  end
@@ -28,8 +28,8 @@ module RSpec
28
28
  # Used internally to print longer warnings
29
29
  def warn_with(message, options={})
30
30
  call_site = options.fetch(:call_site) { CallerFilter.first_non_rspec_line }
31
- message << " Use #{options[:replacement]} instead." if options[:replacement]
32
- message << " Called from #{call_site}." if call_site
31
+ message += " Use #{options[:replacement]} instead." if options[:replacement]
32
+ message += " Called from #{call_site}." if call_site
33
33
  Support.warning_notifier.call message
34
34
  end
35
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.0
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -48,7 +48,7 @@ cert_chain:
48
48
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
49
49
  F3MdtaDehhjC
50
50
  -----END CERTIFICATE-----
51
- date: 2017-05-04 00:00:00.000000000 Z
51
+ date: 2017-10-17 00:00:00.000000000 Z
52
52
  dependencies:
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
@@ -153,8 +153,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  version: '0'
154
154
  requirements: []
155
155
  rubyforge_project:
156
- rubygems_version: 2.4.5.2
156
+ rubygems_version: 2.6.14
157
157
  signing_key:
158
158
  specification_version: 4
159
- summary: rspec-support-3.6.0
159
+ summary: rspec-support-3.7.0
160
160
  test_files: []
metadata.gz.sig CHANGED
Binary file