rspec-rails 3.0.0.rc1 → 3.0.0

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 (57) hide show
  1. checksums.yaml +14 -6
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.yardopts +1 -1
  5. data/Changelog.md +19 -1
  6. data/lib/generators/rspec.rb +6 -0
  7. data/lib/generators/rspec/controller/controller_generator.rb +1 -0
  8. data/lib/generators/rspec/controller/templates/controller_spec.rb +2 -2
  9. data/lib/generators/rspec/controller/templates/view_spec.rb +2 -2
  10. data/lib/generators/rspec/feature/feature_generator.rb +1 -0
  11. data/lib/generators/rspec/feature/templates/feature_spec.rb +1 -1
  12. data/lib/generators/rspec/helper/helper_generator.rb +1 -0
  13. data/lib/generators/rspec/helper/templates/helper_spec.rb +2 -2
  14. data/lib/generators/rspec/install/install_generator.rb +24 -4
  15. data/lib/generators/rspec/install/templates/spec/{spec_helper.rb.tt → rails_helper.rb} +4 -17
  16. data/lib/generators/rspec/integration/integration_generator.rb +1 -0
  17. data/lib/generators/rspec/integration/templates/request_spec.rb +2 -2
  18. data/lib/generators/rspec/mailer/mailer_generator.rb +1 -0
  19. data/lib/generators/rspec/mailer/templates/mailer_spec.rb +2 -2
  20. data/lib/generators/rspec/model/model_generator.rb +1 -0
  21. data/lib/generators/rspec/model/templates/model_spec.rb +2 -2
  22. data/lib/generators/rspec/observer/observer_generator.rb +1 -0
  23. data/lib/generators/rspec/observer/templates/observer_spec.rb +2 -2
  24. data/lib/generators/rspec/scaffold/scaffold_generator.rb +8 -33
  25. data/lib/generators/rspec/scaffold/templates/controller_spec.rb +20 -33
  26. data/lib/generators/rspec/scaffold/templates/edit_spec.rb +2 -2
  27. data/lib/generators/rspec/scaffold/templates/index_spec.rb +2 -2
  28. data/lib/generators/rspec/scaffold/templates/new_spec.rb +2 -2
  29. data/lib/generators/rspec/scaffold/templates/routing_spec.rb +2 -2
  30. data/lib/generators/rspec/scaffold/templates/show_spec.rb +3 -3
  31. data/lib/generators/rspec/view/templates/view_spec.rb +2 -2
  32. data/lib/generators/rspec/view/view_generator.rb +1 -0
  33. data/lib/rspec-rails.rb +3 -0
  34. data/lib/rspec/rails/adapters.rb +10 -18
  35. data/lib/rspec/rails/configuration.rb +40 -14
  36. data/lib/rspec/rails/example/controller_example_group.rb +8 -6
  37. data/lib/rspec/rails/example/feature_example_group.rb +5 -0
  38. data/lib/rspec/rails/example/helper_example_group.rb +2 -1
  39. data/lib/rspec/rails/example/mailer_example_group.rb +12 -0
  40. data/lib/rspec/rails/example/model_example_group.rb +2 -0
  41. data/lib/rspec/rails/example/rails_example_group.rb +1 -0
  42. data/lib/rspec/rails/example/request_example_group.rb +2 -0
  43. data/lib/rspec/rails/example/routing_example_group.rb +3 -2
  44. data/lib/rspec/rails/example/view_example_group.rb +5 -4
  45. data/lib/rspec/rails/fixture_support.rb +4 -3
  46. data/lib/rspec/rails/matchers/be_a_new.rb +13 -12
  47. data/lib/rspec/rails/matchers/be_new_record.rb +1 -3
  48. data/lib/rspec/rails/matchers/be_valid.rb +1 -4
  49. data/lib/rspec/rails/matchers/have_rendered.rb +3 -2
  50. data/lib/rspec/rails/matchers/redirect_to.rb +3 -5
  51. data/lib/rspec/rails/matchers/routing_matchers.rb +14 -6
  52. data/lib/rspec/rails/version.rb +3 -1
  53. data/lib/rspec/rails/view_assigns.rb +17 -16
  54. data/lib/rspec/rails/view_rendering.rb +8 -3
  55. metadata +73 -67
  56. metadata.gz.sig +2 -3
  57. data/lib/generators/rspec/install/templates/.rspec +0 -1
@@ -1,6 +1,7 @@
1
1
  require "action_dispatch/testing/assertions/routing"
2
2
 
3
3
  module RSpec::Rails
4
+ # Container module for routing spec functionality.
4
5
  module RoutingExampleGroup
5
6
  extend ActiveSupport::Concern
6
7
  include RSpec::Rails::RailsExampleGroup
@@ -8,12 +9,12 @@ module RSpec::Rails
8
9
  include RSpec::Rails::Matchers::RoutingMatchers::RouteHelpers
9
10
  include RSpec::Rails::AssertionDelegator.new(ActionDispatch::Assertions::RoutingAssertions)
10
11
 
12
+ # Class-level DSL for route specs.
11
13
  module ClassMethods
12
14
  # Specifies the routeset that will be used for the example group. This
13
15
  # is most useful when testing Rails engines.
14
16
  #
15
17
  # @example
16
- #
17
18
  # describe MyEngine::PostsController do
18
19
  # routes { MyEngine::Engine.routes }
19
20
  #
@@ -37,7 +38,7 @@ module RSpec::Rails
37
38
 
38
39
  attr_reader :routes
39
40
 
40
- # @api private
41
+ # @private
41
42
  def routes=(routes)
42
43
  @routes = routes
43
44
  assertion_instance.instance_variable_set(:@routes, routes)
@@ -1,6 +1,7 @@
1
1
  require 'rspec/rails/view_assigns'
2
2
 
3
3
  module RSpec::Rails
4
+ # Container class for view spec functionality.
4
5
  module ViewExampleGroup
5
6
  extend ActiveSupport::Concern
6
7
  include RSpec::Rails::RailsExampleGroup
@@ -8,6 +9,7 @@ module RSpec::Rails
8
9
  include RSpec::Rails::ViewAssigns
9
10
  include RSpec::Rails::Matchers::RenderTemplate
10
11
 
12
+ # @private
11
13
  module ClassMethods
12
14
  def _default_helper
13
15
  base = metadata[:description].split('/')[0..-2].join('/')
@@ -23,6 +25,7 @@ module RSpec::Rails
23
25
  end
24
26
  end
25
27
 
28
+ # DSL exposed to view specs.
26
29
  module ExampleMethods
27
30
  # @overload render
28
31
  # @overload render({:partial => path_to_file})
@@ -65,15 +68,13 @@ module RSpec::Rails
65
68
  # help isolate view examples from partials rendered by the view template
66
69
  # that is the subject of the example.
67
70
  #
68
- # @example
69
- #
70
71
  # stub_template("widgets/_widget.html.erb" => "This content.")
71
72
  def stub_template(hash)
72
73
  view.view_paths.unshift(ActionView::FixtureResolver.new(hash))
73
74
  end
74
75
 
75
76
  # Provides access to the params hash that will be available within the
76
- # view:
77
+ # view.
77
78
  #
78
79
  # params[:foo] = 'bar'
79
80
  def params
@@ -133,7 +134,7 @@ module RSpec::Rails
133
134
 
134
135
  def _include_controller_helpers
135
136
  helpers = controller._helpers
136
- view.singleton_class.class_eval do
137
+ view.singleton_class.class_exec do
137
138
  include helpers unless included_modules.include?(helpers)
138
139
  end
139
140
  end
@@ -1,7 +1,8 @@
1
1
  module RSpec
2
2
  module Rails
3
- if defined?(ActiveRecord::TestFixtures)
4
- module FixtureSupport
3
+ # @private
4
+ module FixtureSupport
5
+ if defined?(ActiveRecord::TestFixtures)
5
6
  extend ActiveSupport::Concern
6
7
  include RSpec::Rails::SetupAndTeardownAdapter
7
8
  include RSpec::Rails::MinitestLifecycleAdapter if ::ActiveRecord::VERSION::STRING > '4'
@@ -14,7 +15,7 @@ module RSpec
14
15
  # fixed in rails by https://github.com/rails/rails/pull/1861, which
15
16
  # should be part of the 3.1 release, at which point we can include
16
17
  # these lines for rails < 3.1.
17
- ActiveSupport::TestCase.class_eval do
18
+ ActiveSupport::TestCase.class_exec do
18
19
  include ActiveRecord::TestFixtures
19
20
  self.fixture_path = RSpec.configuration.fixture_path
20
21
  end
@@ -1,30 +1,29 @@
1
1
  module RSpec::Rails::Matchers
2
+ # @api private
3
+ #
4
+ # Matcher class for `be_a_new`. Should not be instantiated directly.
5
+ #
6
+ # @see RSpec::Rails::Matchers#be_a_new
2
7
  class BeANew < RSpec::Matchers::BuiltIn::BaseMatcher
3
-
8
+ # @private
4
9
  def initialize(expected)
5
10
  @expected = expected
6
11
  end
7
12
 
8
- # @api private
13
+ # @private
9
14
  def matches?(actual)
10
15
  @actual = actual
11
16
  actual.is_a?(expected) && actual.new_record? && attributes_match?(actual)
12
17
  end
13
18
 
14
- # Use this to specify the specific attributes to match on the new record.
15
- #
16
- # @example
17
- #
18
- # it "assigns a new Thing with the submitted attributes" do
19
- # post :create, :thing => { :name => "Illegal Value" }
20
- # expect(assigns).to(:thing) be_a_new(Thing).with(:name => nil)
21
- # end
19
+ # @api public
20
+ # @see RSpec::Rails::Matchers#be_a_new
22
21
  def with(expected_attributes)
23
22
  attributes.merge!(expected_attributes)
24
23
  self
25
24
  end
26
25
 
27
- # @api private
26
+ # @private
28
27
  def failure_message
29
28
  [].tap do |message|
30
29
  unless actual.is_a?(expected) && actual.new_record?
@@ -63,8 +62,10 @@ module RSpec::Rails::Matchers
63
62
  # `persisted?`. Typically used to specify instance variables assigned to
64
63
  # views by controller actions
65
64
  #
66
- # @example
65
+ # Use the `with` method to specify the specific attributes to match on the
66
+ # new record.
67
67
  #
68
+ # @example
68
69
  # get :new
69
70
  # assigns(:thing).should be_a_new(Thing)
70
71
  #
@@ -1,7 +1,6 @@
1
1
  module RSpec::Rails::Matchers
2
+ # @private
2
3
  class BeANewRecord < RSpec::Matchers::BuiltIn::BaseMatcher
3
-
4
- # @api private
5
4
  def matches?(actual)
6
5
  !actual.persisted?
7
6
  end
@@ -18,7 +17,6 @@ module RSpec::Rails::Matchers
18
17
  # Passes if actual returns `false` for `persisted?`.
19
18
  #
20
19
  # @example
21
- #
22
20
  # get :new
23
21
  # expect(assigns(:thing)).to be_new_record
24
22
  def be_new_record
@@ -1,16 +1,15 @@
1
1
  module RSpec::Rails::Matchers
2
+ # @private
2
3
  class BeValid < RSpec::Matchers::BuiltIn::Be
3
4
  def initialize(*args)
4
5
  @args = args
5
6
  end
6
7
 
7
- # @api private
8
8
  def matches?(actual)
9
9
  @actual = actual
10
10
  actual.valid?(*@args)
11
11
  end
12
12
 
13
- # @api private
14
13
  def failure_message
15
14
  message = "expected #{actual.inspect} to be valid"
16
15
 
@@ -27,7 +26,6 @@ module RSpec::Rails::Matchers
27
26
  message
28
27
  end
29
28
 
30
- # @api private
31
29
  def failure_message_when_negated
32
30
  "expected #{actual.inspect} not to be valid"
33
31
  end
@@ -38,7 +36,6 @@ module RSpec::Rails::Matchers
38
36
  # is not given, a default message is shown listing each error.
39
37
  #
40
38
  # @example
41
- #
42
39
  # thing = Thing.new
43
40
  # expect(thing).to be_valid
44
41
  def be_valid(*args)
@@ -1,5 +1,7 @@
1
1
  module RSpec::Rails::Matchers
2
+ # Matcher for template rendering.
2
3
  module RenderTemplate
4
+ # @private
3
5
  class RenderTemplateMatcher < RSpec::Matchers::BuiltIn::BaseMatcher
4
6
 
5
7
  def initialize(scope, expected, message=nil)
@@ -26,10 +28,9 @@ module RSpec::Rails::Matchers
26
28
  end
27
29
  end
28
30
 
29
- # Delegates to `assert_template`
31
+ # Delegates to `assert_template`.
30
32
  #
31
33
  # @example
32
- #
33
34
  # expect(response).to have_rendered("new")
34
35
  def have_rendered(options, message=nil)
35
36
  RenderTemplateMatcher.new(self, options, message)
@@ -1,5 +1,7 @@
1
1
  module RSpec::Rails::Matchers
2
+ # Matcher for redirects.
2
3
  module RedirectTo
4
+ # @private
3
5
  class RedirectTo < RSpec::Matchers::BuiltIn::BaseMatcher
4
6
 
5
7
  def initialize(scope, expected)
@@ -7,28 +9,24 @@ module RSpec::Rails::Matchers
7
9
  @scope = scope
8
10
  end
9
11
 
10
- # @api private
11
12
  def matches?(_)
12
13
  match_unless_raises ActiveSupport::TestCase::Assertion do
13
14
  @scope.assert_redirected_to(@expected)
14
15
  end
15
16
  end
16
17
 
17
- # @api private
18
18
  def failure_message
19
19
  rescued_exception.message
20
20
  end
21
21
 
22
- # @api private
23
22
  def failure_message_when_negated
24
23
  "expected not to redirect to #{@expected.inspect}, but did"
25
24
  end
26
25
  end
27
26
 
28
- # Delegates to `assert_redirected_to`
27
+ # Delegates to `assert_redirected_to`.
29
28
  #
30
29
  # @example
31
- #
32
30
  # expect(response).to redirect_to(:action => "new")
33
31
  def redirect_to(target)
34
32
  RedirectTo.new(self, target)
@@ -1,7 +1,9 @@
1
1
  module RSpec::Rails::Matchers
2
+ # Matchers to help with specs for routing code.
2
3
  module RoutingMatchers
3
4
  extend RSpec::Matchers::DSL
4
5
 
6
+ # @private
5
7
  class RouteToMatcher < RSpec::Matchers::BuiltIn::BaseMatcher
6
8
 
7
9
  def initialize(scope, *expected)
@@ -15,7 +17,6 @@ module RSpec::Rails::Matchers
15
17
  end
16
18
  end
17
19
 
18
- # @api private
19
20
  def matches?(verb_to_path_map)
20
21
  @actual = @verb_to_path_map = verb_to_path_map
21
22
  # assert_recognizes does not consider ActionController::RoutingError an
@@ -30,7 +31,6 @@ module RSpec::Rails::Matchers
30
31
  end
31
32
  end
32
33
 
33
- # @api private
34
34
  def failure_message
35
35
  rescued_exception.message
36
36
  end
@@ -61,13 +61,13 @@ module RSpec::Rails::Matchers
61
61
  RouteToMatcher.new(self, *expected)
62
62
  end
63
63
 
64
+ # @private
64
65
  class BeRoutableMatcher < RSpec::Matchers::BuiltIn::BaseMatcher
65
66
 
66
67
  def initialize(scope)
67
68
  @scope = scope
68
69
  end
69
70
 
70
- # @api private
71
71
  def matches?(path)
72
72
  @actual = path
73
73
  match_unless_raises ActionController::RoutingError do
@@ -90,9 +90,7 @@ module RSpec::Rails::Matchers
90
90
  # the declarations in `config/routes.rb`. Delegates to
91
91
  # `RouteSet#recognize_path`.
92
92
  #
93
- # @example
94
- #
95
- # You can use route helpers provided by rspec-rails.
93
+ # @example You can use route helpers provided by rspec-rails.
96
94
  # expect(:get => "/a/path").to be_routable
97
95
  # expect(:post => "/another/path").to be_routable
98
96
  # expect(:put => "/yet/another/path").to be_routable
@@ -100,7 +98,17 @@ module RSpec::Rails::Matchers
100
98
  BeRoutableMatcher.new(self)
101
99
  end
102
100
 
101
+ # Helpers for matching different route types.
103
102
  module RouteHelpers
103
+ # @!method get
104
+ # @!method post
105
+ # @!method put
106
+ # @!method patch
107
+ # @!method delete
108
+ # @!method options
109
+ # @!method head
110
+ #
111
+ # Shorthand method for matching this type of route.
104
112
  %w(get post put patch delete options head).each do |method|
105
113
  define_method method do |path|
106
114
  { method.to_sym => path }
@@ -1,7 +1,9 @@
1
1
  module RSpec
2
2
  module Rails
3
+ # Version information for RSpec Rails.
3
4
  module Version
4
- STRING = '3.0.0.rc1'
5
+ # Current version of RSpec Rails, in semantic versioning format.
6
+ STRING = '3.0.0'
5
7
  end
6
8
  end
7
9
  end
@@ -1,5 +1,6 @@
1
1
  module RSpec
2
2
  module Rails
3
+ # Helpers for making instance variables available to views.
3
4
  module ViewAssigns
