active_mocker 2.6.1.beta2 → 2.6.2
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 +5 -5
- data/CHANGELOG.md +9 -3
- data/README.md +25 -28
- data/lib/active_mocker.rb +1 -0
- data/lib/active_mocker/late_inclusion.rb +37 -0
- data/lib/active_mocker/loaded_mocks.rb +2 -0
- data/lib/active_mocker/mock/base.rb +5 -0
- data/lib/active_mocker/mock/compatibility/base/ar51.rb +0 -1
- data/lib/active_mocker/mock/compatibility/queries/ar52.rb +15 -0
- data/lib/active_mocker/mock/queries.rb +2 -0
- data/lib/active_mocker/mock_creator/attributes.rb +1 -1
- data/lib/active_mocker/mock_creator/modules_constants.rb +10 -13
- data/lib/active_mocker/mock_creator/scopes.rb +1 -1
- data/lib/active_mocker/mock_template/_modules_constants.erb +2 -5
- data/lib/active_mocker/version.rb +1 -1
- metadata +22 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a128fbb6ea0d9e4ed9755109736a1d03f9d689576e9c1207ebe9fffdda1de082
|
4
|
+
data.tar.gz: 3ea03e73c5187e86c30c78537a5033fc7f7c7c4bd5f7b289d62b9dd9564eaaa3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b62c4e6d9e3c0e504ccdfb8d5be12bcd350d49b24c860821342564b420a382f6cf4d519ad9c17496f4d0373b11c91d8bc22d06b020096c77622616b5f5ee8ee0
|
7
|
+
data.tar.gz: 2be8c7a163260adb490656dfdb138db6c8127d3f4d5661677f4ea5debfae3e30dbc86c41f097a2bb768c61c6518c5f6401787bba70b768db27ea2fd6708fc716
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
-
##
|
5
|
-
###
|
6
|
-
|
4
|
+
## 2.6.1 - 2018-10-30
|
5
|
+
### Feature
|
6
|
+
* Actively support Rails 5.2
|
7
|
+
* Add tested support for Ruby 2.4 and 2.5
|
8
|
+
* When using Rails 5.2 now supports `ActiveMocker::Mock.limit(10).delete_all` while previous version raised an error, in accordance with it's Rails version.
|
9
|
+
|
10
|
+
### Removed
|
11
|
+
* Remove tested support for Rails 5.0 (Currently supported 4.2, 5.1, 5.2)
|
12
|
+
* Remove support for Ruby 2.1 and 2.2
|
7
13
|
|
8
14
|
## 2.6.0 - 2017-12-01
|
9
15
|
### Feature
|
data/README.md
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
# ActiveMocker
|
2
2
|
[](http://badge.fury.io/rb/active_mocker)
|
3
|
-
[](https://gitter.im/zeisler/active_mocker)
|
6
|
-
[](https://www.gittip.com/zeisler/)
|
3
|
+
[](https://travis-ci.org/zeisler/active_mocker)
|
4
|
+
[](https://gitter.im/zeisler/active_mocker)
|
7
5
|
|
8
6
|
## Description
|
9
7
|
Creates stub classes from any ActiveRecord model.
|
@@ -14,17 +12,17 @@ ActiveMocker analyzes the methods and database columns to generate a Ruby class
|
|
14
12
|
|
15
13
|
The stub file can be run standalone and comes included with many useful parts of ActiveRecord.
|
16
14
|
|
17
|
-
Stubbed out methods contain their original argument signatures or ActiveMocker friendly code can be brought over in its entirety.
|
15
|
+
Stubbed out methods contain their original argument signatures or ActiveMocker's friendly code can be brought over in its entirety.
|
18
16
|
|
19
17
|
Mocks are regenerated when the schema is modified so your mocks won't go stale, preventing the case where your unit tests pass but production code fails.
|
20
18
|
|
21
|
-
*Examples from a real
|
19
|
+
*Examples from a real app*
|
22
20
|
|
23
21
|
Finished in 1 seconds
|
24
22
|
374 examples, 0 failures
|
25
23
|
|
26
24
|
## Around the web
|
27
|
-
["Mocking ActiveRecord with ActiveMocker" by Envy](http://madewithenvy.com/ecosystem/articles/2015/mocking-activerecord-with-activemocker/)
|
25
|
+
["Mocking ActiveRecord with ActiveMocker" by Envy](https://web.archive.org/web/20150511052653/http://madewithenvy.com/ecosystem/articles/2015/mocking-activerecord-with-activemocker/)
|
28
26
|
|
29
27
|
------------------------------------------
|
30
28
|
|
@@ -67,8 +65,8 @@ group :development, :test do
|
|
67
65
|
gem 'active_mocker'
|
68
66
|
end
|
69
67
|
```
|
70
|
-
It needs to be in development as well as test
|
71
|
-
|
68
|
+
It needs to be in development as well as test groups, as the development environment is where mocks will be generated.
|
69
|
+
Then execute:
|
72
70
|
|
73
71
|
$ bundle
|
74
72
|
|
@@ -77,9 +75,8 @@ Or install it yourself as:
|
|
77
75
|
$ gem install active_mocker
|
78
76
|
|
79
77
|
## Dependencies
|
80
|
-
* Tested with Rails 4.
|
81
|
-
* Requires Ruby MRI >= 2.
|
82
|
-
|
78
|
+
* Tested with Rails 4.x, 5.x, 6.x
|
79
|
+
* Requires Ruby MRI >= 2.4.x
|
83
80
|
|
84
81
|
## Setup
|
85
82
|
|
@@ -89,7 +86,7 @@ Or install it yourself as:
|
|
89
86
|
|
90
87
|
### Generate Mocks
|
91
88
|
|
92
|
-
Running this rake task builds/rebuilds the mocks. It will be ran automatically after every schema modification. If the model changes this rake task needs to be called manually. You could add a file watcher for when your models change and have it run the rake task.
|
89
|
+
Running this rake task builds/rebuilds the mocks. It will be ran automatically after every schema modification. If the model changes, this rake task needs to be called manually. You could add a file watcher for when your models change and have it run the rake task.
|
93
90
|
|
94
91
|
rake active_mocker:build
|
95
92
|
|
@@ -144,7 +141,7 @@ end
|
|
144
141
|
|
145
142
|
* Assigning the tag `active_mocker:true` will stub any ActiveRecord model Constants for Mock classes in an `it` or a `before/after(:each)`. This removes any need for dependency injection. Write tests and code like you would normally.
|
146
143
|
* To stub any Constants in `before(:all)`, `after(:all)` use `active_mocker.find('ClassName')`.
|
147
|
-
* Mock state will be cleaned up for you in an `after(:all)`. To clean state
|
144
|
+
* Mock state will be cleaned up for you in an `after(:all)`. To clean state by yourself, use `active_mocker.delete_all`.
|
148
145
|
|
149
146
|
---------
|
150
147
|
|
@@ -188,15 +185,15 @@ Person.new(first_name: "Dustin", last_name: "Zeisler")
|
|
188
185
|
|
189
186
|
### Creating Custom collections
|
190
187
|
|
191
|
-
If you want to create custom set of
|
188
|
+
If you want to create a custom set of records that is not part of the global collection for model. (ie. for stubbing in a test)
|
192
189
|
|
193
190
|
```ruby
|
194
191
|
User::ScopeRelation.new([User.new, User.new])
|
195
192
|
```
|
196
193
|
|
197
|
-
This
|
194
|
+
This gives the full query API (ie. `find_by`, `where`, etc).
|
198
195
|
|
199
|
-
This is not feature available in ActiveRecord
|
196
|
+
This is not a feature available in ActiveRecord, so do not include this where you intend to swap for ActiveRecord.
|
200
197
|
|
201
198
|
|
202
199
|
## Optional Features
|
@@ -211,15 +208,15 @@ ActiveMocker::LoadedMocks.features.enable(:stub_active_record_exceptions)
|
|
211
208
|
|
212
209
|
### timestamps
|
213
210
|
|
214
|
-
Enables created_at and updated_at to be
|
211
|
+
Enables `created_at` and `updated_at` to be updated on save and create
|
215
212
|
|
216
213
|
### delete_all_before_example
|
217
214
|
|
218
|
-
When using "active_mocker/rspec_helper" it
|
215
|
+
When using "active_mocker/rspec_helper", it deletes all records from all mocks before each example.
|
219
216
|
|
220
217
|
### stub_active_record_exceptions
|
221
218
|
|
222
|
-
When requiring "active_mocker/rspec_helper", and adding `active_mocker: true` to the describe metadata, these errors will be auto stubbed:
|
219
|
+
When requiring "active_mocker/rspec_helper", and adding `active_mocker: true` to the `describe` metadata, these errors will be auto stubbed:
|
223
220
|
|
224
221
|
* ActiveRecord::RecordNotFound
|
225
222
|
* ActiveRecord::RecordNotUnique
|
@@ -228,7 +225,7 @@ ActiveMocker::LoadedMocks.features.enable(:stub_active_record_exceptions)
|
|
228
225
|
### Copy over Mock safe methods into the generated mock
|
229
226
|
|
230
227
|
Adding the comment `ActiveMocker.safe_methods` at the top of a class marks it as safe to copy to the mock.
|
231
|
-
Be careful
|
228
|
+
Be careful. It should not contain anything that ActiveMocker cannot run.
|
232
229
|
|
233
230
|
```ruby
|
234
231
|
# ActiveMocker.safe_methods(scopes: [], instance_methods: [:full_name], class_methods: [])
|
@@ -242,8 +239,8 @@ ActiveMocker::LoadedMocks.features.enable(:stub_active_record_exceptions)
|
|
242
239
|
## Mocking Methods
|
243
240
|
|
244
241
|
#### Rspec 3 Mocks - verify double
|
245
|
-
Verifying doubles
|
246
|
-
what is being verified. When using verifying doubles, RSpec will check
|
242
|
+
Verifying doubles is a stricter alternative to normal doubles that provides guarantees about
|
243
|
+
what is being verified. When using verifying doubles, RSpec will check if the methods
|
247
244
|
being stubbed are actually present on the underlying object if it is available.
|
248
245
|
[rspec-mocks/docs/verifying-doubles](https://relishapp.com/rspec/rspec-mocks/docs/verifying-doubles)
|
249
246
|
```ruby
|
@@ -326,7 +323,7 @@ PersonMock::CONSTANT_VALUE
|
|
326
323
|
```
|
327
324
|
|
328
325
|
### Scoped Methods
|
329
|
-
* Any chained scoped methods will be available when the mock file that defines it is required. When called it raises a `NotImplementedError
|
326
|
+
* Any chained scoped methods will be available when the mock file that defines it is required. When called, it raises a `NotImplementedError`. Stub the method with a value to continue.
|
330
327
|
|
331
328
|
### Managing Mocks
|
332
329
|
|
@@ -420,7 +417,7 @@ See [Documentation](http://rdoc.info/github/zeisler/active_mocker/master/ActiveM
|
|
420
417
|
|
421
418
|
### Schema/Migration Option Support
|
422
419
|
* A db/schema.rb is not required.
|
423
|
-
* All schema types are supported and coerced by [Virtus](https://github.com/solnic/virtus). If coercion fails the passed value will be retained.
|
420
|
+
* All schema types are supported and coerced by [Virtus](https://github.com/solnic/virtus). If coercion fails, the passed value will be retained.
|
424
421
|
* Default value is supported.
|
425
422
|
* Scale and Precision are not supported.
|
426
423
|
|
@@ -429,15 +426,15 @@ See [Documentation](http://rdoc.info/github/zeisler/active_mocker/master/ActiveM
|
|
429
426
|
* When an association is set in one object it may not always be reflective in other objects, especially when it is a non standard/custom association. See [test_rails_4_app/spec/active_record_compatible_api.rb](https://github.com/zeisler/active_mocker/blob/master/test_rails_4_app/spec/active_record_compatible_api.rb) for a complete list of supported associations.
|
430
427
|
* Validation/Callbacks are not supported.
|
431
428
|
* Sql queries, joins, etc will never be supported.
|
432
|
-
* A record that has been created and then is modified will persist changes without calling `#save
|
429
|
+
* A record that has been created and then is modified will persist changes without calling `#save`. Beware of this difference.
|
433
430
|
* This is not a full replacement for ActiveRecord.
|
434
|
-
* Primary key will always default to `id`. If this is
|
431
|
+
* Primary key will always default to `id`. If this is causing a problem, feel free to open an issue (or even better, a PR =)).
|
435
432
|
|
436
433
|
## Inspiration
|
437
434
|
Thanks to Jeff Olfert for being my original inspiration for this project.
|
438
435
|
|
439
436
|
## Contributing
|
440
|
-
Your
|
437
|
+
Your contributions are welcome!
|
441
438
|
|
442
439
|
1. Fork it ( http://github.com/zeisler/active_mocker/fork )
|
443
440
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
data/lib/active_mocker.rb
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ActiveMocker
|
4
|
+
module LateInclusion
|
5
|
+
module Extension
|
6
|
+
def prepended(const)
|
7
|
+
if const.respond_to?(:__extended_onto__)
|
8
|
+
const.__extended_onto__.each do |ex|
|
9
|
+
ex.extend self
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
if const.respond_to?(:__included_onto__)
|
14
|
+
const.__included_onto__.each do |ex|
|
15
|
+
ex.prepend self
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def extended(const)
|
22
|
+
__extended_onto__ << const
|
23
|
+
end
|
24
|
+
|
25
|
+
def __extended_onto__
|
26
|
+
@__extended_onto__ ||= []
|
27
|
+
end
|
28
|
+
|
29
|
+
def included(const)
|
30
|
+
__included_onto__ << const
|
31
|
+
end
|
32
|
+
|
33
|
+
def __included_onto__
|
34
|
+
@__included_onto__ ||= []
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -155,6 +155,11 @@ module ActiveMocker
|
|
155
155
|
require "active_mocker/mock/compatibility/base/ar51"
|
156
156
|
extend AR51
|
157
157
|
end
|
158
|
+
|
159
|
+
if __active_record_build_version__ >= Gem::Version.create("5.2")
|
160
|
+
require "active_mocker/mock/compatibility/queries/ar52"
|
161
|
+
Queries.prepend(Queries::AR52)
|
162
|
+
end
|
158
163
|
raise UpdateMocksError.new(name, version, ActiveMocker::Mock::VERSION) if version != ActiveMocker::Mock::VERSION
|
159
164
|
end
|
160
165
|
end
|
@@ -20,19 +20,16 @@ module ActiveMocker
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def constants
|
23
|
-
class_introspector.get_class.constants.
|
23
|
+
class_introspector.get_class.constants.map do |v|
|
24
24
|
c = class_introspector.get_class.const_get(v)
|
25
25
|
next if [Module, Class].include?(c.class)
|
26
|
-
const
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
def defined_nested_modules
|
35
|
-
class_introspector.parsed_source.defined_nested_modules.map(&:source)
|
26
|
+
const = if /\A#</ =~ c.inspect
|
27
|
+
Inspectable.new("ActiveMocker::UNREPRESENTABLE_CONST_VALUE")
|
28
|
+
else
|
29
|
+
c
|
30
|
+
end
|
31
|
+
[v, const]
|
32
|
+
end.compact.sort
|
36
33
|
end
|
37
34
|
|
38
35
|
private
|
@@ -51,7 +48,7 @@ module ActiveMocker
|
|
51
48
|
end
|
52
49
|
|
53
50
|
def get_module_by_reference(type)
|
54
|
-
isolated_module_names = class_introspector.public_send(type).map(&:referenced_name)
|
51
|
+
isolated_module_names = reject_local_const(class_introspector.public_send(type)).map(&:referenced_name)
|
55
52
|
real_module_names = get_real_module(type).map(&:name).compact
|
56
53
|
isolated_module_names.map do |isolated_name|
|
57
54
|
real_name = real_module_names.detect do |rmn|
|
@@ -60,7 +57,7 @@ module ActiveMocker
|
|
60
57
|
[
|
61
58
|
real_parts.include?(active_record_model.name),
|
62
59
|
real_parts.include?(isolated_name),
|
63
|
-
(total_parts_count == real_parts.count)
|
60
|
+
(total_parts_count == real_parts.count)
|
64
61
|
].all?
|
65
62
|
end
|
66
63
|
real_name ? real_name : isolated_name
|
@@ -1,9 +1,6 @@
|
|
1
1
|
# _modules_constants.erb
|
2
|
-
<% constants.each do |constant| -%>
|
3
|
-
<%= constant
|
4
|
-
<% end -%>
|
5
|
-
<% defined_nested_modules.each do |m| -%>
|
6
|
-
<%= m %>
|
2
|
+
<% constants.each do |constant, value| -%>
|
3
|
+
<%= constant %> = <%= value.inspect %>
|
7
4
|
<% end -%>
|
8
5
|
<% modules[:included].each do |constant| -%>
|
9
6
|
prepend <%= constant %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_mocker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dustin Zeisler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '4.
|
19
|
+
version: '4.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '4.
|
26
|
+
version: '4.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: virtus
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,20 +56,20 @@ dependencies:
|
|
56
56
|
name: colorize
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.7'
|
62
|
-
- - "
|
62
|
+
- - "~>"
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: '0.7'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- - "
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: '0.7'
|
72
|
-
- - "
|
72
|
+
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0.7'
|
75
75
|
- !ruby/object:Gem::Dependency
|
@@ -112,40 +112,34 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: '0.
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 0.6.0
|
115
|
+
version: '0.8'
|
119
116
|
type: :runtime
|
120
117
|
prerelease: false
|
121
118
|
version_requirements: !ruby/object:Gem::Requirement
|
122
119
|
requirements:
|
123
120
|
- - "~>"
|
124
121
|
- !ruby/object:Gem::Version
|
125
|
-
version: '0.
|
126
|
-
- - ">="
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 0.6.0
|
122
|
+
version: '0.8'
|
129
123
|
- !ruby/object:Gem::Dependency
|
130
124
|
name: dissociated_introspection
|
131
125
|
requirement: !ruby/object:Gem::Requirement
|
132
126
|
requirements:
|
133
127
|
- - "~>"
|
134
128
|
- !ruby/object:Gem::Version
|
135
|
-
version: '0.
|
129
|
+
version: '0.8'
|
136
130
|
- - ">="
|
137
131
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
132
|
+
version: 0.8.4
|
139
133
|
type: :runtime
|
140
134
|
prerelease: false
|
141
135
|
version_requirements: !ruby/object:Gem::Requirement
|
142
136
|
requirements:
|
143
137
|
- - "~>"
|
144
138
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0.
|
139
|
+
version: '0.8'
|
146
140
|
- - ">="
|
147
141
|
- !ruby/object:Gem::Version
|
148
|
-
version: 0.
|
142
|
+
version: 0.8.4
|
149
143
|
- !ruby/object:Gem::Dependency
|
150
144
|
name: bundler
|
151
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,14 +160,14 @@ dependencies:
|
|
166
160
|
requirements:
|
167
161
|
- - "~>"
|
168
162
|
- !ruby/object:Gem::Version
|
169
|
-
version: 0.
|
163
|
+
version: 0.49.0
|
170
164
|
type: :development
|
171
165
|
prerelease: false
|
172
166
|
version_requirements: !ruby/object:Gem::Requirement
|
173
167
|
requirements:
|
174
168
|
- - "~>"
|
175
169
|
- !ruby/object:Gem::Version
|
176
|
-
version: 0.
|
170
|
+
version: 0.49.0
|
177
171
|
- !ruby/object:Gem::Dependency
|
178
172
|
name: rspec
|
179
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -224,6 +218,7 @@ files:
|
|
224
218
|
- lib/active_mocker/inspectable/pathname.rb
|
225
219
|
- lib/active_mocker/inspectable/struct.rb
|
226
220
|
- lib/active_mocker/inspectable/time.rb
|
221
|
+
- lib/active_mocker/late_inclusion.rb
|
227
222
|
- lib/active_mocker/loaded_mocks.rb
|
228
223
|
- lib/active_mocker/loaded_mocks/features.rb
|
229
224
|
- lib/active_mocker/mock.rb
|
@@ -233,6 +228,7 @@ files:
|
|
233
228
|
- lib/active_mocker/mock/belongs_to.rb
|
234
229
|
- lib/active_mocker/mock/collection.rb
|
235
230
|
- lib/active_mocker/mock/compatibility/base/ar51.rb
|
231
|
+
- lib/active_mocker/mock/compatibility/queries/ar52.rb
|
236
232
|
- lib/active_mocker/mock/do_nothing_active_record_methods.rb
|
237
233
|
- lib/active_mocker/mock/exceptions.rb
|
238
234
|
- lib/active_mocker/mock/has_and_belongs_to_many.rb
|
@@ -289,15 +285,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
289
285
|
requirements:
|
290
286
|
- - ">="
|
291
287
|
- !ruby/object:Gem::Version
|
292
|
-
version: '2.
|
288
|
+
version: '2.3'
|
293
289
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
294
290
|
requirements:
|
295
|
-
- - "
|
291
|
+
- - ">="
|
296
292
|
- !ruby/object:Gem::Version
|
297
|
-
version:
|
293
|
+
version: '0'
|
298
294
|
requirements: []
|
299
|
-
|
300
|
-
rubygems_version: 2.5.1
|
295
|
+
rubygems_version: 3.0.3
|
301
296
|
signing_key:
|
302
297
|
specification_version: 4
|
303
298
|
summary: Creates stub classes from any ActiveRecord model
|