rspeckled 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/rspeckled/{plugins/rails/engine.rb → patches/rails/namespaced_engine_controller_route_fix.rb} +2 -0
  4. data/lib/rspeckled/patches.rb +10 -0
  5. data/lib/rspeckled/plugins/configuration/bullet.rb +5 -0
  6. data/lib/rspeckled/plugins/configuration/capybara.rb +22 -0
  7. data/lib/rspeckled/plugins/configuration/capybara_screenshot.rb +17 -0
  8. data/lib/rspeckled/plugins/configuration/carrier_wave.rb +13 -0
  9. data/lib/rspeckled/plugins/configuration/database_cleaner.rb +7 -0
  10. data/lib/rspeckled/plugins/configuration/devise.rb +18 -0
  11. data/lib/rspeckled/plugins/{dox.rb → configuration/dox.rb} +1 -8
  12. data/lib/rspeckled/plugins/configuration/elasticsearch.rb +3 -0
  13. data/lib/rspeckled/plugins/configuration/email_spec.rb +7 -0
  14. data/lib/rspeckled/plugins/configuration/factory_bot.rb +13 -0
  15. data/lib/rspeckled/plugins/{fakeredis.rb → configuration/fakeredis.rb} +0 -0
  16. data/lib/rspeckled/plugins/{mongoid.rb → configuration/mongoid.rb} +1 -1
  17. data/lib/rspeckled/plugins/configuration/omniauth.rb +5 -0
  18. data/lib/rspeckled/plugins/{recaptcha.rb → configuration/recaptcha.rb} +1 -1
  19. data/lib/rspeckled/plugins/configuration/selenium_webdriver.rb +3 -0
  20. data/lib/rspeckled/plugins/configuration/shoulda.rb +36 -0
  21. data/lib/rspeckled/plugins/{test_after_commit.rb → configuration/sidekiq.rb} +1 -1
  22. data/lib/rspeckled/plugins/{simple_cov.rb → configuration/simple_cov.rb} +2 -2
  23. data/lib/rspeckled/plugins/configuration/test_after_commit.rb +3 -0
  24. data/lib/rspeckled/plugins/configuration/vcr.rb +26 -0
  25. data/lib/rspeckled/plugins/configuration/warden.rb +7 -0
  26. data/lib/rspeckled/plugins/configuration/webmock.rb +3 -0
  27. data/lib/rspeckled/plugins/{wisper.rb → configuration/wisper.rb} +1 -1
  28. data/lib/rspeckled/plugins/{awesome_print.rb → extensions/awesome_print.rb} +6 -6
  29. data/lib/rspeckled/plugins/extensions/capybara.rb +30 -0
  30. data/lib/rspeckled/{factories → plugins/extensions/factory_bot}/sequences.rb +4 -4
  31. data/lib/rspeckled/plugins/{faraday.rb → extensions/faraday/middleware/curl_logger.rb} +1 -3
  32. data/lib/rspeckled/plugins/extensions/faraday.rb +5 -0
  33. data/lib/rspeckled/{mock_authentications/omniauth → plugins/extensions/omniauth/mock_authentications}/ebay.rb +3 -1
  34. data/lib/rspeckled/{mock_authentications/omniauth → plugins/extensions/omniauth/mock_authentications}/facebook.rb +3 -1
  35. data/lib/rspeckled/{mock_authentications/omniauth → plugins/extensions/omniauth/mock_authentications}/twitter.rb +3 -1
  36. data/lib/rspeckled/plugins/extensions/omniauth.rb +12 -0
  37. data/lib/rspeckled/{rails → plugins/extensions/rails}/railtie.rb +3 -1
  38. data/lib/rspeckled/plugins/{garbage_collection.rb → extensions/ruby/deferred_garbage_collection.rb} +7 -15
  39. data/lib/rspeckled/{selenium → plugins/extensions/selenium}/drivers/chrome.rb +1 -1
  40. data/lib/rspeckled/{selenium → plugins/extensions/selenium}/drivers/firefox.rb +1 -1
  41. data/lib/rspeckled/plugins/extensions/strong_parameters.rb +13 -0
  42. data/lib/rspeckled/{vcr_matchers → plugins/extensions/vcr/matchers}/uri_without_trailing_id.rb +4 -12
  43. data/lib/rspeckled/plugins/extensions/vcr.rb +13 -0
  44. data/lib/rspeckled/plugins/hooks/action_mailer.rb +15 -0
  45. data/lib/rspeckled/plugins/{authentication.rb → hooks/authentication.rb} +12 -4
  46. data/lib/rspeckled/plugins/hooks/bullet.rb +22 -0
  47. data/lib/rspeckled/plugins/hooks/capybara.rb +44 -0
  48. data/lib/rspeckled/plugins/{carrier_wave.rb → hooks/carrier_wave.rb} +4 -12
  49. data/lib/rspeckled/plugins/hooks/database_cleaner.rb +37 -0
  50. data/lib/rspeckled/plugins/hooks/devise.rb +11 -0
  51. data/lib/rspeckled/plugins/hooks/dox.rb +8 -0
  52. data/lib/rspeckled/plugins/hooks/elasticsearch.rb +37 -0
  53. data/lib/rspeckled/plugins/hooks/factory_bot.rb +21 -0
  54. data/lib/rspeckled/plugins/{foreign_keys.rb → hooks/foreign_keys.rb} +10 -6
  55. data/lib/rspeckled/plugins/hooks/garbage_collection.rb +21 -0
  56. data/lib/rspeckled/plugins/hooks/referehencible.rb +18 -0
  57. data/lib/rspeckled/plugins/{request.rb → hooks/request.rb} +4 -0
  58. data/lib/rspeckled/plugins/hooks/rspec_mocks.rb +20 -0
  59. data/lib/rspeckled/plugins/hooks/selenium_webdriver.rb +15 -0
  60. data/lib/rspeckled/plugins/hooks/sidekiq.rb +49 -0
  61. data/lib/rspeckled/plugins/{singleton.rb → hooks/singletons.rb} +6 -4
  62. data/lib/rspeckled/plugins/hooks/stripe.rb +30 -0
  63. data/lib/rspeckled/plugins/{timecop.rb → hooks/timecop.rb} +11 -9
  64. data/lib/rspeckled/plugins/hooks/vcr.rb +15 -0
  65. data/lib/rspeckled/plugins/hooks/warden.rb +13 -0
  66. data/lib/rspeckled/plugins/hooks/webmock.rb +21 -0
  67. data/lib/rspeckled/plugins.rb +92 -73
  68. data/lib/rspeckled/spec_helpers/rspeckled.rb +2 -2
  69. data/lib/rspeckled/support.rb +22 -12
  70. data/lib/rspeckled/tasks/documentation.rake +2 -2
  71. data/lib/rspeckled/version.rb +1 -1
  72. data/lib/rspeckled.rb +1 -1
  73. data.tar.gz.sig +4 -3
  74. metadata +65 -44
  75. metadata.gz.sig +0 -0
  76. data/lib/rspeckled/mock_authentications/omniauth.rb +0 -3
  77. data/lib/rspeckled/plugins/bullet.rb +0 -18
  78. data/lib/rspeckled/plugins/capybara.rb +0 -127
  79. data/lib/rspeckled/plugins/database_cleaner.rb +0 -35
  80. data/lib/rspeckled/plugins/devise.rb +0 -24
  81. data/lib/rspeckled/plugins/elasticsearch.rb +0 -27
  82. data/lib/rspeckled/plugins/email.rb +0 -25
  83. data/lib/rspeckled/plugins/factory_bot.rb +0 -23
  84. data/lib/rspeckled/plugins/mocks.rb +0 -16
  85. data/lib/rspeckled/plugins/omniauth.rb +0 -39
  86. data/lib/rspeckled/plugins/rails/strong_parameters.rb +0 -13
  87. data/lib/rspeckled/plugins/referehencible.rb +0 -14
  88. data/lib/rspeckled/plugins/shoulda.rb +0 -36
  89. data/lib/rspeckled/plugins/sidekiq.rb +0 -38
  90. data/lib/rspeckled/plugins/stripe.rb +0 -26
  91. data/lib/rspeckled/plugins/vcr.rb +0 -38
  92. data/lib/rspeckled/plugins/webmock.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64d5eca8fc337ed6b32b602e578ae346f5e3aa79c04dc2aea7dc685d25192515