4
5
  # Assigns a value to an instance variable in the scope of the
5
6
  # view being rendered.
@@ -11,25 +12,25 @@ module RSpec
11
12
  _encapsulated_assigns[key] = value
12
13
  end
13
14
 
15
+ # Compat-shim for AbstractController::Rendering#view_assigns
16
+ #
17
+ # _assigns was deprecated in favor of view_assigns after
18
+ # Rails-3.0.0 was released. Since we are not able to predict when
19
+ # the _assigns/view_assigns patch will be released (I thought it
20
+ # would have been in 3.0.1, but 3.0.1 bypassed this change for a
21
+ # security fix), this bit ensures that we do the right thing without
22
+ # knowing anything about the Rails version we are dealing with.
23
+ #
24
+ # Once that change _is_ released, this can be changed to something
25
+ # that checks for the Rails version when the module is being
26
+ # interpreted, as it was before commit dd0095.
14
27
  def view_assigns
15
- begin
16
- # TODO: _assigns was deprecated in favor of view_assigns after
17
- # Rails-3.0.0 was released. Since we are not able to predict when
18
- # the _assigns/view_assigns patch will be released (I thought it
19
- # would have been in 3.0.1, but 3.0.1 bypassed this change for a
20
- # security fix), this bit ensures that we do the right thing without
21
- # knowing anything about the Rails version we are dealing with.
22
- #
23
- # Once that change _is_ released, this can be changed to something
24
- # that checks for the Rails version when the module is being
25
- # interpreted, as it was before commit dd0095.
26
- super.merge(_encapsulated_assigns)
27
- rescue
28
- _assigns
29
- end
28
+ super.merge(_encapsulated_assigns)
29
+ rescue
30
+ _assigns
30
31
  end
31
32
 
32
- # @api private
33
+ # @private
33
34
  def _assigns
34
35
  super.merge(_encapsulated_assigns)
35
36
  end
@@ -2,11 +2,13 @@ require 'action_view/testing/resolvers'
2
2
 
3
3
  module RSpec
4
4
  module Rails
5
+ # Helpers for optionally rendering views in controller specs.
5
6
  module ViewRendering
6
7
  extend ActiveSupport::Concern
7
8
 
8
9
  attr_accessor :controller
9
10
 
11
+ # DSL methods
10
12
  module ClassMethods
11
13
  # @see RSpec::Rails::ControllerExampleGroup
12
14
  def render_views(true_or_false=true)
@@ -32,6 +34,8 @@ module RSpec
32
34
 
33
35
  # Delegates find_all to the submitted path set and then returns templates
34
36
  # with modified source
37
+ #
38
+ # @private
35
39
  class EmptyTemplatePathSetDecorator < ::ActionView::Resolver
36
40
  attr_reader :original_path_set
37
41
 
@@ -39,7 +43,6 @@ module RSpec
39
43
  @original_path_set = original_path_set
40
44
  end
41
45
 
42
- # @api private
43
46
  def find_all(*args)
44
47
  original_path_set.find_all(*args).collect do |template|
