rspeckled 1.4.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +2 -1
  3. data/LICENSE.txt +1 -1
  4. data/lib/rspeckled/helpers/factories.rb +8 -2
  5. data/lib/rspeckled/helpers/filepaths.rb +30 -22
  6. data/lib/rspeckled/helpers/null_objects.rb +8 -2
  7. data/lib/rspeckled/helpers/patterns.rb +75 -41
  8. data/lib/rspeckled/helpers/responses.rb +8 -2
  9. data/lib/rspeckled/patches.rb +8 -6
  10. data/lib/rspeckled/plugins/configuration/capybara_screenshot.rb +5 -4
  11. data/lib/rspeckled/plugins/configuration/carrier_wave.rb +1 -1
  12. data/lib/rspeckled/plugins/configuration/devise.rb +4 -4
  13. data/lib/rspeckled/plugins/configuration/dox.rb +4 -6
  14. data/lib/rspeckled/plugins/configuration/email_spec.rb +3 -3
  15. data/lib/rspeckled/plugins/configuration/factory_bot.rb +2 -2
  16. data/lib/rspeckled/plugins/configuration/shoulda.rb +2 -2
  17. data/lib/rspeckled/plugins/configuration/vcr.rb +6 -4
  18. data/lib/rspeckled/plugins/configuration/warden.rb +3 -2
  19. data/lib/rspeckled/plugins/extensions/awesome_print.rb +20 -7
  20. data/lib/rspeckled/plugins/extensions/capybara.rb +16 -6
  21. data/lib/rspeckled/plugins/extensions/faraday/middleware/curl_logger.rb +10 -3
  22. data/lib/rspeckled/plugins/extensions/faraday.rb +2 -1
  23. data/lib/rspeckled/plugins/extensions/omniauth/mock_authentications/ebay.rb +1 -1
  24. data/lib/rspeckled/plugins/extensions/omniauth/mock_authentications/facebook.rb +1 -1
  25. data/lib/rspeckled/plugins/extensions/omniauth/mock_authentications/twitter.rb +1 -1
  26. data/lib/rspeckled/plugins/extensions/omniauth.rb +6 -3
  27. data/lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb +3 -1
  28. data/lib/rspeckled/plugins/extensions/selenium/drivers/chrome.rb +6 -6
  29. data/lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb +14 -3
  30. data/lib/rspeckled/plugins/extensions/strong_parameters.rb +2 -1
  31. data/lib/rspeckled/plugins/extensions/vcr/matchers/uri_without_trailing_id.rb +3 -1
  32. data/lib/rspeckled/plugins/extensions/vcr.rb +8 -4
  33. data/lib/rspeckled/plugins/hooks/action_mailer.rb +2 -2
  34. data/lib/rspeckled/plugins/hooks/authentication.rb +87 -64
  35. data/lib/rspeckled/plugins/hooks/bullet.rb +3 -1
  36. data/lib/rspeckled/plugins/hooks/capybara.rb +2 -2
  37. data/lib/rspeckled/plugins/hooks/carrier_wave.rb +2 -2
  38. data/lib/rspeckled/plugins/hooks/database_cleaner.rb +3 -11
  39. data/lib/rspeckled/plugins/hooks/devise.rb +1 -1
  40. data/lib/rspeckled/plugins/hooks/dox.rb +1 -1
  41. data/lib/rspeckled/plugins/hooks/elasticsearch.rb +13 -9
  42. data/lib/rspeckled/plugins/hooks/factory_bot.rb +1 -1
  43. data/lib/rspeckled/plugins/hooks/foreign_keys.rb +39 -33
  44. data/lib/rspeckled/plugins/hooks/garbage_collection.rb +1 -1
  45. data/lib/rspeckled/plugins/hooks/rails.rb +52 -0
  46. data/lib/rspeckled/plugins/hooks/redis.rb +3 -3
  47. data/lib/rspeckled/plugins/hooks/referehencible.rb +2 -2
  48. data/lib/rspeckled/plugins/hooks/request.rb +1 -1
  49. data/lib/rspeckled/plugins/hooks/rspec_mocks.rb +8 -4
  50. data/lib/rspeckled/plugins/hooks/selenium_webdriver.rb +2 -2
  51. data/lib/rspeckled/plugins/hooks/sidekiq.rb +14 -12
  52. data/lib/rspeckled/plugins/hooks/singletons.rb +2 -2
  53. data/lib/rspeckled/plugins/hooks/stripe.rb +5 -3
  54. data/lib/rspeckled/plugins/hooks/timecop.rb +3 -3
  55. data/lib/rspeckled/plugins/hooks/vcr.rb +2 -2
  56. data/lib/rspeckled/plugins/hooks/warden.rb +3 -3
  57. data/lib/rspeckled/plugins/hooks/webmock.rb +3 -3
  58. data/lib/rspeckled/plugins.rb +22 -18
  59. data/lib/rspeckled/reporting/example.rb +10 -8
  60. data/lib/rspeckled/reporting/outputs/csv.rb +2 -0
  61. data/lib/rspeckled/reporting/outputs/text.rb +17 -15
  62. data/lib/rspeckled/reporting/runner.rb +26 -24
  63. data/lib/rspeckled/spec_helpers/active_record_connection_setup.rb +13 -12
  64. data/lib/rspeckled/spec_helpers/rails_engine.rb +2 -2
  65. data/lib/rspeckled/spec_helpers/rspeckled.rb +17 -1
  66. data/lib/rspeckled/support.rb +26 -22
  67. data/lib/rspeckled/tasks/documentation.rake +28 -8
  68. data/lib/rspeckled/version.rb +3 -1
  69. data.tar.gz.sig +0 -0
  70. metadata +30 -28
  71. metadata.gz.sig +0 -0