4
- data.tar.gz: 99abe5f65cd523dbb460a1599a380f3ceb1f4dacb854c952832dc4ab8546626f
3
+ metadata.gz: 35cfc4869754da6b4ae40c571a7ec1584f4fe931a04f5ec6d7b9d214d339520f
4
+ data.tar.gz: a5d0f27dd70606c2e368893ff66267457f0e3b25c700706cabaeca0839cbc071
5
5
  SHA512:
6
- metadata.gz: 54baa6b6696667b5d8a0d8abce862a986f9b99ef2e2c67e2022871ef7cb5150f4818bab0bb21ba47d8d5f76193e9c239537696d0802c9951f3f804d111521267
7
- data.tar.gz: b4b6cb490b3d0bd64ad24856ee43178d3c38fef1e2cba78fe082e802291bdc8c6f97e457e592f95fc5a45462867844266a86f9f3931ff86b0c88900c5b45a302
6
+ metadata.gz: 6701f8410b5234d3a9d5d4546783c5beef2164236363b0bd0a9726e272c64f55fc32aed074d120e6c8e09a3326ec97952b4717fa3c62fa91e7edc67f660caf47
7
+ data.tar.gz: 7529faf6a2efd92e0de4427552e30cba340197e738aee6e29936ef68b5f8c1ab8aa8abf55b4744cfccca4eebc313e7f7d78ef6748c099259f69bdca817c74f71
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rspeckled
4
+ module Rails
4
5
  module NamespacedEngineControllerRouteFix
