dom_for 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +5 -5
  4. data/README.md +19 -10
  5. data/Rakefile +4 -5
  6. data/lib/dom_for/railtie.rb +9 -0
  7. data/lib/dom_for/version.rb +1 -1
  8. data/lib/dom_for.rb +3 -1
  9. data/spec/dummy/.rspec +1 -1
  10. data/spec/dummy/README.rdoc +15 -248
  11. data/spec/dummy/Rakefile +1 -2
  12. data/spec/dummy/app/assets/javascripts/application.js +4 -6
  13. data/spec/dummy/app/assets/stylesheets/application.css +6 -4
  14. data/spec/dummy/app/controllers/application_controller.rb +3 -1
  15. data/spec/dummy/app/models/concerns/.keep +0 -0
  16. data/spec/dummy/app/models/user.rb +0 -1
  17. data/spec/dummy/app/views/layouts/application.html.erb +2 -2
  18. data/spec/dummy/bin/bundle +3 -0
  19. data/spec/dummy/bin/rails +4 -0
  20. data/spec/dummy/bin/rake +4 -0
  21. data/spec/dummy/bin/setup +29 -0
  22. data/spec/dummy/config/application.rb +3 -36
  23. data/spec/dummy/config/boot.rb +4 -9
  24. data/spec/dummy/config/database.yml +8 -8
  25. data/spec/dummy/config/environment.rb +3 -3
  26. data/spec/dummy/config/environments/development.rb +22 -18
  27. data/spec/dummy/config/environments/production.rb +46 -34
  28. data/spec/dummy/config/environments/test.rb +19 -14
  29. data/spec/dummy/config/initializers/assets.rb +11 -0
  30. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  31. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  32. data/spec/dummy/config/initializers/inflections.rb +6 -5
  33. data/spec/dummy/config/initializers/mime_types.rb +0 -1
  34. data/spec/dummy/config/initializers/session_store.rb +1 -6
  35. data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
  36. data/spec/dummy/config/locales/en.yml +20 -2
  37. data/spec/dummy/config/routes.rb +22 -27
  38. data/spec/dummy/config/secrets.yml +22 -0
  39. data/spec/dummy/config.ru +2 -2
  40. data/spec/dummy/db/migrate/20140316142523_create_users.rb +1 -1
  41. data/spec/dummy/db/schema.rb +5 -5
  42. data/spec/dummy/lib/assets/.keep +0 -0
  43. data/spec/dummy/log/.keep +0 -0
  44. data/spec/dummy/public/404.html +54 -13
  45. data/spec/dummy/public/422.html +54 -13
  46. data/spec/dummy/public/500.html +53 -12
  47. data/spec/helpers/dom_for_model_spec.rb +14 -14
  48. data/spec/helpers/dom_for_record_spec.rb +6 -6
  49. data/spec/helpers/dom_for_spec.rb +10 -4
  50. data/spec/rails_helper.rb +53 -0
  51. data/spec/spec_helper.rb +76 -37
  52. metadata +54 -55
  53. data/spec/dummy/app/assets/javascripts/users.js +0 -2
  54. data/spec/dummy/app/assets/stylesheets/scaffold.css +0 -56
  55. data/spec/dummy/app/assets/stylesheets/users.css +0 -4
  56. data/spec/dummy/app/helpers/users_helper.rb +0 -2
  57. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  58. data/spec/dummy/script/rails +0 -6
  59. /data/spec/dummy/app/{mailers/.gitkeep → assets/images/.keep} +0 -0
  60. /data/spec/dummy/app/{models/.gitkeep → controllers/concerns/.keep} +0 -0
  61. /data/spec/dummy/{lib/assets/.gitkeep → app/mailers/.keep} +0 -0
  62. /data/spec/dummy/{log/.gitkeep → app/models/.keep} +0 -0
@@ -2,25 +2,66 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>The page you were looking for doesn't exist (404)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
16
54
  </style>
17
55
  </head>
18
56
 
19
57
  <body>
20
58
  <!-- This file lives in public/404.html -->
21
59
  <div class="dialog">
22
- <h1>The page you were looking for doesn't exist.</h1>
23
- <p>You may have mistyped the address or the page may have moved.</p>
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
24
65
  </div>
25
66
  </body>
26
67
  </html>
@@ -2,25 +2,66 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>The change you wanted was rejected (422)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
16
54
  </style>
17
55
  </head>
18
56
 
19
57
  <body>
20
58
  <!-- This file lives in public/422.html -->
21
59
  <div class="dialog">
22
- <h1>The change you wanted was rejected.</h1>
23
- <p>Maybe you tried to change something you didn't have access to.</p>
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
24
65
  </div>
25
66
  </body>
26
67
  </html>