@@ -8,7 +8,7 @@ require 'logger'
8
8
  #
9
9
  abort('DATABASE_URL environment variable is set') if ENV['DATABASE_URL']
10
10
 
11
- RSpec.configure do |config|
11
+ ::RSpec.configure do |config| # rubocop:disable Metrics/BlockLength
12
12
  ##############################################################################
13
13
  # RSPECKLED CONFIGURATION
14
14
  ##############################################################################
@@ -16,10 +16,10 @@ RSpec.configure do |config|
16
16
  default_logger = ::Logger.new($stdout)
17
17
  default_logger.level = ENV.fetch('RSPECKLED_LOG_LEVEL', ::Logger::WARN).to_i
18
18
 
19
- config.add_setting :rspeckled_logger, :default => default_logger
20
- config.add_setting :rspeckled_disabled_plugin_configuration, :default => []
21
- config.add_setting :rspeckled_disabled_plugin_hooks, :default => []
22
- config.add_setting :rspeckled_disabled_plugin_extensions, :default => []
19
+ config.add_setting :rspeckled_logger, default: default_logger
20
+ config.add_setting :rspeckled_disabled_plugin_configuration, default: []
21
+ config.add_setting :rspeckled_disabled_plugin_hooks, default: []
22
+ config.add_setting :rspeckled_disabled_plugin_extensions, default: []
23
23
 
24
24
  ##############################################################################
25
25
  # RSPEC 4 PREP
@@ -35,7 +35,9 @@ RSpec.configure do |config|
35
35
  config.infer_base_class_for_anonymous_controllers = true
36
36
  config.use_transactional_fixtures = true
37
37
 
38
- config.infer_spec_type_from_file_location! if config.respond_to?(:infer_spec_type_from_file_location!)
38
+ if config.respond_to?(:infer_spec_type_from_file_location!)
39
+ config.infer_spec_type_from_file_location!
40
+ end
39
41
  end
40
42
 
41
43
  ##############################################################################
@@ -89,26 +91,28 @@ RSpec.configure do |config|
89
91
  ##############################################################################
90
92
 
91
93
  # Pending Specs
92
- config.alias_example_to :pit, :pending => true
94
+ config.alias_example_to :pit, pending: true
93
95
 
94
96
  # Focused Specs
95
97
  config.filter_run_when_matching :focused
96
- config.alias_example_to :fit, :focused => true
98
+ config.alias_example_to :fit, focused: true
97
99
 
98
100
  # Focus and Force Selenium
99
- config.alias_example_to :sit, :focused => true,
100
- :autofocus => true,
101
- :js => true,
102
- :debug => true,
103
- :delay => 0,
104
- :driver => :firefox
105
-
106
- config.alias_example_to :sscenario, :focused => true,
107
- :autofocus => true,
108
- :js => true,
109
- :debug => true,
110
- :delay => 0,
111
- :driver => :firefox
101
+ config.alias_example_to :sit,
102
+ focused: true,
103
+ autofocus: true,
104
+ js: true,
105
+ debug: true,
106
+ delay: 0,
107
+ driver: :firefox
108
+
109
+ config.alias_example_to :sscenario,
110
+ focused: true,
111
+ autofocus: true,
112
+ js: true,
113
+ debug: true,
114
+ delay: 0,
115
+ driver: :firefox
112
116
 
113
117
  config.order = 'random'
114
118
  config.silence_filter_announcements = true
@@ -120,7 +124,7 @@ RSpec.configure do |config|
120
124
  # CUSTOM METADATA TYPES
121
125
  ##############################################################################
122
126
 
123
- config.define_derived_metadata(:file_path => %r{spec/(jobs|workers)}) do |metadata|
127
+ config.define_derived_metadata(file_path: %r{spec/(jobs|workers)}) do |metadata|
124
128
  metadata[:queue] = true if metadata[:queue].nil?
125
129
  end
126
130
 
@@ -12,30 +12,50 @@ namespace :documentation do
12
12
 
13
13
  RSpec::Core::RakeTask.new(:api_docs) do |t|
14
14
  t.pattern = 'spec/controllers/**/v1/**/*_spec.rb'
15
- t.rspec_opts = '--format="Dox::Formatter" --out="./docs/api/index.apib" --order="defined" --tag="dox"'
15
+ t.rspec_opts = %w{
16
+ --format="Dox::Formatter"
17
+ --out="./docs/api/index.apib"
18
+ --order="defined"
19
+ --tag="dox"
20
+ }
21
+ .join(' ')
16
22
  end
17
23
 
18
24
  ::Rake::Task['api_docs'].invoke
19
25
  end
20
26
 
21
- task :json => :blueprint do
27
+ task json: :blueprint do
22
28
  `apib2swagger --input='./docs/api/index.apib' --output='./docs/api/index.json'`
23
29
  end
24
30
 
25
- task :yaml => :blueprint do
26
- `apib2swagger --yaml --input='./docs/api/index.apib' --output='./docs/api/index.yaml'`
31
+ task yaml: :blueprint do
32
+ command = <<~HEREDOC.tr("\n", ' ')
33
+ apib2swagger
34
+ --yaml
35
+ --input='./docs/api/index.apib'
36
+ --output='./docs/api/index.yaml'
37
+ HEREDOC
38
+
39
+ `#{command}`
27
40
  end
28
41
 
29
- task :html => :json do
42
+ task html: :json do
30
43
  `redoc-cli bundle --output='./docs/api/index.html' './docs/api/index.json'`
31
44
  end
32
45
 
33
- task :preview => :html do
46
+ task preview: :html do
34
47
  `open './docs/api/index.html'`
35
48
  end
36
49
 
37
- task :publish => :blueprint do
38
- `apiary publish --path='./docs/api/apispec.apib' --api-name='#{::Rails.application.name}'`
50
+ task publish: :blueprint do
51
+ command = <<~HEREDOC.tr("\n", ' ')
52
+ apiary
53
+ publish
54
+ --path='./docs/api/apispec.apib'
55
+ --api-name='#{::Rails.application.name}'
56
+ HEREDOC
57
+
58
+ `#{command}`
39
59
  end
40
60
  end