5
6
  def self.included(base)
6
7
  engine_name = Dir.pwd.split('/').last.camelize
@@ -10,3 +11,4 @@ module NamespacedEngineControllerRouteFix
10
11
  end
11
12
  end
12
13
  end
14
+ end
@@ -4,3 +4,13 @@ begin
4
4
  require 'dirty_url/patches/feature_example_group'
5
5
  rescue LoadError
6
6
  end
7
+
8
+ RSpec.configure do |config|
9
+ if defined?(::RSpec::Rails)
10
+ if ::Pathname.pwd.join('spec', 'dummy', 'config', 'environment.rb').exist?
11
+ require 'rspeckled/patches/rails/namespaced_engine_controller_route_fix'
12
+
13
+ config.include Rspeckled::NamespacedEngineControllerRouteFix, :type => :controller
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ ::Bullet.enable = true
4
+ ::Bullet.bullet_logger = true
5
+ ::Bullet.raise = true
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'capybara/rspec'
4
+ require 'capybara/rails' if defined?(::Rails)
5
+
6
+ # Configure Capybara
7
+
8
+ ::Capybara.configure do |config|
9
+ config.exact = true
10
+ config.match = :one
11
+ config.ignore_hidden_elements = true
12
+ config.visible_text_only = true
13
+ end
14
+
15
+ ::Capybara.save_path = "#{::Dir.pwd}/tmp/screenshots"
16
+
17
+ if defined?(::Chamber)
18
+ ::Capybara.default_host = ::Chamber.env.http.base_url
19
+ ::Capybara.app_host = ::Chamber.env.http.base_url
20
+ ::Capybara.asset_host = ::Chamber.env.http.base_url
21
+ ::Capybara.server_port = ::Chamber.env.http.url_components.port
22
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'capybara-screenshot/rspec'
4
+
5
+ ::Capybara::Screenshot.autosave_on_failure = true
6
+ ::Capybara::Screenshot.prune_strategy = :keep_last_run
7
+
8
+ ::Capybara::Screenshot::RSpec.add_link_to_screenshot_for_failed_examples = false
9
+
10
+ ::Capybara::Screenshot.register_filename_prefix_formatter(:rspec) do |example|
11
+ example.full_description.downcase.tr(' ', '-').gsub(%r{^.*/spec/}, '')
12
+ end
13
+
14
+ ::Capybara::Screenshot.register_driver(:chrome) { |driver, path| driver.browser.save_screenshot(path) }
15
+ ::Capybara::Screenshot.register_driver(:headless_chrome) { |driver, path| driver.browser.save_screenshot(path) }
16
+ ::Capybara::Screenshot.register_driver(:firefox) { |driver, path| driver.browser.save_screenshot(path) }
17
+ ::Capybara::Screenshot.register_driver(:headless_firefox) { |driver, path| driver.browser.save_screenshot(path) }
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'carrierwave/test/matchers'
4
+
5
+ ::CarrierWave.configure do |config|
6
+ config.storage = :file
7
+ config.root = ::File.expand_path('./tmp/attachments')
8
+ config.enable_processing = false
9
+ end
10
+
11
+ RSpec.configure do |config|
12
+ config.include ::CarrierWave::Test::Matchers, :file_attachment => true
13
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ if defined?(::RSpec::Rails)
4
+ RSpec.configure do |config|
5
+ config.use_transactional_fixtures = false
6
+ end
7
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ ::Devise.stretches = 1
4
+
5
+ RSpec.configure do |config|
6
+ # ::Devise < 4.2.0
7
+ defined?(::Devise::TestHelpers) &&
8
+ config.include(::Devise::TestHelpers, :type => :controller)
9
+
10
+ # ::Devise >= 4.2.0
11
+ defined?(::Devise::Test::ControllerHelpers) &&
12
+ config.include(::Devise::Test::ControllerHelpers, :type => :controller)
13
+
14
+ [:system, :feature, :request].each do |type|
15
+ defined?(::Devise::Test::IntegrationHelpers) &&
16
+ config.include(::Devise::Test::IntegrationHelpers, :type => type)
17
+ end
18
+ end
@@ -2,13 +2,6 @@
2
2
 
3
3
  require 'pathname'
4
4
 
5
- RSpec.configure do |config|
6
- config.after(:each, :dox) do |example|
7
- example.metadata[:request] = request
8
- example.metadata[:response] = response
9
- end
10
- end
11
-
12
5
  begin
13
6
  require 'dox'
14
7
 
@@ -21,7 +14,7 @@ begin
21
14
 
22
15
  api_docs_folder.glob('**/*.rb').each { |f| require f }
23
16
 
24
- titleized_application_name = Rails
17
+ titleized_application_name = ::Rails
25
18
  .application
26
19
  .class
27
20
  .name
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'elasticsearch/extensions/test/cluster'
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.include ::EmailSpec::Helpers, :email => true
5
+ config.include ::EmailSpec::Matchers, :email => true
6
+ config.include ::EmailSpec::MailerDeliveries, :email => true
7
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ ::FactoryBot.definition_file_paths << './spec/factories'
4
+
5
+ if ::FactoryBot.configuration.factories.count.zero? &&
6
+ ::Rails.application.class.name.match(/Dummy/)
7
+
8
+ ::FactoryBot.find_definitions
9
+ end
10
+
11
+ RSpec.configure do |config|
12
+ config.include ::FactoryBot::Syntax::Methods
13
+ end
@@ -3,5 +3,5 @@
3
3
  require 'mongoid-rspec'
4
4
 
5
5
  RSpec.configure do |config|
6
- config.include Mongoid::Matchers
6
+ config.include ::Mongoid::Matchers
7
7
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ ::OmniAuth.configure do |config|
4
+ config.test_mode = true
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Recaptcha.configure do |config|
3
+ ::Recaptcha.configure do |config|
4
4
  config.skip_verify_env = %w{test}
5
5
  end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ ::Selenium::WebDriver.logger.output = 'log/selenium.log'
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.include(::Shoulda::Matchers::ActiveModel, :type => :model)
5
+ config.include(::Shoulda::Matchers::ActiveRecord, :type => :model)
6
+ end
7
+
8
+ ::Shoulda::Matchers.configure do |config|
9
+ config.integrate do |with|
10
+ with.test_framework :rspec
11
+ end
12
+ end
13
+
14
+ if defined?(::ActiveRecord)
15
+ ::Shoulda::Matchers.configure do |config|
16
+ config.integrate do |with|
17
+ with.library :active_record
18
+ end
19
+ end
20
+ end
21
+
22
+ if defined?(::ActiveModel)
23
+ ::Shoulda::Matchers.configure do |config|
24
+ config.integrate do |with|
25
+ with.library :active_model
26
+ end
27
+ end
28
+ end
29
+
30
+ if defined?(::ActionController)
31
+ ::Shoulda::Matchers.configure do |config|
32
+ config.integrate do |with|
33
+ with.library :action_controller
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- TestAfterCommit.enabled = true
3
+ require 'sidekiq/testing'
@@ -7,10 +7,10 @@ begin
7
7
  if ENV['CIRCLE_ARTIFACTS']
8
8
  coverage_directory = File.join(ENV['CIRCLE_ARTIFACTS'], 'coverage')
9
9
 
10
- SimpleCov.coverage_dir(coverage_directory)
10
+ ::SimpleCov.coverage_dir(coverage_directory)
11
11
  end
12
12
 
13
- SimpleCov.start do
13
+ ::SimpleCov.start do
14
14
  add_filter '/config/'
15
15
  add_filter '/spec/'
16
16
  add_filter '/test/'
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ ::TestAfterCommit.enabled = true
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ if defined?(::WebMock)
4
+ ::VCR.configure do |config|
5
+ config.hook_into :webmock
6
+ end
7
+ end
8
+
9
+ if defined?(::Faraday)
10
+ ::VCR.configure do |config|
11
+ config.hook_into :faraday
12
+ end
13
+ end
14
+
15
+ ::VCR.configure do |config|
16
+ config.ignore_hosts 'lvh.me', 'localhost', '127.0.0.1', '0.0.0.0' # rubocop:disable Style/IpAddresses
17
+
18
+ # So that the Code Climate coverage reporter (if installed) can send reports
19
+ # even though VCR is enabled.
20
+ config.ignore_hosts 'codeclimate.com'
21
+
22
+ config.cassette_library_dir = ::File.expand_path('./tmp/vcr_cassettes')
23
+ config.allow_http_connections_when_no_cassette = true
24
+
25
+ config.configure_rspec_metadata!
26
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ [:system, :feature, :request].each do |type|
5
+ defined?(::Warden::Test::Helpers) && config.include(::Warden::Test::Helpers, :type => type)
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'webmock/rspec'
@@ -4,5 +4,5 @@ require 'wisper/rspec/matchers'
4
4
  require 'wisper/rspec/stub_wisper_publisher'
5
5
 
6
6
  RSpec.configure do |config|
7
- config.include(Wisper::RSpec::BroadcastMatcher)
7
+ config.include(::Wisper::RSpec::BroadcastMatcher)
8
8
  end
@@ -7,19 +7,19 @@ require 'io/console'
7
7
 
8
8
  module Kernel
9
9
  def sap(*messages)
10
- columns = if IO.console
11
- IO.console.winsize[1]
10
+ columns = if ::IO.console
11
+ ::IO.console.winsize[1]
12
12
  else
13
13
  80
14
14
  end
15
15
 
16
16
  puts
17
17
  print "\e[1;35m"
18
- print " #{Time.now} ".center(columns, '*')
18
+ print " #{::Time.now} ".center(columns, '*')
19
19
  print "\e[0m\n"
20
20
  puts
21
- root_path = if defined?(Rails)
22
- Rails.root.to_s
21
+ root_path = if defined?(::Rails)
22
+ ::Rails.root.to_s
23
23
  else
24
24
  `git rev-parse --show-toplevel`
25
25
  end
@@ -72,7 +72,7 @@ module Kernel
72
72
  print message.to_str
73
73
  print "\e[0m\n"
74
74
  puts
75
- elsif message.respond_to?(:read)
75
+ elsif message.respond_to?(:read) && message.method(:read).arity == 1
76
76
  # Naive Check for Binary Data
77
77
  # https://www.ruby-forum.com/topic/122170
78
78
 
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rspeckled/plugins/extensions/selenium/drivers/chrome'
4
+ require 'rspeckled/plugins/extensions/selenium/drivers/firefox'
5
+
6
+ # Configure Server
7
+
8
+ ::Capybara.register_server :puma do |app, _port, _host|
9
+ require 'rack/handler/puma'
10
+
11
+ host = (defined?(::Chamber) && ::Chamber.env.http.url_components.host) || ENV['HOST'] || 'lvh.me'
12
+ port = (defined?(::Chamber) && ::Chamber.env.http.url_components.port) || ENV['PORT'] || '3000'
13
+
14
+ ::Rack::Handler::Puma.run(app, :Host => host, :Port => port, :Threads => '0:1', :Silent => true)
15
+ end
16
+
17
+ ::Capybara.server = :puma
18
+
19
+ # Configure Browser Drivers
20
+
21
+ downloads_directory = "#{Dir.pwd}/tmp/downloads/"
22
+ chrome_driver = ::Rspeckled::Selenium::Drivers::Chrome.new(:downloads_directory => downloads_directory)
23
+ firefox_driver = ::Rspeckled::Selenium::Drivers::Firefox.new(:downloads_directory => downloads_directory)
24
+
25
+ ::Capybara.register_driver(:chrome) { |app| chrome_driver.driver(app) }
26
+ ::Capybara.register_driver(:headless_chrome) { |app| chrome_driver.headless(app) }
27
+ ::Capybara.register_driver(:firefox) { |app| firefox_driver.driver(app) }
28
+ ::Capybara.register_driver(:headless_firefox) { |app| firefox_driver.headless(app) }
29
+
30
+ ::Capybara.javascript_driver = :headless_chrome
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- FactoryBot.define do
3
+ ::FactoryBot.define do
4
4
  sequence(:uuid) do |_n|
5
- SecureRandom.uuid
5
+ ::SecureRandom.uuid
6
6
  end
7
7
 
8
8
  sequence(:email) do |n|
@@ -14,10 +14,10 @@ FactoryBot.define do
14
14
  end
15
15
 
16
16
  sequence(:token) do
17
- SecureRandom.hex(16)
17
+ ::SecureRandom.hex(16)
18
18
  end
19
19
 
20
20
  sequence(:auth_token) do
21
- Base64.strict_encode64(SecureRandom.hex(32))
21
+ ::Base64.strict_encode64(::SecureRandom.hex(32))
22
22
  end
23
23
  end
@@ -3,7 +3,7 @@
3
3
  module Rspeckled
4
4
  module Faraday
5
5
  module Middleware
6
- class DetailedLogger < ::Faraday::Response::Middleware
6
+ class CurlLogger < ::Faraday::Response::Middleware
7
7
  def self.default_logger
8
8
  require 'logger'
9
9
 
@@ -53,5 +53,3 @@ end
53
53
  end
54
54
  end
55
55
  end
56
-
57
- ::Faraday::Response.register_middleware(:detailed_logger => Rspeckled::Faraday::Middleware::DetailedLogger)
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rspeckled/plugins/extensions/faraday/middleware/curl_logger'
4
+
5
+ ::Faraday::Response.register_middleware(:curl_logger => Rspeckled::Faraday::Middleware::CurlLogger)
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ module Rspeckled
3
4
  module OmniAuth
4
5
  module MockAuthentications
5
6
  module Ebay
6
7
  def self.authentication
7
- OmniAuth::AuthHash.new(
8
+ ::OmniAuth::AuthHash.new(
8
9
  'provider' => 'ebay',
9
10
  'uid' => 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
10
11
  'info' =>
@@ -24,3 +25,4 @@ module Ebay
24
25
  end
25
26
  end
26
27
  end
28
+ end
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ module Rspeckled
3
4
  module OmniAuth
4
5
  module MockAuthentications
5
6
  module Facebook
6
7
  def self.authentication
7
- OmniAuth::AuthHash.new(
8
+ ::OmniAuth::AuthHash.new(
8
9
  'provider' => 'facebook',
9
10
  'uid' => '100002971692646',
10
11
  'credentials' => {
@@ -43,3 +44,4 @@ module Facebook
43
44
  end
44
45
  end
45
46
  end
47
+ end
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ module Rspeckled
3
4
  module OmniAuth
4
5
  module MockAuthentications
5
6
  module Twitter
6
7
  def self.authentication
7
- OmniAuth::AuthHash.new(
8
+ ::OmniAuth::AuthHash.new(
8
9
  'provider' => 'twitter',
9
10
  'uid' => '100002971692646',
10
11
  'credentials' => {
@@ -43,3 +44,4 @@ module Twitter
43
44
  end
44
45
  end
45
46
  end
47
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rspeckled/plugins/extensions/omniauth/mock_authentications/ebay'
4
+ require 'rspeckled/plugins/extensions/omniauth/mock_authentications/facebook'
5
+ require 'rspeckled/plugins/extensions/omniauth/mock_authentications/twitter'
6
+
7
+ ::OmniAuth.configure do |config|
8
+ # Setup Mocks for Common Services
9
+ config.mock_auth[:facebook] = ::Rspeckled::OmniAuth::MockAuthentications::Facebook.authentication
10
+ config.mock_auth[:twitter] = ::Rspeckled::OmniAuth::MockAuthentications::Twitter.authentication
11
+ config.mock_auth[:ebay] = ::Rspeckled::OmniAuth::MockAuthentications::Ebay.authentication
12
+ end
@@ -1,9 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rspeckled
4
- class Railtie < Rails::Railtie
4
+ module Rails
5
+ class Railtie < ::Rails::Railtie
5
6
  rake_tasks do
6
7
  load 'rspeckled/tasks/documentation.rake'
7
8
  end
8
9
  end
9
10
  end
11
+ end
@@ -4,6 +4,7 @@
4
4
  # Shamelessly stolen from http://ariejan.net/2011/09/24/rspec-speed-up-by-tweaking-ruby-garbage-collection/
5
5
  #
6
6
  module Rspeckled
7
+ module Ruby
7
8
  class DeferredGarbageCollection
8
9
  THRESHOLD = (ENV['DEFER_GC'] || 20.0).to_f
9
10
 
@@ -18,13 +19,13 @@ class DeferredGarbageCollection
18
19
 
19
20
  cycle_garbage_collector
20
21
 
21
- self.garbage_last_collected_at = Time.now
22
+ self.garbage_last_collected_at = ::Time.now
22
23
  end
23
24
 
24
25
  def self.cycle_garbage_collector
25
- GC.enable
26
- GC.start
27
- GC.disable
26
+ ::GC.enable
27
+ ::GC.start
28
+ ::GC.disable
28
29
  end
29
30
 
30
31
  def self.over_deferrment_threshold?
@@ -36,11 +37,11 @@ class DeferredGarbageCollection
36
37
  end
37
38
 
38
39
  def self.time_since_garbage_last_collected
39
- Time.now - garbage_last_collected_at
40
+ ::Time.now - garbage_last_collected_at
40
41
  end
41
42
 
42
43
  def self.garbage_last_collected_at
43
- @garbage_last_collected_at || Time.now
44
+ @garbage_last_collected_at || ::Time.now
44
45
  end
45
46
 
46
47
  class << self
@@ -48,13 +49,4 @@ class DeferredGarbageCollection
48
49
  end
49
50
  end
50
51
  end
51
-
52
- RSpec.configure do |config|
53
- config.before(:all) do
54
- Rspeckled::DeferredGarbageCollection.start
55
- end
56
-
57
- config.after(:all) do
58
- Rspeckled::DeferredGarbageCollection.reconsider
59
- end
60
52
  end
@@ -29,7 +29,7 @@ class Chrome
29
29
  private
30
30
 
31
31
  def downloads_directory=(dir)
32
- Dir.mkdir(dir) unless Dir.exist?(dir)
32
+ ::Dir.mkdir(dir) unless ::Dir.exist?(dir)
33
33
 
34
34
  @downloads_directory = dir
35
35
  end
@@ -21,7 +21,7 @@ class Firefox
21
21
  private
22
22
 
23
23
  def downloads_directory=(dir)
24
- Dir.mkdir(dir) unless Dir.exist?(dir)
24
+ ::Dir.mkdir(dir) unless ::Dir.exist?(dir)
25
25
 
26
26
  @downloads_directory = dir
27
27
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ always_permitted_parameters = %w{id}
4
+
5
+ if ::ActionController::Parameters.respond_to?(:always_permitted_parameters)
6
+ ::ActionController::Parameters.always_permitted_parameters += always_permitted_parameters
7
+ else
8
+ always_permitted_parameters.each do |always_permitted_parameter|
9
+ ::ActionController::Parameters::NEVER_UNPERMITTED_PARAMS << always_permitted_parameter
10
+ end
11
+ end
12
+
13
+ ::ActionController::Parameters.action_on_unpermitted_parameters = :raise
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rspeckled
4
- module VcrMatchers
4
+ module Vcr
5
+ module Matchers
5
6
  class UriWithoutTrailingId
6
7
  attr_accessor :trailing_id_matcher
7
8
 
@@ -14,8 +15,8 @@ class UriWithoutTrailingId
14
15
  vcr_cassette_request_uri = vcr_cassette_request.uri
15
16
 
16
17
  if request_uri.match?(trailing_id_matcher)
17
- request_uri_without_id = request_uri.sub trailing_id_matcher, ''
18
- vcr_cassette_request_uri_without_id = vcr_cassette_request_uri.sub trailing_id_matcher, ''
18
+ request_uri_without_id = request_uri.sub(trailing_id_matcher, '')
19
+ vcr_cassette_request_uri_without_id = vcr_cassette_request_uri.sub(trailing_id_matcher, '')
19
20
 
20
21
  request_uri.match(trailing_id_matcher) &&
21
22
  vcr_cassette_request_uri.match(trailing_id_matcher) &&
@@ -27,13 +28,4 @@ class UriWithoutTrailingId
27
28
  end
28
29
  end
29
30
  end
30
-
31
- VCR.configure do |config|
32
- config.register_request_matcher :uri_without_trailing_guid do |request, vcr_cassette_request|
33
- Rspeckled::VcrMatchers::UriWithoutTrailingId.new(%r(/[a-f0-9\-]{32,36}/?\z)).call(request, vcr_cassette_request)
34
- end
35
-
36
- config.register_request_matcher :uri_without_trailing_id do |request, vcr_cassette_request|
37
- Rspeckled::VcrMatchers::UriWithoutTrailingId.new(%r{/\d+/?\z}).call(request, vcr_cassette_request)
38
- end
39
31
  end