amazing_print 1.3.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +0 -6
  3. data/CHANGELOG.md +24 -0
  4. data/Gemfile +9 -0
  5. data/Gemfile.lock +51 -47
  6. data/README.md +9 -7
  7. data/lib/amazing_print/colorize.rb +5 -14
  8. data/lib/amazing_print/colors.rb +37 -0
  9. data/lib/amazing_print/core_ext/awesome_method_array.rb +4 -4
  10. data/lib/amazing_print/core_ext/class.rb +1 -1
  11. data/lib/amazing_print/core_ext/logger.rb +1 -3
  12. data/lib/amazing_print/core_ext/object.rb +1 -1
  13. data/lib/amazing_print/custom_defaults.rb +10 -3
  14. data/lib/amazing_print/ext/active_record.rb +5 -9
  15. data/lib/amazing_print/ext/active_support.rb +1 -3
  16. data/lib/amazing_print/ext/mongo_mapper.rb +4 -7
  17. data/lib/amazing_print/ext/mongoid.rb +2 -6
  18. data/lib/amazing_print/ext/nobrainer.rb +3 -5
  19. data/lib/amazing_print/ext/nokogiri.rb +1 -3
  20. data/lib/amazing_print/ext/ostruct.rb +1 -3
  21. data/lib/amazing_print/ext/ripple.rb +4 -5
  22. data/lib/amazing_print/formatter.rb +5 -6
  23. data/lib/amazing_print/formatters/array_formatter.rb +7 -6
  24. data/lib/amazing_print/formatters/base_formatter.rb +20 -25
  25. data/lib/amazing_print/formatters/class_formatter.rb +1 -0
  26. data/lib/amazing_print/formatters/dir_formatter.rb +11 -1
  27. data/lib/amazing_print/formatters/file_formatter.rb +11 -1
  28. data/lib/amazing_print/formatters/hash_formatter.rb +5 -3
  29. data/lib/amazing_print/formatters/method_formatter.rb +1 -0
  30. data/lib/amazing_print/formatters/mswin_helper.rb +63 -0
  31. data/lib/amazing_print/formatters/object_formatter.rb +2 -1
  32. data/lib/amazing_print/formatters/simple_formatter.rb +1 -0
  33. data/lib/amazing_print/formatters/struct_formatter.rb +2 -1
  34. data/lib/amazing_print/inspector.rb +29 -5
  35. data/lib/amazing_print/version.rb +1 -1
  36. data/lib/amazing_print.rb +3 -7
  37. data/spec/active_record_helper.rb +3 -0
  38. data/spec/colors_spec.rb +15 -6
  39. data/spec/core_ext/logger_spec.rb +7 -7
  40. data/spec/ext/action_controller_spec.rb +5 -5
  41. data/spec/ext/active_model_spec.rb +1 -1
  42. data/spec/ext/active_record_spec.rb +39 -73
  43. data/spec/ext/active_support_spec.rb +3 -3
  44. data/spec/ext/mongo_mapper_spec.rb +15 -11
  45. data/spec/ext/mongoid_spec.rb +7 -3
  46. data/spec/ext/nobrainer_spec.rb +6 -2
  47. data/spec/ext/nokogiri_spec.rb +7 -7
  48. data/spec/ext/ripple_spec.rb +6 -2
  49. data/spec/ext/sequel_spec.rb +1 -1
  50. data/spec/formats_spec.rb +101 -90
  51. data/spec/methods_spec.rb +12 -4
  52. data/spec/misc_spec.rb +29 -70
  53. data/spec/objects_spec.rb +4 -0
  54. data/spec/spec_helper.rb +11 -9
  55. metadata +10 -142
  56. data/lib/amazing_print/core_ext/string.rb +0 -45
  57. data/spec/core_ext/string_spec.rb +0 -15
@@ -23,11 +23,7 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
23
23
  :rank => 1
24
24
  }
25
25
  EOS
26
- if RUBY_VERSION < '1.9'
27
- str.sub!('?', 'Sat Oct 10 12:30:00 UTC 1992')
28
- else
29
- str.sub!('?', '1992-10-10 12:30:00 UTC')
30
- end
26
+ str.sub!('?', '1992-10-10 12:30:00 UTC')
31
27
  expect(out).to be_similar_to(str)
32
28
  end
33
29
 
@@ -51,13 +47,8 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
51
47
  }
52
48
  ]
53
49
  EOS