41
61
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rspeckled
4
- VERSION = '1.4.0'
4
+ VERSION = '2.1.0'
5
+
6
+ public_constant :VERSION
5
7
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspeckled
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - thegranddesign
@@ -10,33 +10,34 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIEljCCAv6gAwIBAgIBATANBgkqhkiG9w0BAQsFADA6MTgwNgYDVQQDDC9jYXRj
14
- aGFsbF9ydWJ5Z2Vtcy9EQz1saXZpbmdoaWdob250aGVibG9nL0RDPWNvbTAeFw0x
15
- OTA4MTYxNTQ0MjRaFw0yMDA4MTUxNTQ0MjRaMDoxODA2BgNVBAMML2NhdGNoYWxs
16
- X3J1YnlnZW1zL0RDPWxpdmluZ2hpZ2hvbnRoZWJsb2cvREM9Y29tMIIBojANBgkq
17
- hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0otlhSPyU7jLLW1p786Mo/pV5cJ1Ed8D
18
- /bJK78PqGFO2h0ZUefupxT5PRMokLYNNGRPopnAAxZ0zVxJ68aOyYCBWWk3/XFcX
19
- Crtk/OcFwLTltgeMjyqCBd/zRRx6CCjY4uOfH0E3n1gQ6Fbmewjg83XJnOs7Gu/h
20
- zj5+feEQ1Exmg6z1oCM/8BTIBtK+p++HvcDK3AhJ7x3fc6P9WS+22w6j7jpi3p9Y
21
- toAjrXIzw3lsobiX+bEt+N+T47e8gOATVgapuZ/QmJzNU6LWepehs4V18J+FUaIM
22
- V7nAMKmpkbYL51uHEiGV+HDx1HUdOsCFx8zD4h49KRT2t6AcumJ5P1Cjc7NX2xl8
23
- 5ShHDNNFkozuC2c5cwj6F20EVaVjGwv2OFq0S2tUw9EJXHTN9RpfRUmnIHwS9M4g
24
- cJO7IzV39a1YL6+9hrabF4+JTSYDehq8oxTdcOPLYyvH54aJWVqCrnLOKNa/p6hM
25
- mwxTWNS5Vz0uxuEGyE9E0tHbtjIs2XX5AgMBAAGjgaYwgaMwCQYDVR0TBAIwADAL
26
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAK3RicwO0f6+puFN6lRVMOKMJuuMDQGA1Ud
27
- EQQtMCuBKWNhdGNoYWxsK3J1YnlnZW1zQGxpdmluZ2hpZ2hvbnRoZWJsb2cuY29t
28
- MDQGA1UdEgQtMCuBKWNhdGNoYWxsK3J1YnlnZW1zQGxpdmluZ2hpZ2hvbnRoZWJs
29
- b2cuY29tMA0GCSqGSIb3DQEBCwUAA4IBgQCVsREtxqE5PeNLjCec4Ea/gXi3aeG6
30
- Sh711FLc+nMkv3RG5ILO0JUOXxeyyPjrfxJIk52dA+ts74fXipoAELHqfrqbt9nl
31
- O8Eq4plRU31sJI/V0Vhw4yZdVfmmzKf9Tr8rrHx/0kJmABXNtrtWuqjUzoqzH7ia
32
- j8ftN3+ODiag9jrcApC4/xQDGnmsTsLlYgY2qXJqqy+DQKmzBc8LoSxYX0WFCvPg
33
- PCy02L1z3ijd0nJo2OohnobwtbNvw+CsGqdDO/sh6Ju0XVt+Qh9UWfvgwxTqo8Xo
34
- PvMez1fN9jaJVYm2AJHE3tUESRQncGrj5dkSUHh1CLmxLpEyJWBVOHAoyngdpCCr
35
- QPT2vOpHMmAObSHhrm3COhII8nJPHVG9wx9QYYEEVmvEEC0Kx3qxZmVuYQ9jID5L
36
- 6ZCHhOtYwlYSqOmGfPSsB7i1W4YABE86ZQaPEwhuPkkdvqSFUSryDLpcB8S/2fp4
37
- bHTbBi7YQCFxKay21QDo3HPPRBq4YQ+Xy9w=
13
+ MIIEyjCCAzKgAwIBAgIBATANBgkqhkiG9w0BAQsFADBVMSIwIAYDVQQDDBlsb2Nh
14
+ bGV1bmtub3duODEwX3J1YnlnZW1zMRowGAYKCZImiZPyLGQBGRYKcHJvdG9ubWFp
15
+ bDETMBEGCgmSJomT8ixkARkWA2NvbTAeFw0yMjA3MDkwNTMxMjJaFw0yMzA3MDkw
16
+ NTMxMjJaMFUxIjAgBgNVBAMMGWxvY2FsZXVua25vd244MTBfcnVieWdlbXMxGjAY
17
+ BgoJkiaJk/IsZAEZFgpwcm90b25tYWlsMRMwEQYKCZImiZPyLGQBGRYDY29tMIIB
18
+ ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0otlhSPyU7jLLW1p786Mo/pV
19
+ 5cJ1Ed8D/bJK78PqGFO2h0ZUefupxT5PRMokLYNNGRPopnAAxZ0zVxJ68aOyYCBW
20
+ Wk3/XFcXCrtk/OcFwLTltgeMjyqCBd/zRRx6CCjY4uOfH0E3n1gQ6Fbmewjg83XJ
21
+ nOs7Gu/hzj5+feEQ1Exmg6z1oCM/8BTIBtK+p++HvcDK3AhJ7x3fc6P9WS+22w6j
22
+ 7jpi3p9YtoAjrXIzw3lsobiX+bEt+N+T47e8gOATVgapuZ/QmJzNU6LWepehs4V1
23
+ 8J+FUaIMV7nAMKmpkbYL51uHEiGV+HDx1HUdOsCFx8zD4h49KRT2t6AcumJ5P1Cj
24
+ c7NX2xl85ShHDNNFkozuC2c5cwj6F20EVaVjGwv2OFq0S2tUw9EJXHTN9RpfRUmn
25
+ IHwS9M4gcJO7IzV39a1YL6+9hrabF4+JTSYDehq8oxTdcOPLYyvH54aJWVqCrnLO
26
+ KNa/p6hMmwxTWNS5Vz0uxuEGyE9E0tHbtjIs2XX5AgMBAAGjgaQwgaEwCQYDVR0T
27
+ BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAK3RicwO0f6+puFN6lRVMOKMJuu
28
+ MDMGA1UdEQQsMCqBKGxvY2FsZXVua25vd244MTArcnVieWdlbXNAcHJvdG9ubWFp
29
+ bC5jb20wMwYDVR0SBCwwKoEobG9jYWxldW5rbm93bjgxMCtydWJ5Z2Vtc0Bwcm90
30
+ b25tYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAQwV6pOp5gm8141pyXeQFI/5E
31
+ rZYO3MvdyZM8O3HMD51LDS8mtMURceaKZM6WTambe2RVX4A++0qUiEnn9K4Fexm/
32
+ SEGaC/Gp+Fg9D1SKfkdq9bgdIhOEUwiGqjczgzNC806AtWZ+awI940oydFYZlpo0
33
+ jMQihPPJEqF1U6JBDMZYV5tX/dJYSGRl9L3s1k2tjoN98q+beNaZQDn21Amml4eK
34
+ KEkMeTTJ2E4GVzR9eKEETLq2LygdUWWZ5NdWOYTxJMdg1GZp3b6X8hJrwfOiizqt
35
+ /ANlIEh11/pOnWa6WPUVpGIMpYdquvmJXnF2LX6zxkKK1hbrebt+vAEAGczgw1Ri
36
+ rkLM6y+BHQdkOTj3VG4MjIU8D4h1Z73Exzxds/VbVKMEz+8JrFjGJ/tYa0PZ8U5p
37
+ 3yXL4G6eW3rdBW/OiLF7GgG2o26d02OMzf4+ubUVS5LQDOcd4vgNPLWzJSBt1YIh
38
+ TgBsED7Me5YdMVXxtTWYsF1VMzaL9hReD3UXGcxe
38
39
  -----END CERTIFICATE-----
39
- date: 2019-08-16 00:00:00.000000000 Z
40
+ date: 2022-07-17 00:00:00.000000000 Z
40
41
  dependencies:
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: rspec
@@ -165,6 +166,7 @@ files:
165
166
  - lib/rspeckled/plugins/hooks/factory_bot.rb
166
167
  - lib/rspeckled/plugins/hooks/foreign_keys.rb
167
168
  - lib/rspeckled/plugins/hooks/garbage_collection.rb
169
+ - lib/rspeckled/plugins/hooks/rails.rb
168
170
  - lib/rspeckled/plugins/hooks/redis.rb
169
171
  - lib/rspeckled/plugins/hooks/referehencible.rb
170
172
  - lib/rspeckled/plugins/hooks/request.rb
@@ -215,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
215
217
  - !ruby/object:Gem::Version
216
218
  version: '0'
217
219
  requirements: []
218
- rubygems_version: 3.0.4
220
+ rubygems_version: 3.1.6
219
221
  signing_key:
220
222
  specification_version: 4
221
223
  summary: Stop Copying and Pasting Your RSpec Configuration
metadata.gz.sig CHANGED
Binary file