rspec-rails 3.0.0.rc1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +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: