shoulda-matchers 3.0.0 → 3.0.1
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.
- checksums.yaml +4 -4
- data/.yardopts +3 -1
- data/Gemfile +1 -2
- data/Gemfile.lock +8 -2
- data/NEWS.md +29 -1
- data/README.md +3 -11
- data/doc_config/yard/templates/default/fulldoc/html/css/global.css +17 -0
- data/doc_config/yard/templates/default/fulldoc/html/css/style.css +3 -4
- data/doc_config/yard/templates/default/layout/html/breadcrumb.erb +1 -1
- data/doc_config/yard/templates/default/layout/html/footer.erb +6 -0
- data/docs/errors/NonCaseSwappableValueError.md +111 -0
- data/gemfiles/4.0.0.gemfile +1 -2
- data/gemfiles/4.0.0.gemfile.lock +5 -2
- data/gemfiles/4.0.1.gemfile +1 -2
- data/gemfiles/4.0.1.gemfile.lock +5 -2
- data/gemfiles/4.1.gemfile +1 -2
- data/gemfiles/4.1.gemfile.lock +5 -2
- data/gemfiles/4.2.gemfile +1 -2
- data/gemfiles/4.2.gemfile.lock +5 -2
- data/lib/shoulda/matchers/action_controller/respond_with_matcher.rb +1 -5
- data/lib/shoulda/matchers/active_model/allow_value_matcher.rb +26 -4
- data/lib/shoulda/matchers/active_model/numericality_matchers/comparison_matcher.rb +9 -8
- data/lib/shoulda/matchers/active_model/numericality_matchers/even_number_matcher.rb +14 -8
- data/lib/shoulda/matchers/active_model/numericality_matchers/numeric_type_matcher.rb +47 -12
- data/lib/shoulda/matchers/active_model/numericality_matchers/odd_number_matcher.rb +15 -9
- data/lib/shoulda/matchers/active_model/numericality_matchers/only_integer_matcher.rb +14 -7
- data/lib/shoulda/matchers/active_model/validate_inclusion_of_matcher.rb +16 -4
- data/lib/shoulda/matchers/active_model/validate_numericality_of_matcher.rb +67 -5
- data/lib/shoulda/matchers/active_record/validate_uniqueness_of_matcher.rb +35 -0
- data/lib/shoulda/matchers/util.rb +2 -0
- data/lib/shoulda/matchers/util/word_wrap.rb +178 -0
- data/lib/shoulda/matchers/version.rb +1 -1
- data/lib/shoulda/matchers/warn.rb +1 -10
- data/spec/acceptance_spec_helper.rb +2 -10
- data/spec/doublespeak_spec_helper.rb +1 -17
- data/spec/spec_helper.rb +23 -0
- data/spec/unit/shoulda/matchers/active_model/numericality_matchers/comparison_matcher_spec.rb +1 -1
- data/spec/unit/shoulda/matchers/active_model/numericality_matchers/even_number_matcher_spec.rb +5 -2
- data/spec/unit/shoulda/matchers/active_model/numericality_matchers/odd_number_matcher_spec.rb +5 -2
- data/spec/unit/shoulda/matchers/active_model/numericality_matchers/only_integer_matcher_spec.rb +5 -1
- data/spec/unit/shoulda/matchers/active_model/validate_inclusion_of_matcher_spec.rb +91 -4
- data/spec/unit/shoulda/matchers/active_model/validate_numericality_of_matcher_spec.rb +292 -2
- data/spec/unit/shoulda/matchers/active_record/validate_uniqueness_of_matcher_spec.rb +16 -2
- data/spec/unit/shoulda/matchers/util/word_wrap_spec.rb +197 -0
- data/spec/unit_spec_helper.rb +1 -16
- data/tasks/documentation.rb +10 -17
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fe80273c48fdbadb3d479406470fa875abfcf61
|
4
|
+
data.tar.gz: 3cac554e34d73023e1e3cd5a65bc23291159ff87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df7679b9a7384f93e221a7a9a07411bd6e6f93cd3dc267e262e803b3c7359b3272b4adb037039e09662bf7bb6e9b31d094748109dec3e9050967df8d3691f8f8
|
7
|
+
data.tar.gz: f5c6cea2751c9cf331b96447af1d8f70c6ecd1edae2aac4c587361e438a14caa8cd8da563873135b0421450f28663e1c1b7c4f542182b9a5311cee1480d29520
|
data/.yardopts
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -30,11 +30,18 @@ GEM
|
|
30
30
|
yajl-ruby (~> 1.1.0)
|
31
31
|
rake (10.4.2)
|
32
32
|
redcarpet (3.0.0)
|
33
|
+
rspec (3.3.0)
|
34
|
+
rspec-core (~> 3.3.0)
|
35
|
+
rspec-expectations (~> 3.3.0)
|
36
|
+
rspec-mocks (~> 3.3.0)
|
33
37
|
rspec-core (3.3.2)
|
34
38
|
rspec-support (~> 3.3.0)
|
35
39
|
rspec-expectations (3.3.1)
|
36
40
|
diff-lcs (>= 1.2.0, < 2.0)
|
37
41
|
rspec-support (~> 3.3.0)
|
42
|
+
rspec-mocks (3.3.2)
|
43
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
44
|
+
rspec-support (~> 3.3.0)
|
38
45
|
rspec-support (3.3.0)
|
39
46
|
slop (3.6.0)
|
40
47
|
thor (0.19.1)
|
@@ -53,8 +60,7 @@ DEPENDENCIES
|
|
53
60
|
pygments.rb
|
54
61
|
rake (~> 10.0)
|
55
62
|
redcarpet
|
56
|
-
rspec
|
57
|
-
rspec-expectations (>= 3.2.0, < 4)
|
63
|
+
rspec (~> 3.2)
|
58
64
|
yard
|
59
65
|
|
60
66
|
BUNDLED WITH
|
data/NEWS.md
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
+
# 3.0.1
|
2
|
+
|
3
|
+
### Bug fixes
|
4
|
+
|
5
|
+
* Fix `validate_inclusion_of` + `in_array` when used against a date or datetime
|
6
|
+
column/attribute so that it does not raise a CouldNotSetAttributeError.
|
7
|
+
([#783], [8fa97b4])
|
8
|
+
|
9
|
+
* Fix `validate_numericality_of` when used against a numeric column so that it
|
10
|
+
no longer raises a CouldNotSetAttributeError if the matcher has been qualified
|
11
|
+
in any way (`only_integer`, `greater_than`, `odd`, etc.). ([#784], [#812])
|
12
|
+
|
13
|
+
### Improvements
|
14
|
+
|
15
|
+
* `validate_uniqueness_of` now raises a NonCaseSwappableValueError if the value
|
16
|
+
the matcher is using to test uniqueness cannot be case-swapped -- in other
|
17
|
+
words, if it doesn't contain any alpha characters. When this is the case, the
|
18
|
+
matcher cannot work effectively. ([#789], [ada9bd3])
|
19
|
+
|
20
|
+
[#783]: https://github.com/thoughtbot/shoulda-matchers/pull/783
|
21
|
+
[8fa97b4]: https://github.com/thoughtbot/shoulda-matchers/commit/8fa97b4ff33b57ce16dfb96be1ec892502f2aa9e
|
22
|
+
[#784]: https://github.com/thoughtbot/shoulda-matchers/pull/784
|
23
|
+
[#789]: https://github.com/thoughtbot/shoulda-matchers/pull/789
|
24
|
+
[ada9bd3]: https://github.com/thoughtbot/shoulda-matchers/commit/ada9bd3a1b9f2bb9fa74d0dfe1f8f7080314298c
|
25
|
+
[#812]: https://github.com/thoughtbot/shoulda-matchers/pull/812
|
26
|
+
|
1
27
|
# 3.0.0
|
2
28
|
|
3
29
|
### Backward-incompatible changes
|
@@ -150,7 +176,7 @@
|
|
150
176
|
|
151
177
|
([9d9dc4e])
|
152
178
|
|
153
|
-
* `validate_uniqueness_of` is now properly case-
|
179
|
+
* `validate_uniqueness_of` is now properly case-sensitive by default, to match
|
154
180
|
the default behavior of the validation itself. This is a backward-incompatible
|
155
181
|
change because this test which incorrectly passed before will now fail:
|
156
182
|
|
@@ -215,6 +241,8 @@
|
|
215
241
|
[#752]: https://github.com/thoughtbot/shoulda-matchers/pull/752
|
216
242
|
[9d9dc4e]: https://github.com/thoughtbot/shoulda-matchers/commit/9d9dc4e6b9cf2c19df66a1b4ba432ad8d3e5dded
|
217
243
|
[32c0e62]: https://github.com/thoughtbot/shoulda-matchers/commit/32c0e62596b87e37a301f87bbe21cfcc77750552
|
244
|
+
[af98a23]: https://github.com/thoughtbot/shoulda-matchers/commit/af98a23091551fb40aded5a8d4f9e5be926f53a9
|
245
|
+
[8cf449b]: https://github.com/thoughtbot/shoulda-matchers/commit/8cf449b4ca37d0d7446d2cabbfa5a1582358256d
|
218
246
|
|
219
247
|
### Bug fixes
|
220
248
|
|
data/README.md
CHANGED
@@ -4,10 +4,7 @@ Shoulda Matchers provides RSpec- and Minitest-compatible one-liners that test
|
|
4
4
|
common Rails functionality. These tests would otherwise be much longer, more
|
5
5
|
complex, and error-prone.
|
6
6
|
|
7
|
-
[View the official documentation for the latest version (
|
8
|
-
|
9
|
-
**Heads up! This is the README for the master branch. [You might be more
|
10
|
-
interested in the README for 2.8.0 instead.][2.8.0-README]**
|
7
|
+
[View the official documentation for the latest version (3.0.0).][rubydocs]
|
11
8
|
|
12
9
|
----
|
13
10
|
|
@@ -108,7 +105,7 @@ Include `shoulda-matchers` in your Gemfile:
|
|
108
105
|
|
109
106
|
``` ruby
|
110
107
|
group :test do
|
111
|
-
gem 'shoulda-matchers'
|
108
|
+
gem 'shoulda-matchers', '~> 3.0'
|
112
109
|
end
|
113
110
|
```
|
114
111
|
|
@@ -144,7 +141,7 @@ gem in your Gemfile instead:
|
|
144
141
|
|
145
142
|
```ruby
|
146
143
|
group :test do
|
147
|
-
gem 'shoulda'
|
144
|
+
gem 'shoulda', '~> 3.5'
|
148
145
|
end
|
149
146
|
```
|
150
147
|
|
@@ -161,10 +158,6 @@ end
|
|
161
158
|
|
162
159
|
### Configuration
|
163
160
|
|
164
|
-
**NOTE: The new configuration syntax isn't available in a public release just
|
165
|
-
yet -- please refer to the [README for 2.8.0][2.8.0-README] for the current
|
166
|
-
installation instructions.**
|
167
|
-
|
168
161
|
Before you can use Shoulda Matchers, you'll need to tell it a couple of things:
|
169
162
|
|
170
163
|
* Which test framework you're using
|
@@ -255,4 +248,3 @@ We are [available for hire][hire].
|
|
255
248
|
[contributors]: https://github.com/thoughtbot/shoulda-matchers/contributors
|
256
249
|
[shoulda]: http://github.com/thoughtbot/shoulda
|
257
250
|
[shoulda-context]: http://github.com/thoughtbot/shoulda-context
|
258
|
-
[2.8.0-README]: https://github.com/thoughtbot/shoulda-matchers/tree/v2.8.0#shoulda-matchers---
|
@@ -43,3 +43,20 @@ ul, ol {
|
|
43
43
|
margin-left: 1em;
|
44
44
|
padding-left: 1em;
|
45
45
|
}
|
46
|
+
|
47
|
+
p, blockquote {
|
48
|
+
margin-bottom: 1.25em;
|
49
|
+
}
|
50
|
+
|
51
|
+
blockquote {
|
52
|
+
font-style: italic;
|
53
|
+
padding-top: 0;
|
54
|
+
padding-bottom: 0;
|
55
|
+
padding-left: 1em;
|
56
|
+
}
|
57
|
+
|
58
|
+
blockquote p {
|
59
|
+
font-size: inherit;
|
60
|
+
font-weight: inherit;
|
61
|
+
line-height: inherit;
|
62
|
+
}
|
@@ -91,7 +91,7 @@ h4 + h5 {
|
|
91
91
|
#menu, #search {
|
92
92
|
height: 6rem;
|
93
93
|
line-height: 6rem;
|
94
|
-
|
94
|
+
font-size: 1.1em;
|
95
95
|
}
|
96
96
|
#main {
|
97
97
|
top: 6rem;
|
@@ -99,10 +99,9 @@ h4 + h5 {
|
|
99
99
|
|
100
100
|
#menu {
|
101
101
|
float: left;
|
102
|
-
letter-spacing: 1px;
|
103
102
|
padding-left: 2em;
|
104
103
|
position: relative;
|
105
|
-
width:
|
104
|
+
width: 45em;
|
106
105
|
}
|
107
106
|
|
108
107
|
#menu .noframes {
|
@@ -111,7 +110,6 @@ h4 + h5 {
|
|
111
110
|
|
112
111
|
#search {
|
113
112
|
float: right;
|
114
|
-
font-size: 0.9em;
|
115
113
|
}
|
116
114
|
|
117
115
|
#search ul {
|
@@ -201,6 +199,7 @@ h4 + h5 {
|
|
201
199
|
padding: 10px;
|
202
200
|
text-align: center;
|
203
201
|
text-shadow: 0 1px 1px rgba(0,0,0,0.4);
|
202
|
+
font-size: 0.9em;
|
204
203
|
}
|
205
204
|
|
206
205
|
#footer a {
|
@@ -5,7 +5,7 @@
|
|
5
5
|
</span> »
|
6
6
|
<% end %>
|
7
7
|
<% if @contents || @file %>
|
8
|
-
<span class="title"><%= @breadcrumb_title %></span>
|
8
|
+
<span class="title"><%= @breadcrumb_title.sub(/\AFile: /, "") %></span>
|
9
9
|
<% elsif object.is_a?(CodeObjects::Base) %>
|
10
10
|
<%= @breadcrumb.map {|obj| "<span class='title'>" + linkify(obj, obj.name) + "</span>" }.join(" » ") %>
|
11
11
|
<%= @breadcrumb.size > 0 ? " » " : "" %>
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# @title NonCaseSwappableValueError
|
2
|
+
|
3
|
+
# NonCaseSwappableValueError
|
4
|
+
|
5
|
+
This error is raised when using `validate_uniqueness_of`. This matcher, of
|
6
|
+
course, tests that an attribute disallows a non-unique value -- and what
|
7
|
+
constitutes as "unique" depends on whether the case-sensitivity of that value
|
8
|
+
matters. If it does matter -- meaning that the uniqueness validation in your
|
9
|
+
model isn't using `case_sensitive: false` and you haven't qualified the matcher
|
10
|
+
with `case_insensitive` -- then the matcher will run the following test:
|
11
|
+
|
12
|
+
> Creating first a record with a value of "A":
|
13
|
+
>
|
14
|
+
> * A new record with a value of "A" should not be valid (failing the uniqueness
|
15
|
+
> validation)
|
16
|
+
> * A new record with a value of "a" should be valid
|
17
|
+
|
18
|
+
The test value we're using is in this case "A", and this is what the matcher
|
19
|
+
will use if an existing record is not already present in the database. But if
|
20
|
+
a record already exists, then the matcher will use it as comparison -- it will
|
21
|
+
read the attribute under test off of the record and use its value. So a better
|
22
|
+
example might be:
|
23
|
+
|
24
|
+
> Given an existing record with a value:
|
25
|
+
>
|
26
|
+
> * A new record with the same value should not be valid (failing the uniqueness
|
27
|
+
> validation)
|
28
|
+
> * A new record with the same value, but where the case is swapped (using
|
29
|
+
> String#swapcase), should be valid
|
30
|
+
|
31
|
+
Now, what happens if an existing record is there, but the value being used is
|
32
|
+
not one whose case can be swapped, such as `"123"` or `"{-#%}"`? Then the second
|
33
|
+
assertion cannot be made effectively.
|
34
|
+
|
35
|
+
So this is why you're getting this exception. What can you do about it? As the
|
36
|
+
error message explains, you have two options:
|
37
|
+
|
38
|
+
1. If you want the uniqueness validation in the model to operate
|
39
|
+
case-sensitively and you didn't mean to use a non-case-swappable value,
|
40
|
+
then you need to provide an existing record with a different value, one that
|
41
|
+
contains alpha characters. Here's an example:
|
42
|
+
|
43
|
+
# Model
|
44
|
+
class User < ActiveRecord::Base
|
45
|
+
validates_uniqueness_of :username
|
46
|
+
end
|
47
|
+
|
48
|
+
# RSpec
|
49
|
+
describe User do
|
50
|
+
context "validations" do
|
51
|
+
subject do
|
52
|
+
# Note that "123" == "123".swapcase. This is a problem!
|
53
|
+
User.new(username: "123")
|
54
|
+
end
|
55
|
+
|
56
|
+
it do
|
57
|
+
# So you can either override it like this, or just fix the subject.
|
58
|
+
user = User.create!(username: "john123")
|
59
|
+
expect(user).to validate_uniqueness_of(:username)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Minitest (Shoulda)
|
65
|
+
class UserTest < ActiveSupport::TestCase
|
66
|
+
context "validations" do
|
67
|
+
subject do
|
68
|
+
# Note that "123" == "123".swapcase. This is a problem!
|
69
|
+
User.new(username: "123")
|
70
|
+
end
|
71
|
+
|
72
|
+
should "validate uniqueness of :username" do
|
73
|
+
# So you can either override it like this, or just fix the subject.
|
74
|
+
user = User.create!(username: "john123")
|
75
|
+
assert_accepts validate_uniqueness_of(:username), record
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
2. If you don't want the uniqueness validation to operate case-sensitively,
|
81
|
+
then you need to add `case_sensitive: false` to the validation and add
|
82
|
+
`case_insensitive` to the matcher:
|
83
|
+
|
84
|
+
# Model
|
85
|
+
class User < ActiveRecord::Base
|
86
|
+
validates_uniqueness_of :username, case_sensitive: false
|
87
|
+
end
|
88
|
+
|
89
|
+
# RSpec
|
90
|
+
describe User do
|
91
|
+
context "validations" do
|
92
|
+
subject do
|
93
|
+
# Note that "123" == "123".swapcase, but it's okay
|
94
|
+
User.new(username: "123")
|
95
|
+
end
|
96
|
+
|
97
|
+
it { should validate_uniqueness_of(:username).case_insensitive }
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
# Minitest (Shoulda)
|
102
|
+
class UserTest < ActiveSupport::TestCase
|
103
|
+
context "validations" do
|
104
|
+
subject do
|
105
|
+
# Note that "123" == "123".swapcase, but it's okay
|
106
|
+
User.new(username: "123")
|
107
|
+
end
|
108
|
+
|
109
|
+
should validate_uniqueness_of(:username).case_insensitive
|
110
|
+
end
|
111
|
+
end
|
data/gemfiles/4.0.0.gemfile
CHANGED
@@ -7,8 +7,7 @@ gem "bundler", "~> 1.1"
|
|
7
7
|
gem "pry", :github => "pry/pry"
|
8
8
|
gem "pry-byebug"
|
9
9
|
gem "rake", "~> 10.0"
|
10
|
-
gem "rspec
|
11
|
-
gem "rspec-expectations", ">= 3.2.0", "< 4"
|
10
|
+
gem "rspec", "~> 3.2"
|
12
11
|
gem "yard"
|
13
12
|
gem "redcarpet"
|
14
13
|
gem "pygments.rb"
|
data/gemfiles/4.0.0.gemfile.lock
CHANGED
@@ -118,6 +118,10 @@ GEM
|
|
118
118
|
rake (10.4.2)
|
119
119
|
rdoc (4.2.0)
|
120
120
|
redcarpet (3.3.2)
|
121
|
+
rspec (3.3.0)
|
122
|
+
rspec-core (~> 3.3.0)
|
123
|
+
rspec-expectations (~> 3.3.0)
|
124
|
+
rspec-mocks (~> 3.3.0)
|
121
125
|
rspec-core (3.3.2)
|
122
126
|
rspec-support (~> 3.3.0)
|
123
127
|
rspec-expectations (3.3.1)
|
@@ -199,8 +203,7 @@ DEPENDENCIES
|
|
199
203
|
rails (= 4.0.0)
|
200
204
|
rake (~> 10.0)
|
201
205
|
redcarpet
|
202
|
-
rspec
|
203
|
-
rspec-expectations (>= 3.2.0, < 4)
|
206
|
+
rspec (~> 3.2)
|
204
207
|
rspec-rails (>= 3.2.0, < 4)
|
205
208
|
sass-rails (~> 4.0.0)
|
206
209
|
sdoc
|
data/gemfiles/4.0.1.gemfile
CHANGED
@@ -7,8 +7,7 @@ gem "bundler", "~> 1.1"
|
|
7
7
|
gem "pry", :github => "pry/pry"
|
8
8
|
gem "pry-byebug"
|
9
9
|
gem "rake", "~> 10.0"
|
10
|
-
gem "rspec
|
11
|
-
gem "rspec-expectations", ">= 3.2.0", "< 4"
|
10
|
+
gem "rspec", "~> 3.2"
|
12
11
|
gem "yard"
|
13
12
|
gem "redcarpet"
|
14
13
|
gem "pygments.rb"
|
data/gemfiles/4.0.1.gemfile.lock
CHANGED
@@ -120,6 +120,10 @@ GEM
|
|
120
120
|
rake (10.4.2)
|
121
121
|
rdoc (4.2.0)
|
122
122
|
redcarpet (3.3.2)
|
123
|
+
rspec (3.3.0)
|
124
|
+
rspec-core (~> 3.3.0)
|
125
|
+
rspec-expectations (~> 3.3.0)
|
126
|
+
rspec-mocks (~> 3.3.0)
|
123
127
|
rspec-core (3.3.2)
|
124
128
|
rspec-support (~> 3.3.0)
|
125
129
|
rspec-expectations (3.3.1)
|
@@ -201,8 +205,7 @@ DEPENDENCIES
|
|
201
205
|
rails (= 4.0.1)
|
202
206
|
rake (~> 10.0)
|
203
207
|
redcarpet
|
204
|
-
rspec
|
205
|
-
rspec-expectations (>= 3.2.0, < 4)
|
208
|
+
rspec (~> 3.2)
|
206
209
|
rspec-rails (>= 3.2.0, < 4)
|
207
210
|
sass-rails (~> 4.0.0)
|
208
211
|
sdoc
|
data/gemfiles/4.1.gemfile
CHANGED
@@ -7,8 +7,7 @@ gem "bundler", "~> 1.1"
|
|
7
7
|
gem "pry", :github => "pry/pry"
|
8
8
|
gem "pry-byebug"
|
9
9
|
gem "rake", "~> 10.0"
|
10
|
-
gem "rspec
|
11
|
-
gem "rspec-expectations", ">= 3.2.0", "< 4"
|
10
|
+
gem "rspec", "~> 3.2"
|
12
11
|
gem "yard"
|
13
12
|
gem "redcarpet"
|
14
13
|
gem "pygments.rb"
|
data/gemfiles/4.1.gemfile.lock
CHANGED
@@ -116,6 +116,10 @@ GEM
|
|
116
116
|
rake (10.4.2)
|
117
117
|
rdoc (4.2.0)
|
118
118
|
redcarpet (3.3.2)
|
119
|
+
rspec (3.3.0)
|
120
|
+
rspec-core (~> 3.3.0)
|
121
|
+
rspec-expectations (~> 3.3.0)
|
122
|
+
rspec-mocks (~> 3.3.0)
|
119
123
|
rspec-core (3.3.2)
|
120
124
|
rspec-support (~> 3.3.0)
|
121
125
|
rspec-expectations (3.3.1)
|
@@ -196,8 +200,7 @@ DEPENDENCIES
|
|
196
200
|
rails (~> 4.1.0)
|
197
201
|
rake (~> 10.0)
|
198
202
|
redcarpet
|
199
|
-
rspec
|
200
|
-
rspec-expectations (>= 3.2.0, < 4)
|
203
|
+
rspec (~> 3.2)
|
201
204
|
rspec-rails (>= 3.2.0, < 4)
|
202
205
|
sass-rails (~> 4.0.3)
|
203
206
|
sdoc (~> 0.4.0)
|