54
- if RUBY_VERSION < '1.9'
55
- str.sub!('??', 'Sat Oct 10 12:30:00 UTC 1992')
56
- str.sub!('?!', 'Mon May 26 14:15:00 UTC 2003')
57
- else
58
- str.sub!('??', '1992-10-10 12:30:00 UTC')
59
- str.sub!('?!', '2003-05-26 14:15:00 UTC')
60
- end
50
+ str.sub!('??', '1992-10-10 12:30:00 UTC')
51
+ str.sub!('?!', '2003-05-26 14:15:00 UTC')
61
52
  expect(out).to be_similar_to(str)
62
53
  end
63
54
 
@@ -83,13 +74,8 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
83
74
  }
84
75
  ]
85
76
  EOS
86
- if RUBY_VERSION < '1.9'
87
- str.sub!('??', 'Sat Oct 10 12:30:00 UTC 1992')
88
- str.sub!('?!', 'Mon May 26 14:15:00 UTC 2003')
89
- else
90
- str.sub!('??', '1992-10-10 12:30:00 UTC')
91
- str.sub!('?!', '2003-05-26 14:15:00 UTC')
92
- end
77
+ str.sub!('??', '1992-10-10 12:30:00 UTC')
78
+ str.sub!('?!', '2003-05-26 14:15:00 UTC')
93
79
  expect(out).to be_similar_to(str)
94
80
  end
95
81
  end
@@ -99,7 +85,7 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
99
85
  @ap = AmazingPrint::Inspector.new(plain: true)
100
86
  end
101
87
 
102
- it 'should show the entire record' do
88
+ it 'shows the entire record' do
103
89
  e = Email.create(email_address: 'foo@bar.com')
104
90
  u = User.last
105
91
  u.emails << e
@@ -139,21 +125,13 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
139
125
  elsif activerecord_5_0?
140
126
  ActiveRecordData.raw_5_0_diana
141
127
  elsif activerecord_4_2?
142
- if RUBY_VERSION > '1.9.3'
143
- ActiveRecordData.raw_4_2_diana
144
- else
145
- ActiveRecordData.raw_4_2_diana_legacy
146
- end
128
+ ActiveRecordData.raw_4_2_diana
147
129
  elsif activerecord_4_1?
148
130
  ActiveRecordData.raw_4_1_diana
149
131
  elsif activerecord_4_0?
150
132
  ActiveRecordData.raw_4_0_diana
151
133
  elsif activerecord_3_2?
152
- if RUBY_VERSION > '1.9.3'
153
- ActiveRecordData.raw_3_2_diana
154
- else
155
- ActiveRecordData.raw_3_2_diana_legacy
156
- end
134
+ ActiveRecordData.raw_3_2_diana
157
135
  end
158
136
 
159
137
  if RUBY_PLATFORM == 'java' && !activerecord_6_1?
@@ -181,21 +159,13 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
181
159
  elsif activerecord_5_0?
182
160
  ActiveRecordData.raw_5_0_multi
183
161
  elsif activerecord_4_2?
184
- if RUBY_VERSION > '1.9.3'
185
- ActiveRecordData.raw_4_2_multi
186
- else
187
- ActiveRecordData.raw_4_2_multi_legacy
188
- end
162
+ ActiveRecordData.raw_4_2_multi
189
163
  elsif activerecord_4_1?
190
164
  ActiveRecordData.raw_4_1_multi
191
165
  elsif activerecord_4_0?
192
166
  ActiveRecordData.raw_4_0_multi
193
167
  elsif activerecord_3_2?
194
- if RUBY_VERSION > '1.9.3'
195
- ActiveRecordData.raw_3_2_multi
196
- else
197
- ActiveRecordData.raw_3_2_multi_legacy
198
- end
168
+ ActiveRecordData.raw_3_2_multi
199
169
  end
200
170
 
201
171
  if RUBY_PLATFORM == 'java' && !activerecord_6_1?
@@ -216,7 +186,7 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
216
186
  @ap = AmazingPrint::Inspector.new(plain: true)
217
187
  end
218
188
 
219
- it 'should print the class' do
189
+ it 'prints the class' do
220
190
  expect(@ap.awesome(User)).to eq <<~EOS.strip
221
191
  class User < ActiveRecord::Base {
222
192
  :id => :integer,
@@ -228,7 +198,7 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
228
198
  EOS
229
199
  end
230
200
 
231
- it 'should print the class for non-direct subclasses of ActiveRecord::Base' do
201
+ it 'prints the class for non-direct subclasses of ActiveRecord::Base' do
232
202
  out = @ap.awesome(SubUser)
233
203
  expect(out).to eq <<~EOS.strip
234
204
  class SubUser < User {
@@ -241,11 +211,11 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
241
211
  EOS
242
212
  end
243
213
 
244
- it 'should print ActiveRecord::Base objects (ex. ancestors)' do
214
+ it 'prints ActiveRecord::Base objects (ex. ancestors)' do
245
215
  expect { @ap.awesome(User.ancestors) }.not_to raise_error
246
216
  end
247
217
 
248
- it 'should print valid HTML for subclasses' do
218
+ it 'prints valid HTML for subclasses' do
249
219
  @ap = AmazingPrint::Inspector.new(html: true)
250
220
  expect(@ap.awesome(SubUser)).to match('SubUser &lt; User')
251
221
  end
@@ -257,7 +227,7 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
257
227
  @ap = AmazingPrint::Inspector.new(plain: true)
258
228
  end
259
229
 
260
- it 'should format class methods properly' do
230
+ it 'formats class methods properly' do
261
231
  # spec 1
262
232
  out = @ap.awesome(User.methods.grep(/first/))
263
233
 
@@ -266,24 +236,24 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
266
236
  expect(out).to match(
267
237
  /\s+first\(\*args,\s&block\)\s+#<Class:\w+>\s+\(ActiveRecord::Querying\)/
268
238
  )
269
- elsif RUBY_VERSION >= '3.0.0'
239
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0')
240
+ expect(out).to match(
241
+ /\s*first\(\*(\*|args),\s+\?,\s+&(&|block)\)\s+#<Class:User> \(ActiveRecord::Querying\)/
242
+ )
243
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
270
244
  expect(out).to match(
271
245
  /\s*first\(\*(\*|args),\s+&(&|block)\)\s+#<Class:User> \(ActiveRecord::Querying\)/
272
246
  )
273
- elsif RUBY_VERSION >= '2.7.2'
247
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7.2')
274
248
  expect(out).to match(
275
249
  /\s*first\(\*(\*|args),\s+&(&|block)\)\s+User/
276
250
  )
277
- elsif RUBY_VERSION >= '2.7.0'
251
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6.7')
278
252
  expect(out).to match(
279
253
  /\s*first\(\*(\*|args),\s+&(&|block)\)\s+#<Class:ActiveRecord::Base> \(ActiveRecord::Querying\)/
280
254
  )
281
- elsif RUBY_VERSION =~ /^2\.4\.([4-9]|[1-9][0-9])|^2\.[56]\./
255
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.4.4')
282
256
  expect(out).to match(/\sfirst\(\*arg.*?\)\s+User/)
283
- elsif RUBY_VERSION >= '1.9'
284
- expect(out).to match(/\sfirst\(\*args,\s&block\)\s+Class \(ActiveRecord::Querying\)/)
285
- else
286
- expect(out).to match(/\sfirst\(\*arg1\)\s+Class \(ActiveRecord::Querying\)/)
287
257
  end
288
258
  else
289
259
  expect(out).to match(/\sfirst\(\*arg.*?\)\s+User \(ActiveRecord::Base\)/)
@@ -295,16 +265,16 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
295
265
  expect(out).to match(
296
266
  /\sprimary_key\(.*?\)\s+#<Class:\w+>\s\(ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods\)/
297
267
  )
298
- elsif RUBY_VERSION >= '3.0.0'
268
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
299
269
  expect(out).to match(/\sprimary_key\(.*?\)\s+#<Class:User> \(ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods\)/)
300
- elsif RUBY_VERSION =~ /^2\.7\.(0|1)/
270
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6.7') && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
271
+ expect(out).to match(/\sprimary_key\(.*?\)\s+#<Class:ActiveRecord::Base> \(ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods\)/)
272
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.4.4') || Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7.2')
273
+ expect(out).to match(/\sprimary_key\(.*?\)\s+User/)
274
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7.0')
301
275
  expect(out).to match(
302
276
  /\sprimary_key\(.*?\)\s+.+Class.+\(ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods\)/
303
277
  )
304
- elsif RUBY_VERSION =~ /^2\.4\.([4-9]|[1-9][0-9])|^2\.[56]\./ || RUBY_VERSION >= '2.7.2'
305
- expect(out).to match(/\sprimary_key\(.*?\)\s+User/)
306
- else
307
- expect(out).to match(/\sprimary_key\(.*?\)\s+Class \(ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods\)/)
308
278
  end
309
279
 
310
280
  # spec 3
@@ -312,20 +282,16 @@ RSpec.describe 'AmazingPrint/ActiveRecord', skip: -> { !ExtVerifier.has_rails? }
312
282
 
313
283
  if ActiveRecord::VERSION::MAJOR < 3
314
284
  expect(out).to match(/\svalidate\(\*arg.*?\)\s+User \(ActiveRecord::Base\)/)
315
- else
316
- if RUBY_PLATFORM == 'java'
317
- expect(out).to match(/\svalidate\(\*arg.*?\)\s+#<Class:\w+> \(ActiveModel::Validations::ClassMethods\)/)
318
- elsif RUBY_VERSION >= '3.0.0'
319
- expect(out).to match(/\svalidate\(\*arg.*?\)\s+#<Class:User> \(ActiveModel::Validations::ClassMethods\)/)
320
- elsif RUBY_VERSION =~ /2\.7\.(0|1)/
321
- expect(out).to match(
322
- /\svalidate\(\*args.*?\)\s+#<Class:ActiveRecord::Base> \(ActiveModel::Validations::ClassMethods\)/
323
- )
324
- elsif RUBY_VERSION =~ /^2\.4\.([4-9]|[1-9][0-9])|^2\.[56]\./ || RUBY_VERSION >= '2.7.2'
325
- expect(out).to match(/\svalidate\(\*arg.*?\)\s+User/)
326
- else
327
- expect(out).to match(/\svalidate\(\*arg.*?\)\s+Class \(ActiveModel::Validations::ClassMethods\)/)
328
- end
285
+ elsif RUBY_PLATFORM == 'java'
286
+ expect(out).to match(/\svalidate\(\*arg.*?\)\s+#<Class:\w+> \(ActiveModel::Validations::ClassMethods\)/)
287
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
288
+ expect(out).to match(/\svalidate\(\*arg.*?\)\s+#<Class:User> \(ActiveModel::Validations::ClassMethods\)/)
289
+ elsif (Gem::Version.new('2.6.7')..Gem::Version.new('2.7.1')).cover? Gem::Version.new(RUBY_VERSION)
290
+ expect(out).to match(
291
+ /\svalidate\(\*args.*?\)\s+#<Class:ActiveRecord::Base> \(ActiveModel::Validations::ClassMethods\)/
292
+ )
293
+ elsif Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.4.4') || Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7.2')
294
+ expect(out).to match(/\svalidate\(\*arg.*?\)\s+User/)
329
295
  end
330
296
  end
331
297
  end
@@ -15,21 +15,21 @@ RSpec.describe 'AmazingPrint::ActiveSupport', skip: -> { !ExtVerifier.has_rails?
15
15
  @ap = AmazingPrint::Inspector.new
16
16
  end
17
17
 
18
- it 'should format ActiveSupport::TimeWithZone as regular Time' do
18
+ it 'formats ActiveSupport::TimeWithZone as regular Time' do
19
19
  Time.zone = 'Eastern Time (US & Canada)'
20
20
  time = Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone
21
21
  expect(@ap.send(:awesome, time))
22
22
  .to eq("\e[0;32mSat, 10 Feb 2007 #{expected_ar_time_str} EST -05:00\e[0m")
23
23
  end
24
24
 
25
- it 'should format HashWithIndifferentAccess as regular Hash' do
25
+ it 'formats HashWithIndifferentAccess as regular Hash' do
26
26
  hash = HashWithIndifferentAccess.new({ hello: 'world' })
27
27
  expect(@ap.send(:awesome, hash)).to eq("{\n \"hello\"\e[0;37m => \e[0m\e[0;33m\"world\"\e[0m\n}")
28
28
  end
29
29
 
30
30
  # ActiveSupport sticks in instance variables to the date object. Make sure
31
31
  # we ignore that and format Date instance as regular date.
32
- it 'should formate Date object as date' do
32
+ it 'formates Date object as date' do
33
33
  date = Date.new(2003, 5, 26)
34
34
  expect(date.ai(plain: true)).to eq('Mon, 26 May 2003')
35
35
  expect(date.ai).to eq("\e[0;32mMon, 26 May 2003\e[0m")
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Lint/ConstantDefinitionInBlock
4
+
3
5
  require 'spec_helper'
4
6
 
5
7
  RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_mapper? }.call do
@@ -27,11 +29,11 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
27
29
  # before { @ap.options[:raw] = true }
28
30
  before { @ap = AmazingPrint::Inspector.new(plain: true, sort_keys: true, raw: true) }
29
31
 
30
- it 'should print class instance' do
32
+ it 'prints class instance' do
31
33
  user = MongoUser.new(first_name: 'Al', last_name: 'Capone')
32
34
 
33
35
  out = @ap.send(:awesome, user)
34
- .gsub(/#\<Proc:.+?\>/, 'amazing_print_PROC_STUB')
36
+ .gsub(/#<Proc:.+?>/, 'amazing_print_PROC_STUB')
35
37
  .gsub(/BSON::ObjectId\('[\da-f]+?'\)/, "BSON::ObjectId('123456789')")
36
38
 
37
39
  str = if MongoMapper::Version >= '0.13'
@@ -129,7 +131,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
129
131
  expect(out).to be_similar_to(str)
130
132
  end
131
133
 
132
- it 'should print the class' do
134
+ it 'prints the class' do
133
135
  expect(@ap.send(:awesome, MongoUser)).to eq <<~EOS.strip
134
136
  class MongoUser < Object {
135
137
  "_id" => :object_id,
@@ -139,7 +141,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
139
141
  EOS
140
142
  end
141
143
 
142
- it 'should print the class when type is undefined' do
144
+ it 'prints the class when type is undefined' do
143
145
  class Chamelion
144
146
  include MongoMapper::Document
145
147
  key :last_attribute
@@ -178,7 +180,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
178
180
  end
179
181
 
180
182
  describe 'with show associations turned off (default)' do
181
- it 'should render the class as normal' do
183
+ it 'renders the class as normal' do
182
184
  expect(@ap.send(:awesome, Parent)).to eq <<~EOS.strip
183
185
  class Parent < Object {
184
186
  "_id" => :object_id,
@@ -187,7 +189,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
187
189
  EOS
188
190
  end
189
191
 
190
- it 'should render an instance as normal' do
192
+ it 'renders an instance as normal' do
191
193
  parent = Parent.new(name: 'test')
192
194
  out = @ap.send(:awesome, parent)
193
195
  str = <<~EOS.strip
@@ -201,11 +203,11 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
201
203
  end
202
204
 
203
205
  describe 'with show associations turned on and inline embedded turned off' do
204
- before :each do
206
+ before do
205
207
  @ap = AmazingPrint::Inspector.new(plain: true, mongo_mapper: { show_associations: true })
206
208
  end
207
209
 
208
- it 'should render the class with associations shown' do
210
+ it 'renders the class with associations shown' do
209
211
  expect(@ap.send(:awesome, Parent)).to eq <<~EOS.strip
210
212
  class Parent < Object {
211
213
  "_id" => :object_id,
@@ -216,7 +218,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
216
218
  EOS
217
219
  end
218
220
 
219
- it 'should render an instance with associations shown' do
221
+ it 'renders an instance with associations shown' do
220
222
  parent = Parent.new(name: 'test')
221
223
  out = @ap.send(:awesome, parent)
222
224
  str = <<~EOS.strip
@@ -232,7 +234,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
232
234
  end
233
235
 
234
236
  describe 'with show associations turned on and inline embedded turned on' do
235
- before :each do
237
+ before do
236
238
  @ap = AmazingPrint::Inspector.new plain: true,
237
239
  mongo_mapper: {
238
240
  show_associations: true,
@@ -240,7 +242,7 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
240
242
  }
241
243
  end
242
244
 
243
- it 'should render an instance with associations shown and embeds there' do
245
+ it 'renders an instance with associations shown and embeds there' do
244
246
  parent = Parent.new(name: 'test', child: Child.new(data: 5))
245
247
  out = @ap.send(:awesome, parent)
246
248
  str = <<~EOS.strip
@@ -259,3 +261,5 @@ RSpec.describe 'AmazingPrint/MongoMapper', skip: -> { !ExtVerifier.has_mongo_map
259
261
  end
260
262
  end
261
263
  end
264
+
265
+ # rubocop:enable Lint/ConstantDefinitionInBlock
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Lint/ConstantDefinitionInBlock
4
+
3
5
  require 'spec_helper'
4
6
 
5
7
  RSpec.describe 'AmazingPrint/Mongoid', skip: -> { !ExtVerifier.has_mongoid? }.call do
@@ -23,7 +25,7 @@ RSpec.describe 'AmazingPrint/Mongoid', skip: -> { !ExtVerifier.has_mongoid? }.ca
23
25
  @ap = AmazingPrint::Inspector.new plain: true, sort_keys: true
24
26
  end
25
27
 
26
- it 'should print class instance' do
28
+ it 'prints class instance' do
27
29
  user = MongoUser.new first_name: 'Al', last_name: 'Capone'
28
30
  out = @ap.send :awesome, user
29
31
 
@@ -38,7 +40,7 @@ RSpec.describe 'AmazingPrint/Mongoid', skip: -> { !ExtVerifier.has_mongoid? }.ca
38
40
  expect(out).to be_similar_to(str, { skip_bson: true })
39
41
  end
40
42
 
41
- it 'should print the class' do
43
+ it 'prints the class' do
42
44
  class_spec = <<~EOS.strip
43
45
  class MongoUser < Object {
44
46
  :_id => :"bson/object_id",
@@ -50,7 +52,7 @@ RSpec.describe 'AmazingPrint/Mongoid', skip: -> { !ExtVerifier.has_mongoid? }.ca
50
52
  expect(@ap.send(:awesome, MongoUser)).to eq class_spec
51
53
  end
52
54
 
53
- it 'should print the class when type is undefined' do
55
+ it 'prints the class when type is undefined' do
54
56
  class Chamelion
55
57
  include Mongoid::Document
56
58
  field :last_attribute
@@ -66,3 +68,5 @@ RSpec.describe 'AmazingPrint/Mongoid', skip: -> { !ExtVerifier.has_mongoid? }.ca
66
68
  expect(@ap.send(:awesome, Chamelion)).to eq class_spec
67
69
  end
68
70
  end
71
+
72
+ # rubocop:enable Lint/ConstantDefinitionInBlock
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Lint/ConstantDefinitionInBlock
4
+
3
5
  require 'spec_helper'
4
6
 
5
7
  RSpec.describe 'AmazingPrint/NoBrainer', skip: -> { !ExtVerifier.has_nobrainer? }.call do
@@ -30,7 +32,7 @@ RSpec.describe 'AmazingPrint/NoBrainer', skip: -> { !ExtVerifier.has_nobrainer?
30
32
  @ap = AmazingPrint::Inspector.new plain: true
31
33
  end
32
34
 
33
- it 'should print class instance' do
35
+ it 'prints class instance' do
34
36
  user = SomeModel.new first_name: 'Al', last_name: 'Capone'
35
37
  out = @ap.send :awesome, user
36
38
 
@@ -45,7 +47,7 @@ RSpec.describe 'AmazingPrint/NoBrainer', skip: -> { !ExtVerifier.has_nobrainer?
45
47
  expect(out).to eq(str)
46
48
  end
47
49
 
48
- it 'should print the class' do
50
+ it 'prints the class' do
49
51
  class_spec = <<~EOS.strip
50
52
  class SomeModel < Object {
51
53
  :id => :string,
@@ -58,3 +60,5 @@ RSpec.describe 'AmazingPrint/NoBrainer', skip: -> { !ExtVerifier.has_nobrainer?
58
60
  expect(@ap.send(:awesome, SomeModel)).to eq class_spec
59
61
  end
60
62
  end
63
+
64
+ # rubocop:enable Lint/ConstantDefinitionInBlock
@@ -3,12 +3,12 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  RSpec.describe 'AmazingPrint/Nokogiri' do
6
- it 'should colorize tags' do
6
+ it 'colorizes tags' do
7
7
  xml = Nokogiri::XML('<html><body><h1></h1></body></html>')
8
8
  # FIXME: Due to something strange with Nokogiri and JRuby, we need to remove extra blank lines.
9
9
  output = xml.ai.gsub(/\n\n/, "\n")
10
10
  expect(output).to eq <<~EOS
11
- <?xml version=\"1.0\"?>\e[1;32m
11
+ <?xml version="1.0"?>\e[1;32m
12
12
  \e[0m<\e[1;36mhtml\e[0m>\e[1;32m
13
13
  \e[0m<\e[1;36mbody\e[0m>\e[1;32m
14
14
  \e[0m<\e[1;36mh1\e[0m/>\e[1;32m
@@ -17,10 +17,10 @@ RSpec.describe 'AmazingPrint/Nokogiri' do
17
17
  EOS
18
18
  end
19
19
 
20
- it 'should colorize contents' do
20
+ it 'colorizes contents' do
21
21
  xml = Nokogiri::XML('<html><body><h1>Hello</h1></body></html>')
22
22
  expect(xml.ai).to eq <<~EOS
23
- <?xml version=\"1.0\"?>\e[1;32m
23
+ <?xml version="1.0"?>\e[1;32m
24
24
  \e[0m<\e[1;36mhtml\e[0m>\e[1;32m
25
25
  \e[0m<\e[1;36mbody\e[0m>\e[1;32m
26
26
  \e[0m<\e[1;36mh1\e[0m>\e[1;32mHello\e[0m<\e[1;36m/h1\e[0m>\e[1;32m
@@ -29,16 +29,16 @@ RSpec.describe 'AmazingPrint/Nokogiri' do
29
29
  EOS
30
30
  end
31
31
 
32
- it 'should colorize class and id' do
32
+ it 'colorizes class and id' do
33
33
  xml = Nokogiri::XML('<html><body><h1><span class="world" id="hello"></span></h1></body></html>')
34
34
  # FIXME: Due to something strange with Nokogiri and JRuby, we need to remove extra blank lines.
35
35
  output = xml.ai.gsub(/\n\n/, "\n")
36
36
  expect(output).to eq <<~EOS
37
- <?xml version=\"1.0\"?>\e[1;32m
37
+ <?xml version="1.0"?>\e[1;32m
38
38
  \e[0m<\e[1;36mhtml\e[0m>\e[1;32m
39
39
  \e[0m<\e[1;36mbody\e[0m>\e[1;32m
40
40
  \e[0m<\e[1;36mh1\e[0m>\e[1;32m
41
- \e[0m<\e[1;36mspan\e[0m \e[1;33mclass=\"world\"\e[0m \e[1;33mid=\"hello\"\e[0m/>\e[1;32m
41
+ \e[0m<\e[1;36mspan\e[0m \e[1;33mclass="world"\e[0m \e[1;33mid="hello"\e[0m/>\e[1;32m
42
42
  \e[0m<\e[1;36m/h1\e[0m>\e[1;32m
43
43
  \e[0m<\e[1;36m/body\e[0m>\e[1;32m
44
44
  \e[0m<\e[1;36m/html\e[0m>
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Lint/ConstantDefinitionInBlock
4
+
3
5
  require 'spec_helper'
4
6
 
5
7
  RSpec.describe 'AmazingPrint/Ripple', skip: -> { !ExtVerifier.has_ripple? }.call do
@@ -24,7 +26,7 @@ RSpec.describe 'AmazingPrint/Ripple', skip: -> { !ExtVerifier.has_ripple? }.call
24
26
  @ap = AmazingPrint::Inspector.new plain: true, sort_keys: true
25
27
  end
26
28
 
27
- it 'should print class instance' do
29
+ it 'prints class instance' do
28
30
  user = RippleUser.new _id: '12345', first_name: 'Al', last_name: 'Capone'
29
31
  out = @ap.send :awesome, user
30
32
 
@@ -37,7 +39,7 @@ RSpec.describe 'AmazingPrint/Ripple', skip: -> { !ExtVerifier.has_ripple? }.call
37
39
  EOS
38
40
  end
39
41
 
40
- it 'should print the class' do
42
+ it 'prints the class' do
41
43
  expect(@ap.send(:awesome, RippleUser)).to eq <<~EOS.strip
42
44
  class RippleUser < Object {
43
45
  :_id => :string,
@@ -47,3 +49,5 @@ RSpec.describe 'AmazingPrint/Ripple', skip: -> { !ExtVerifier.has_ripple? }.call
47
49
  EOS
48
50
  end
49
51
  end
52
+
53
+ # rubocop:enable Lint/ConstantDefinitionInBlock
@@ -39,7 +39,7 @@ RSpec.describe 'AmazingPrint/Sequel', skip: -> { !ExtVerifier.has_sequel? }.call
39
39
  end
40
40
 
41
41
  it 'does not crash if on Sequel::Model' do
42
- out = @ap.awesome(::Sequel::Model)
42
+ out = @ap.awesome(Sequel::Model)
43
43
  expect(out).to be_similar_to('Sequel::Model < Object')
44
44
  end
45
45
  end