@@ -2,24 +2,65 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>We're sorry, but something went wrong (500)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
16
54
  </style>
17
55
  </head>
18
56
 
19
57
  <body>
20
58
  <!-- This file lives in public/500.html -->
21
59
  <div class="dialog">
22
- <h1>We're sorry, but something went wrong.</h1>
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
23
64
  </div>
24
65
  </body>
25
66
  </html>
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe DomFor::Model do
4
4
 
@@ -8,50 +8,50 @@ describe DomFor::Model do
8
8
  end
9
9
 
10
10
  it 'returns div without nested tags' do
11
- expect(helper.dom_for_model(User)).to eq '<div class="users" id="users" />'
11
+ expect(helper.dom_for_model(User)).to eq '<div id="users" class="users" />'
12
12
  end
13
13
 
14
14
  it 'returns div with data-action attribute' do
15
- helper.request.stub(:path_parameters).and_return({ action: 'show' })
15
+ expect(helper.request).to receive(:path_parameters).and_return({ action: 'show' })
16
16
 
17
- expect(helper.dom_for_model(User)).to eq '<div class="users" data-action="show" id="users" />'
17
+ expect(helper.dom_for_model(User)).to eq '<div id="users" class="users" data-action="show" />'
18
18
  end
19
19
 
20
20
  it 'returns div for the new user' do
21
21
  @user = User.new(name: 'test')
22
- helper.request.stub(:path_parameters).and_return({ action: 'new' })
22
+ expect(helper.request).to receive(:path_parameters).and_return({ action: 'new' })
23
23
 
24
- expect(helper.dom_for_model(User)).to eq '<div class="user new_user" data-action="new" id="new_user" />'
24
+ expect(helper.dom_for_model(User)).to eq '<div id="new_user" class="user new_user" data-action="new" />'
25
25
  end
26
26
 
27
27
  it 'returns div for the new user without request' do
28
28
  @user = User.new(name: 'test')
29
29
 
30
- expect(helper.dom_for_model(User)).to eq '<div class="user" id="new_user" />'
30
+ expect(helper.dom_for_model(User)).to eq '<div id="new_user" class="user" />'
31
31
  end
32
32
 
33
33
  it 'returns div for the saved user' do
34
34
  @user = User.create(name: 'test')
35
- helper.request.stub(:path_parameters).and_return({ action: 'show' })
35
+ expect(helper.request).to receive(:path_parameters).and_return({ action: 'show' })
36
36
 
37
- expect(helper.dom_for_model(User)).to eq '<div class="user show_user" data-action="show" data-object-id="1" data-object="users" id="user_1" />'
37
+ expect(helper.dom_for_model(User)).to eq '<div id="user_1" class="user show_user" data-action="show" data-object-id="1" data-object="users" />'
38
38
  end
39
39
 
40
40
  it 'returns div with the additional data-attributes' do
41
41
  @user = User.create(name: 'test')
42
- helper.request.stub(:path_parameters).and_return({ action: 'show' })
42
+ expect(helper.request).to receive(:path_parameters).and_return({ action: 'show' })
43
43
 
44
- expect(helper.dom_for_model(User, admin: true)).to eq '<div class="user show_user" data-action="show" data-admin="true" data-object-id="1" data-object="users" id="user_1" />'
44
+ expect(helper.dom_for_model(User, admin: true)).to eq '<div id="user_1" class="user show_user" data-admin="true" data-action="show" data-object-id="1" data-object="users" />'
45
45
  end
46
46
 
47
47
  it 'returns div with nested tags' do
48
48
  @user = User.create(name: 'test')
49
- helper.request.stub(:path_parameters).and_return({ action: 'show' })
49
+ expect(helper.request).to receive(:path_parameters).and_return({ action: 'show' })
50
50
 
51
51
  expect(
52
52
  helper.dom_for_model(User, admin: true) { helper.tag(:span) }
53
- ).to eq '<div class="user show_user" data-action="show" data-admin="true" data-object-id="1" data-object="users" id="user_1"><span /></div>'
53
+ ).to eq '<div id="user_1" class="user show_user" data-admin="true" data-action="show" data-object-id="1" data-object="users"><span /></div>'
54
54
  end
55
55
  end
56
56
 
57
- end
57
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe DomFor::Record do
4
4
 
@@ -8,13 +8,13 @@ describe DomFor::Record do
8
8
  end
9
9
 
10
10
  it 'returns div for the new user' do
11
- expect(helper.dom_for_record(User.new)).to eq '<div class="user" id="new_user" />'
11
+ expect(helper.dom_for_record(User.new)).to eq '<div id="new_user" class="user" />'
12
12
  end
13
13
 
14
14
  it 'returns div without nested tags' do
15
15
  user = User.create(name: 'test')
16
16
 
17
- expect(helper.dom_for_record(user)).to eq '<div class="user" data-object-id="1" id="user_1" />'
17
+ expect(helper.dom_for_record(user)).to eq '<div id="user_1" class="user" data-object-id="1" />'
18
18
  end
19
19
 
20
20
  it 'returns div with nested tags' do
@@ -22,7 +22,7 @@ describe DomFor::Record do
22
22
 
23
23
  expect(
24
24
  helper.dom_for_record(user) { helper.tag(:span) }
25
- ).to eq '<div class="user" data-object-id="1" id="user_1"><span /></div>'
25
+ ).to eq '<div id="user_1" class="user" data-object-id="1"><span /></div>'
26
26
  end
27
27
 
28
28
  it 'returns div with the additional data-attributes' do
@@ -30,8 +30,8 @@ describe DomFor::Record do
30
30
 
31
31
  expect(
32
32
  helper.dom_for_record(user, admin: true) { helper.tag(:span) }
33
- ).to eq '<div class="user" data-admin="true" data-object-id="1" id="user_1"><span /></div>'
33
+ ).to eq '<div id="user_1" class="user" data-admin="true" data-object-id="1"><span /></div>'
34
34
  end
35
35
  end
36
36
 
37
- end
37
+ end
@@ -1,15 +1,21 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe DomFor do
4
4
 
5
+ it 'includes in ActiveView::Base' do
6
+ expect(ActionView::Base.ancestors).to include(DomFor)
7
+ expect(ActionView::Base.ancestors).to include(DomFor::Model)
8
+ expect(ActionView::Base.ancestors).to include(DomFor::Record)
9
+ end
10
+
5
11
  context '#dom_for' do
6
12
  it 'invokes #dom_for_model' do
7
- expect(helper.dom_for(User)).to eq '<div class="users" id="users" />'
13
+ expect(helper.dom_for(User)).to eq '<div id="users" class="users" />'
8
14
  end
9
15
 
10
16
  it 'invokes #dom_for_record' do
11
- expect(helper.dom_for(User.new)).to eq '<div class="user" id="new_user" />'
17
+ expect(helper.dom_for(User.new)).to eq '<div id="new_user" class="user" />'
12
18
  end
13
19
  end
14
20
 
15
- end
21
+ end
@@ -0,0 +1,53 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV['RAILS_ENV'] ||= 'test'
3
+ require 'spec_helper'
4
+ require File.expand_path('../dummy/config/environment', __FILE__)
5
+ require 'rspec/rails'
6
+ # Add additional requires below this line. Rails is not loaded until this point!
7
+
8
+ require 'coveralls'
9
+ Coveralls.wear!
10
+
11
+ # Requires supporting ruby files with custom matchers and macros, etc, in
12
+ # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
13
+ # run as spec files by default. This means that files in spec/support that end
14
+ # in _spec.rb will both be required and run as specs, causing the specs to be
15
+ # run twice. It is recommended that you do not name files matching this glob to
16
+ # end with _spec.rb. You can configure this pattern with the --pattern
17
+ # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
18
+ #
19
+ # The following line is provided for convenience purposes. It has the downside
20
+ # of increasing the boot-up time by auto-requiring all files in the support
21
+ # directory. Alternatively, in the individual `*_spec.rb` files, manually
22
+ # require only the support files necessary.
23
+ #
24
+ # Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
25
+
26
+ # Checks for pending migrations before tests are run.
27
+ # If you are not using ActiveRecord, you can remove this line.
28
+ ActiveRecord::Migration.maintain_test_schema!
29
+
30
+ RSpec.configure do |config|
31
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
32
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
33
+
34
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
35
+ # examples within a transaction, remove the following line or assign false
36
+ # instead of true.
37
+ config.use_transactional_fixtures = true
38
+
39
+ # RSpec Rails can automatically mix in different behaviours to your tests
40
+ # based on their file location, for example enabling you to call `get` and
41
+ # `post` in specs under `spec/controllers`.
42
+ #
43
+ # You can disable this behaviour by removing the line below, and instead
44
+ # explicitly tag your specs with their type, e.g.:
45
+ #
46
+ # RSpec.describe UsersController, :type => :controller do
47
+ # # ...
48
+ # end
49
+ #
50
+ # The different available types are documented in the features, such as in
51
+ # https://relishapp.com/rspec/rspec-rails/docs
52
+ config.infer_spec_type_from_file_location!
53
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,48 +1,87 @@
1
- # This file is copied to spec/ when you run 'rails generate rspec:install'
2
- ENV['RAILS_ENV'] ||= 'test'
3
- require File.expand_path('../dummy/config/environment', __FILE__)
4
- require 'rspec/rails'
5
- require 'rspec/autorun'
6
-
7
- require 'coveralls'
8
- Coveralls.wear!
9
-
10
- # Requires supporting ruby files with custom matchers and macros, etc,
11
- # in spec/support/ and its subdirectories.
12
- Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
13
-
1
+ # This file was generated by the `rails generate rspec:install` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
4
+ # this file to always be loaded, without a need to explicitly require it in any
5
+ # files.
6
+ #
7
+ # Given that it is always loaded, you are encouraged to keep this file as
8
+ # light-weight as possible. Requiring heavyweight dependencies from this file
9
+ # will add to the boot time of your test suite on EVERY test run, even for an
10
+ # individual file that may not need all of that loaded. Instead, consider making
11
+ # a separate helper file that requires the additional dependencies and performs
12
+ # the additional setup, and require it from the spec files that actually need
13
+ # it.
14
+ #
15
+ # The `.rspec` file also contains a few flags that are not defaults but that
16
+ # users commonly want.
17
+ #
18
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
14
19
  RSpec.configure do |config|
15
- # ## Mock Framework
16
- #
17
- # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
18
- #
19
- # config.mock_with :mocha
20
- # config.mock_with :flexmock
21
- # config.mock_with :rr
20
+ # rspec-expectations config goes here. You can use an alternate
21
+ # assertion/expectation library such as wrong or the stdlib/minitest
22
+ # assertions if you prefer.
23
+ config.expect_with :rspec do |expectations|
24
+ # This option will default to `true` in RSpec 4. It makes the `description`
25
+ # and `failure_message` of custom matchers include text for helper methods
26
+ # defined using `chain`, e.g.:
27
+ # be_bigger_than(2).and_smaller_than(4).description
28
+ # # => "be bigger than 2 and smaller than 4"
29
+ # ...rather than:
30
+ # # => "be bigger than 2"
31
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
32
+ end
22
33
 
23
- # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
24
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
34
+ # rspec-mocks config goes here. You can use an alternate test double
35
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
36
+ config.mock_with :rspec do |mocks|
37
+ # Prevents you from mocking or stubbing a method that does not exist on
38
+ # a real object. This is generally recommended, and will default to
39
+ # `true` in RSpec 4.
40
+ mocks.verify_partial_doubles = true
41
+ end
25
42
 
26
- # If you're not using ActiveRecord, or you'd prefer not to run each of your
27
- # examples within a transaction, remove the following line or assign false
28
- # instead of true.
29
- config.use_transactional_fixtures = true
43
+ # The settings below are suggested to provide a good initial experience
44
+ # with RSpec, but feel free to customize to your heart's content.
45
+ =begin
46
+ # These two settings work together to allow you to limit a spec run
47
+ # to individual examples or groups you care about by tagging them with
48
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
49
+ # get run.
50
+ config.filter_run :focus
51
+ config.run_all_when_everything_filtered = true
30
52
 
31
- # If true, the base class of anonymous controllers will be inferred
32
- # automatically. This will be the default behavior in future versions of
33
- # rspec-rails.
34
- config.infer_base_class_for_anonymous_controllers = false
53
+ # Limits the available syntax to the non-monkey patched syntax that is
54
+ # recommended. For more details, see:
55
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
56
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
57
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
58
+ config.disable_monkey_patching!
35
59
 
36
- config.treat_symbols_as_metadata_keys_with_true_values = true
37
- config.run_all_when_everything_filtered = true
38
- config.filter_run :focus
60
+ # Many RSpec users commonly either run the entire suite or an individual
61
+ # file, and it's useful to allow more verbose output when running an
62
+ # individual spec file.
63
+ if config.files_to_run.one?
64
+ # Use the documentation formatter for detailed output,
65
+ # unless a formatter has already been configured
66
+ # (e.g. via a command-line flag).
67
+ config.default_formatter = 'doc'
68
+ end
39
69
 
40
- config.fail_fast = true
41
- config.color_enabled = true
70
+ # Print the 10 slowest examples and example groups at the
71
+ # end of the spec run, to help surface which specs are running
72
+ # particularly slow.
73
+ config.profile_examples = 10
42
74
 
43
75
  # Run specs in random order to surface order dependencies. If you find an
44
76
  # order dependency and want to debug it, you can fix the order by providing
45
77
  # the seed, which is printed after each run.
46
78
  # --seed 1234
47
- config.order = 'random'
48
- end
79
+ config.order = :random
80
+
81
+ # Seed global randomization in this process using the `--seed` CLI option.
82
+ # Setting this allows you to use `--seed` to deterministically reproduce
83
+ # test failures related to randomization by passing the same `--seed` value
84
+ # as the one that triggered the failure.
85
+ Kernel.srand config.seed
86
+ =end
87
+ end