45
48
  ::ActionView::Template.new(
@@ -55,19 +58,21 @@ module RSpec
55
58
  end
56
59
  end
57
60
 
61
+ # @private
58
62
  class EmptyTemplateHandler
59
63
  def self.call(template)
60
64
  %("")
61
65
  end
62
66
  end
63
67
 
68
+ # Used to null out view rendering in controller specs.
69
+ #
70
+ # @private
64
71
  module EmptyTemplates
65
- # @api private
66
72
  def prepend_view_path(new_path)
67
73
  lookup_context.view_paths.unshift(*_path_decorator(new_path))
68
74
  end
69
75
 
70
- # @api private
71
76
  def append_view_path(new_path)
72
77
  lookup_context.view_paths.push(*_path_decorator(new_path))
73
78
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -9,169 +9,176 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
- - |
13
- -----BEGIN CERTIFICATE-----
14
- MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl
15
- Yy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk
16
- ARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV
17
- BAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK
18
- CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
19
- nhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs
20
- F5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz
21
- RUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD
22
- JcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW
23
- qgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A
24
- +dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
25
- AgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly
26
- c3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn
27
- b29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+
28
- BaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ
29
- FvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ
30
- 3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9
31
- 7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9
32
- 1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
33
- muA=
34
- -----END CERTIFICATE-----
35
- date: 2014-05-18 00:00:00.000000000 Z
12
+ - !binary |-
13
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqakNDQW5hZ0F3SUJB
14
+ Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJHTVJJd0VBWURWUVFEREFseWMz
15
+ QmwKWXkxa1pYWXhHekFaQmdvSmtpYUprL0lzWkFFWkZndG5iMjluYkdWbmIz
16
+ VndjekVUTUJFR0NnbVNKb21UOGl4awpBUmtXQTJOdmJUQWVGdzB4TXpFeE1E
17
+ Y3hPVFF5TlRsYUZ3MHhOREV4TURjeE9UUXlOVGxhTUVZeEVqQVFCZ05WCkJB
18
+ TU1DWEp6Y0dWakxXUmxkakViTUJrR0NnbVNKb21UOGl4a0FSa1dDMmR2YjJk
19
+ c1pXZHZkWEJ6TVJNd0VRWUsKQ1pJbWlaUHlMR1FCR1JZRFkyOXRNSUlCSWpB
20
+ TkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQQpuaENlWm91
21
+ RExYV081NW5vK0VkWk5DdGpYamZKUTFYOVRiUGN2QkREMjlPeXBJVWNlMmgv
22
+ VmRLWEIyZ0k3WkhzCkY1TmtQZ2dzbFRFckdGbVdBdElpdXI3dTk0M1JWcUhP
23
+ c3lvSXN5MDY1RjlmQ3RyeWtrQSsyMmVsdlREaGE0SXoKUlVDdnVoUTNrbGF0
24
+ WWs0akYrY0d0MWpOT05OVmRMT2l5MGJNeW52Y003aG9WUTJBb213R3MrY0VP
25
+ V1EvNGRrRApKY05WM3FmekY1UUJjVEQyMzcyWE5NNTNiMjVuWVZRU1gyS0g1
26
+ RkY3QmhsS3lvdjMzYk9tMmdBOU0rbVdJdWpXCnFna3l4VmxmcmxFK1pCZ1Yz
27
+ d1huMUNvamcxTHBUcTM1eU9Bcmd3aW95cnd3bFpaSlI5am9OOXMvbkRrbGZy
28
+ NUEKK2R5RVRqRmM2Y21FUFdacnQyY0pCUUlEQVFBQm80R0dNSUdETUFrR0Ex
29
+ VWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1N3TUIwR0ExVWREZ1FXQkJTVytX
30
+ RDdobjFzd0oxQTdpOHRidUZldU5DSkNqQWtCZ05WSFJFRUhUQWJnUmx5CmMz
31
+ QmxZeTFrWlhaQVoyOXZaMnhsWjI5MWNITXVZMjl0TUNRR0ExVWRFZ1FkTUJ1
32
+ QkdYSnpjR1ZqTFdSbGRrQm4KYjI5bmJHVm5iM1Z3Y3k1amIyMHdEUVlKS29a
33
+ SWh2Y05BUUVGQlFBRGdnRUJBSDI3akFaOHNEN3ZuWHVwajZZKwpCYUJkZkh0
34
+ Q2tGYXNsTEowYUt1TURJVlh3WXVLZnFvVzE1Y1pQRExtU0lFQnVRRk0zbHc2
35
+ ZC9oRUVMNFVvMmpaCkZ2dG1INU94aWZQRHpGeVV0Q0w0eXA2cWdOZS9YZjZz
36
+ RHNSZzZGbUtjcGdxQ3dOT21zVmlhZjBMUFNVSC9HWVEKM1Rlb3o4UUNhRGJE
37
+ N0FLc2ZmVDdlRHJuYkhuS3dlTzFYZGVtUkpDOTh1L3lZeG5Hek1TV0tFc24w
38
+ OWV0QmxaOQo3SDY3azVaM3VmNmNmTFpnVG9XTDZ6U2h6WlkzTnVuNXI3M1lz
39
+ TmYyL1FaT2U0VVplNHZmR3ZuNmJhdzUzeXM5CjF5SEMxQWNTWXB2aTJkQWJP
40
+ aUhUNWlRRitrcm00d3NlOEtjdFhnVE5uak1zSEVvR0t1bEpTMi9zWmw5MGpj
41
+ Q3oKbXVBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
42
+ date: 2014-06-02 00:00:00.000000000 Z
36
43
  dependencies:
37
44
  - !ruby/object:Gem::Dependency
38
45
  name: activesupport
39
46
  requirement: !ruby/object:Gem::Requirement
40
47
  requirements:
41
- - - ">="
48
+ - - ! '>='
42
49
  - !ruby/object:Gem::Version
43
50
  version: '3.0'
44
51
  type: :runtime
45
52
  prerelease: false
46
53
  version_requirements: !ruby/object:Gem::Requirement
47
54
  requirements:
48
- - - ">="
55
+ - - ! '>='
49
56
  - !ruby/object:Gem::Version
50
57
  version: '3.0'
51
58
  - !ruby/object:Gem::Dependency
52
59
  name: actionpack
53
60
  requirement: !ruby/object:Gem::Requirement
54
61
  requirements:
55
- - - ">="
62
+ - - ! '>='
56
63
  - !ruby/object:Gem::Version
57
64
  version: '3.0'
58
65
  type: :runtime
59
66
  prerelease: false
60
67
  version_requirements: !ruby/object:Gem::Requirement
61
68
  requirements:
62
- - - ">="
69
+ - - ! '>='
63
70
  - !ruby/object:Gem::Version
64
71
  version: '3.0'
65
72
  - !ruby/object:Gem::Dependency
66
73
  name: railties
67
74
  requirement: !ruby/object:Gem::Requirement
68
75
  requirements:
69
- - - ">="
76
+ - - ! '>='
70
77
  - !ruby/object:Gem::Version
71
78
  version: '3.0'
72
79
  type: :runtime
73
80
  prerelease: false
74
81
  version_requirements: !ruby/object:Gem::Requirement
75
82
  requirements:
76
- - - ">="
83
+ - - ! '>='
77
84
  - !ruby/object:Gem::Version
78
85
  version: '3.0'
79
86
  - !ruby/object:Gem::Dependency
80
87
  name: rspec-core
81
88
  requirement: !ruby/object:Gem::Requirement
82
89
  requirements:
83
- - - '='
90
+ - - ~>
84
91
  - !ruby/object:Gem::Version
85
- version: 3.0.0.rc1
92
+ version: 3.0.0
86
93
  type: :runtime
87
94
  prerelease: false
88
95
  version_requirements: !ruby/object:Gem::Requirement
89
96
  requirements:
90
- - - '='
97
+ - - ~>
91
98
  - !ruby/object:Gem::Version
92
- version: 3.0.0.rc1
99
+ version: 3.0.0
93
100
  - !ruby/object:Gem::Dependency
94
101
  name: rspec-expectations
95
102
  requirement: !ruby/object:Gem::Requirement
96
103
  requirements:
97
- - - '='
104
+ - - ~>
98
105
  - !ruby/object:Gem::Version
99
- version: 3.0.0.rc1
106
+ version: 3.0.0
100
107
  type: :runtime
101
108
  prerelease: false
102
109
  version_requirements: !ruby/object:Gem::Requirement
103
110
  requirements:
104
- - - '='
111
+ - - ~>
105
112
  - !ruby/object:Gem::Version
106
- version: 3.0.0.rc1
113
+ version: 3.0.0
107
114
  - !ruby/object:Gem::Dependency
108
115
  name: rspec-mocks
109
116
  requirement: !ruby/object:Gem::Requirement
110
117
  requirements:
111
- - - '='
118
+ - - ~>
112
119
  - !ruby/object:Gem::Version
113
- version: 3.0.0.rc1
120
+ version: 3.0.0
114
121
  type: :runtime
115
122
  prerelease: false
116
123
  version_requirements: !ruby/object:Gem::Requirement
117
124
  requirements:
118
- - - '='
125
+ - - ~>
119
126
  - !ruby/object:Gem::Version
120
- version: 3.0.0.rc1
127
+ version: 3.0.0
121
128
  - !ruby/object:Gem::Dependency
122
129
  name: rspec-support
123
130
  requirement: !ruby/object:Gem::Requirement
124
131
  requirements:
125
- - - '='
132
+ - - ~>
126
133
  - !ruby/object:Gem::Version
127
- version: 3.0.0.rc1
134
+ version: 3.0.0
128
135
  type: :runtime
129
136
  prerelease: false
130
137
  version_requirements: !ruby/object:Gem::Requirement
131
138
  requirements:
132
- - - '='
139
+ - - ~>
133
140
  - !ruby/object:Gem::Version
134
- version: 3.0.0.rc1
141
+ version: 3.0.0
135
142
  - !ruby/object:Gem::Dependency
136
143
  name: rake
137
144
  requirement: !ruby/object:Gem::Requirement
138
145
  requirements:
139
- - - "~>"
146
+ - - ~>
140
147
  - !ruby/object:Gem::Version
141
148
  version: 10.0.0
142
149
  type: :development
143
150
  prerelease: false
144
151
  version_requirements: !ruby/object:Gem::Requirement
145
152
  requirements:
146
- - - "~>"
153
+ - - ~>
147
154
  - !ruby/object:Gem::Version
148
155
  version: 10.0.0
149
156
  - !ruby/object:Gem::Dependency
150
157
  name: cucumber
151
158
  requirement: !ruby/object:Gem::Requirement
152
159
  requirements:
153
- - - "~>"
160
+ - - ~>
154
161
  - !ruby/object:Gem::Version
155
162
  version: 1.3.5
156
163
  type: :development
157
164
  prerelease: false
158
165
  version_requirements: !ruby/object:Gem::Requirement
159
166
  requirements:
160
- - - "~>"
167
+ - - ~>
161
168
  - !ruby/object:Gem::Version
162
169
  version: 1.3.5
163
170
  - !ruby/object:Gem::Dependency
164
171
  name: aruba
165
172
  requirement: !ruby/object:Gem::Requirement
166
173
  requirements:
167
- - - "~>"
174
+ - - ~>
168
175
  - !ruby/object:Gem::Version
169
176
  version: 0.4.11
170
177
  type: :development
171
178
  prerelease: false
172
179
  version_requirements: !ruby/object:Gem::Requirement
173
180
  requirements:
174
- - - "~>"
181
+ - - ~>
175
182
  - !ruby/object:Gem::Version
176
183
  version: 0.4.11
177
184
  - !ruby/object:Gem::Dependency
@@ -194,12 +201,6 @@ executables: []
194
201
  extensions: []
195
202
  extra_rdoc_files: []
196
203
  files:
197
- - ".document"
198
- - ".yardopts"
199
- - Capybara.md
200
- - Changelog.md
201
- - License.txt
202
- - README.md
203
204
  - lib/generators/rspec.rb
204
205
  - lib/generators/rspec/controller/controller_generator.rb
205
206
  - lib/generators/rspec/controller/templates/controller_spec.rb
@@ -209,8 +210,7 @@ files:
209
210
  - lib/generators/rspec/helper/helper_generator.rb
210
211
  - lib/generators/rspec/helper/templates/helper_spec.rb
211
212
  - lib/generators/rspec/install/install_generator.rb
212
- - lib/generators/rspec/install/templates/.rspec
213
- - lib/generators/rspec/install/templates/spec/spec_helper.rb.tt
213
+ - lib/generators/rspec/install/templates/spec/rails_helper.rb
214
214
  - lib/generators/rspec/integration/integration_generator.rb
215
215
  - lib/generators/rspec/integration/templates/request_spec.rb
216
216
  - lib/generators/rspec/mailer/mailer_generator.rb
@@ -261,30 +261,36 @@ files:
261
261
  - lib/rspec/rails/version.rb
262
262
  - lib/rspec/rails/view_assigns.rb
263
263
  - lib/rspec/rails/view_rendering.rb
264
+ - README.md
265
+ - License.txt
266
+ - Changelog.md
267
+ - Capybara.md
268
+ - .yardopts
269
+ - .document
264
270
  homepage: http://github.com/rspec/rspec-rails
265
271
  licenses:
266
272
  - MIT
267
273
  metadata: {}
268
274
  post_install_message:
269
275
  rdoc_options:
270
- - "--charset=UTF-8"
276
+ - --charset=UTF-8
271
277
  require_paths:
272
278
  - lib
273
279
  required_ruby_version: !ruby/object:Gem::Requirement
274
280
  requirements:
275
- - - ">="
281
+ - - ! '>='
276
282
  - !ruby/object:Gem::Version
277
283
  version: '0'
278
284
  required_rubygems_version: !ruby/object:Gem::Requirement
279
285
  requirements:
280
- - - ">"
286
+ - - ! '>='
281
287
  - !ruby/object:Gem::Version
282
- version: 1.3.1
288
+ version: '0'
283
289
  requirements: []
284
290
  rubyforge_project: rspec
285
- rubygems_version: 2.2.2
291
+ rubygems_version: 2.0.7
286
292
  signing_key:
287
293
  specification_version: 4
288
- summary: rspec-rails-3.0.0.rc1
294
+ summary: rspec-rails-3.0.0
289
295
  test_files: []
290
296
  has_rdoc: