with_model 2.1.4 → 2.1.5
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/.jrubyrc +1 -0
- data/.rubocop.yml +18 -5
- data/.rubocop_todo.yml +93 -0
- data/.travis.yml +13 -7
- data/CHANGELOG.md +4 -0
- data/Gemfile +3 -13
- data/README.md +9 -9
- data/lib/with_model/model.rb +1 -0
- data/lib/with_model/model/dsl.rb +1 -1
- data/lib/with_model/version.rb +1 -1
- data/spec/.rubocop.yml +5 -0
- data/spec/readme_spec.rb +3 -4
- data/spec/spec_helper.rb +1 -3
- data/spec/with_model_spec.rb +24 -12
- data/with_model.gemspec +5 -2
- metadata +52 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a685dd2fcd809ce446e7dfde25b4fea90014e6bf5456d99e939f79b2ff3b18af
|
4
|
+
data.tar.gz: 3966fbcbeae1bd24fbeacf1f4c53b67abd78b771e03de3f6263a989ad8e180ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 659fff704f44481540e91d6ebe00322dd07fec0beda3142bc2581ed02bc962b7384dacf871a43c5231cc93757a428ef857f2ea093e8b82fb0ee0b9603932793f
|
7
|
+
data.tar.gz: 588cb797971b7dc861aa207a09cbddebf69c356878993d0edf98458afb83affb0cc2d5d26856a079e8bef4ae5d420698e9f65abcb636ee8990ab6178479467d2
|
data/.jrubyrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
debug.fullTrace=true
|
data/.rubocop.yml
CHANGED
@@ -1,9 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
require:
|
4
|
+
- rubocop-rake
|
5
|
+
- rubocop-rspec
|
4
6
|
|
5
7
|
AllCops:
|
6
|
-
|
8
|
+
NewCops: enable
|
9
|
+
|
10
|
+
Metrics/BlockLength:
|
11
|
+
Exclude:
|
12
|
+
- 'spec/**/*'
|
13
|
+
- 'with_model.gemspec'
|
14
|
+
|
15
|
+
Bundler/OrderedGems:
|
16
|
+
Enabled: false
|
17
|
+
|
18
|
+
Bundler/DuplicatedGem:
|
19
|
+
Enabled: false
|
7
20
|
|
8
|
-
|
21
|
+
Style/Documentation:
|
9
22
|
Enabled: false
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2020-11-22 01:30:26 UTC using RuboCop version 1.3.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 4
|
10
|
+
RSpec/Be:
|
11
|
+
Exclude:
|
12
|
+
- 'spec/readme_spec.rb'
|
13
|
+
- 'spec/with_model_spec.rb'
|
14
|
+
|
15
|
+
# Offense count: 3
|
16
|
+
RSpec/BeforeAfterAll:
|
17
|
+
Exclude:
|
18
|
+
- 'spec/spec_helper.rb'
|
19
|
+
- 'spec/rails_helper.rb'
|
20
|
+
- 'spec/support/**/*.rb'
|
21
|
+
- 'spec/readme_spec.rb'
|
22
|
+
- 'spec/with_model_spec.rb'
|
23
|
+
|
24
|
+
# Offense count: 6
|
25
|
+
# Configuration parameters: Prefixes.
|
26
|
+
# Prefixes: when, with, without
|
27
|
+
RSpec/ContextWording:
|
28
|
+
Exclude:
|
29
|
+
- 'spec/active_record_behaviors_spec.rb'
|
30
|
+
- 'spec/with_model_spec.rb'
|
31
|
+
|
32
|
+
# Offense count: 6
|
33
|
+
# Configuration parameters: IgnoredMetadata.
|
34
|
+
RSpec/DescribeClass:
|
35
|
+
Exclude:
|
36
|
+
- 'spec/active_record_behaviors_spec.rb'
|
37
|
+
- 'spec/readme_spec.rb'
|
38
|
+
- 'spec/with_model_spec.rb'
|
39
|
+
|
40
|
+
# Offense count: 5
|
41
|
+
# Configuration parameters: Max.
|
42
|
+
RSpec/ExampleLength:
|
43
|
+
Exclude:
|
44
|
+
- 'spec/active_record_behaviors_spec.rb'
|
45
|
+
- 'spec/readme_spec.rb'
|
46
|
+
- 'spec/with_model_spec.rb'
|
47
|
+
|
48
|
+
# Offense count: 7
|
49
|
+
# Configuration parameters: AssignmentOnly.
|
50
|
+
RSpec/InstanceVariable:
|
51
|
+
Exclude:
|
52
|
+
- 'spec/active_record_behaviors_spec.rb'
|
53
|
+
|
54
|
+
# Offense count: 2
|
55
|
+
RSpec/LeakyConstantDeclaration:
|
56
|
+
Exclude:
|
57
|
+
- 'spec/readme_spec.rb'
|
58
|
+
- 'spec/with_model_spec.rb'
|
59
|
+
|
60
|
+
# Offense count: 2
|
61
|
+
# Configuration parameters: .
|
62
|
+
# SupportedStyles: have_received, receive
|
63
|
+
RSpec/MessageSpies:
|
64
|
+
EnforcedStyle: receive
|
65
|
+
|
66
|
+
# Offense count: 1
|
67
|
+
RSpec/MultipleDescribes:
|
68
|
+
Exclude:
|
69
|
+
- 'spec/readme_spec.rb'
|
70
|
+
|
71
|
+
# Offense count: 13
|
72
|
+
RSpec/MultipleExpectations:
|
73
|
+
Max: 5
|
74
|
+
|
75
|
+
# Offense count: 4
|
76
|
+
# Configuration parameters: IgnoreSharedExamples.
|
77
|
+
RSpec/NamedSubject:
|
78
|
+
Exclude:
|
79
|
+
- 'spec/with_model_spec.rb'
|
80
|
+
|
81
|
+
# Offense count: 2
|
82
|
+
RSpec/NestedGroups:
|
83
|
+
Max: 4
|
84
|
+
|
85
|
+
# Offense count: 4
|
86
|
+
RSpec/RepeatedExample:
|
87
|
+
Exclude:
|
88
|
+
- 'spec/with_model_spec.rb'
|
89
|
+
|
90
|
+
# Offense count: 2
|
91
|
+
RSpec/SubjectStub:
|
92
|
+
Exclude:
|
93
|
+
- 'spec/with_model_spec.rb'
|
data/.travis.yml
CHANGED
@@ -2,17 +2,18 @@ language: ruby
|
|
2
2
|
cache: bundler
|
3
3
|
|
4
4
|
rvm:
|
5
|
-
- 2.7.
|
6
|
-
- 2.6.
|
7
|
-
- 2.5.
|
8
|
-
- 2.4.
|
9
|
-
- jruby-9.2.
|
5
|
+
- 2.7.1
|
6
|
+
- 2.6.6
|
7
|
+
- 2.5.8
|
8
|
+
- 2.4.10
|
9
|
+
- jruby-9.2.13.0
|
10
10
|
|
11
11
|
env:
|
12
12
|
global:
|
13
13
|
- CC_TEST_REPORTER_ID=fe5c8a8b1b951a54707c08b6fb2a9a5edf9e0522d28bccc648454f774c9ccab1
|
14
14
|
matrix:
|
15
15
|
- ACTIVE_RECORD_BRANCH="master"
|
16
|
+
- ACTIVE_RECORD_VERSION="~> 6.1.0.rc1"
|
16
17
|
- ACTIVE_RECORD_VERSION="~> 6.0.0"
|
17
18
|
- ACTIVE_RECORD_VERSION="~> 5.2.0"
|
18
19
|
|
@@ -20,10 +21,15 @@ matrix:
|
|
20
21
|
fast_finish: true
|
21
22
|
allow_failures:
|
22
23
|
- env: ACTIVE_RECORD_BRANCH="master"
|
24
|
+
- env: ACTIVE_RECORD_VERSION="~> 6.1.0.rc1"
|
23
25
|
exclude:
|
24
|
-
- rvm: 2.4.
|
26
|
+
- rvm: 2.4.10
|
25
27
|
env: ACTIVE_RECORD_BRANCH="master"
|
26
|
-
- rvm: 2.4.
|
28
|
+
- rvm: 2.4.10
|
29
|
+
env: ACTIVE_RECORD_VERSION="~> 6.0.0"
|
30
|
+
- rvm: 2.4.10
|
31
|
+
env: ACTIVE_RECORD_VERSION="~> 6.1.0.rc1"
|
32
|
+
- rvm: jruby-9.2.13.0
|
27
33
|
env: ACTIVE_RECORD_VERSION="~> 6.0.0"
|
28
34
|
|
29
35
|
before_install:
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable Bundler/DuplicatedGem, Bundler/OrderedGems
|
4
|
-
|
5
3
|
source 'https://rubygems.org'
|
6
4
|
|
7
5
|
gemspec
|
8
6
|
|
9
|
-
gem 'lint-config-ruby', git: 'https://github.com/Casecommons/lint-config-ruby.git', tag: 'v1.0.0'
|
10
|
-
|
11
7
|
ar_branch = ENV['ACTIVE_RECORD_BRANCH']
|
12
8
|
ar_version = ENV['ACTIVE_RECORD_VERSION']
|
13
9
|
is_jruby = RUBY_PLATFORM == 'java'
|
@@ -19,16 +15,10 @@ if ar_branch
|
|
19
15
|
gem 'activerecord-jdbcsqlite3-adapter', git: 'https://github.com/jruby/activerecord-jdbc-adapter.git' if is_jruby
|
20
16
|
end
|
21
17
|
elsif ar_version
|
22
|
-
gem 'activerecord', ar_version
|
23
|
-
if is_jruby && Gem::Requirement.new(ar_version).satisfied_by?(Gem::Version.new('
|
18
|
+
gem 'activerecord', ar_version
|
19
|
+
if is_jruby && !Gem::Requirement.new(ar_version).satisfied_by?(Gem::Version.new('5.2.0'))
|
24
20
|
gem 'activerecord-jdbcsqlite3-adapter', git: 'https://github.com/jruby/activerecord-jdbc-adapter.git'
|
25
21
|
end
|
26
22
|
end
|
27
23
|
|
28
|
-
unless is_jruby
|
29
|
-
if ar_branch == 'master' || Gem::Requirement.new(ar_version).satisfied_by?(Gem::Version.new('6.0.0'))
|
30
|
-
gem 'sqlite3', '~> 1.4.1'
|
31
|
-
else
|
32
|
-
gem 'sqlite3', '~> 1.3.11'
|
33
|
-
end
|
34
|
-
end
|
24
|
+
gem 'sqlite3', '~> 1.4.1' unless is_jruby
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
[](https://travis-ci.org/Casecommons/with_model)
|
5
5
|
[](https://www.rubydoc.info/gems/with_model)
|
6
6
|
|
7
|
-
`with_model` dynamically builds an
|
7
|
+
`with_model` dynamically builds an Active Record model (with table) before each test in a group and destroys it afterwards.
|
8
8
|
|
9
9
|
## Development status
|
10
10
|
|
@@ -49,13 +49,13 @@ describe "A blog post" do
|
|
49
49
|
module MyModule; end
|
50
50
|
|
51
51
|
with_model :BlogPost do
|
52
|
-
# The table block (and an options hash) is passed to
|
52
|
+
# The table block (and an options hash) is passed to Active Record migration’s `create_table`.
|
53
53
|
table do |t|
|
54
54
|
t.string :title
|
55
55
|
t.timestamps null: false
|
56
56
|
end
|
57
57
|
|
58
|
-
# The model block is the
|
58
|
+
# The model block is the Active Record model’s class body.
|
59
59
|
model do
|
60
60
|
include MyModule
|
61
61
|
has_many :comments
|
@@ -102,7 +102,7 @@ describe "A blog post" do
|
|
102
102
|
|
103
103
|
it "can do all the things a regular model can" do
|
104
104
|
record = BlogPost.new
|
105
|
-
expect(record).
|
105
|
+
expect(record).not_to be_valid
|
106
106
|
record.title = "foo"
|
107
107
|
expect(record).to be_valid
|
108
108
|
expect(record.save).to eq true
|
@@ -155,7 +155,7 @@ describe "with table options" do
|
|
155
155
|
end
|
156
156
|
|
157
157
|
it "respects the additional options" do
|
158
|
-
expect(WithOptions.columns.map(&:name)).
|
158
|
+
expect(WithOptions.columns.map(&:name)).not_to include("id")
|
159
159
|
end
|
160
160
|
end
|
161
161
|
```
|
@@ -169,9 +169,9 @@ See the [gemspec metadata](https://rubygems.org/gems/with_model) for dependency
|
|
169
169
|
- A unique table name is used for tables generated via `with_model`/`WithModel::Model.new`. This allows `with_model` (when limited to this API) to run concurrently (in processes or threads) with a single database schema. While there is a possibility of collision, it is very small.
|
170
170
|
- A user-supplied table name is used for tables generated via `with_table`/`WithModel::Table.new`. This may cause collisions at runtime if tests are run concurrently against a single database schema, unless the caller takes care to ensure the table names passed as arguments are unique across threads/processes.
|
171
171
|
- Generated models are created in stubbed constants, which are global; no guarantee is made to the uniqueness of a constant, and this may be unsafe.
|
172
|
-
- Generated classes are
|
173
|
-
- This library makes no guarantee as to the thread-safety of creating
|
174
|
-
- This library makes no guarantee as to the thread-safety of cleaning up
|
172
|
+
- Generated classes are Active Record subclasses:
|
173
|
+
- This library makes no guarantee as to the thread-safety of creating Active Record subclasses concurrently.
|
174
|
+
- This library makes no guarantee as to the thread-safety of cleaning up Active Record/Active Support’s internals which are polluted upon class creation.
|
175
175
|
|
176
176
|
In general, `with_model` is not guaranteed to be thread-safe, but is, in certain usages, safe to use concurrently across multiple processes with a single database schema.
|
177
177
|
|
@@ -181,5 +181,5 @@ In general, `with_model` is not guaranteed to be thread-safe, but is, in certain
|
|
181
181
|
|
182
182
|
## License
|
183
183
|
|
184
|
-
Copyright © 2010–
|
184
|
+
Copyright © 2010–2020 [Casebook PBC](https://www.casebook.net).
|
185
185
|
Licensed under the MIT license, see [LICENSE](/LICENSE) file.
|
data/lib/with_model/model.rb
CHANGED
data/lib/with_model/model/dsl.rb
CHANGED
@@ -8,7 +8,7 @@ module WithModel
|
|
8
8
|
@model = model
|
9
9
|
end
|
10
10
|
|
11
|
-
# Provide a schema definition for the table, passed to ActiveRecord
|
11
|
+
# Provide a schema definition for the table, passed to ActiveRecord's `create_table`.
|
12
12
|
# The table name will be auto-generated.
|
13
13
|
#
|
14
14
|
# @see https://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-create_table
|
data/lib/with_model/version.rb
CHANGED
data/spec/.rubocop.yml
ADDED
data/spec/readme_spec.rb
CHANGED
@@ -61,7 +61,7 @@ describe 'A blog post' do
|
|
61
61
|
|
62
62
|
it 'can do all the things a regular model can' do
|
63
63
|
record = BlogPost.new
|
64
|
-
expect(record).
|
64
|
+
expect(record).not_to be_valid
|
65
65
|
record.title = 'foo'
|
66
66
|
expect(record).to be_valid
|
67
67
|
expect(record.save).to eq true
|
@@ -75,8 +75,7 @@ describe 'A blog post' do
|
|
75
75
|
self.abstract_class = true
|
76
76
|
end
|
77
77
|
|
78
|
-
with_model :Ford, superclass: Car
|
79
|
-
end
|
78
|
+
with_model :Ford, superclass: Car
|
80
79
|
|
81
80
|
it 'has a specified superclass' do
|
82
81
|
expect(Ford < Car).to eq true
|
@@ -114,6 +113,6 @@ describe 'with table options' do
|
|
114
113
|
end
|
115
114
|
|
116
115
|
it 'respects the additional options' do
|
117
|
-
expect(WithOptions.columns.map(&:name)).
|
116
|
+
expect(WithOptions.columns.map(&:name)).not_to include('id')
|
118
117
|
end
|
119
118
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -28,9 +28,7 @@ adapter = is_jruby ? 'jdbcsqlite3' : 'sqlite3'
|
|
28
28
|
require 'active_record'
|
29
29
|
ActiveRecord::Base.establish_connection(adapter: adapter, database: ':memory:')
|
30
30
|
|
31
|
-
if defined?(I18n) && I18n.respond_to?(:enforce_available_locales=)
|
32
|
-
I18n.enforce_available_locales = true
|
33
|
-
end
|
31
|
+
I18n.enforce_available_locales = true if defined?(I18n) && I18n.respond_to?(:enforce_available_locales=)
|
34
32
|
|
35
33
|
if ENV['LOGGER']
|
36
34
|
require 'logger'
|
data/spec/with_model_spec.rb
CHANGED
@@ -59,7 +59,8 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
59
59
|
|
60
60
|
describe 'the class' do
|
61
61
|
subject { BlogPost.new }
|
62
|
-
|
62
|
+
|
63
|
+
it_behaves_like 'ActiveModel'
|
63
64
|
end
|
64
65
|
|
65
66
|
it 'has the methods defined in its model block' do
|
@@ -90,6 +91,7 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
90
91
|
|
91
92
|
describe 'constant restoration' do
|
92
93
|
before { stub_const('MyConst', 1) }
|
94
|
+
|
93
95
|
shadowing_example_ran = false
|
94
96
|
|
95
97
|
context 'with the with_model block' do
|
@@ -145,6 +147,7 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
145
147
|
|
146
148
|
describe 'with a name which is namespaced' do
|
147
149
|
before { stub_const('Stuff', Module.new) }
|
150
|
+
|
148
151
|
with_model :'Stuff::BlogPost'
|
149
152
|
|
150
153
|
it 'creates the model in the namespace' do
|
@@ -160,13 +163,16 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
160
163
|
end
|
161
164
|
end
|
162
165
|
|
163
|
-
it 'is available' do
|
166
|
+
it 'is available' do
|
167
|
+
expect(BlogPost).to be
|
168
|
+
end
|
164
169
|
end
|
165
170
|
|
166
171
|
context 'with a mixin' do
|
167
172
|
let(:mixin) do
|
168
173
|
Module.new { def foo; end }
|
169
174
|
end
|
175
|
+
|
170
176
|
before { stub_const('AMixin', mixin) }
|
171
177
|
|
172
178
|
with_model :WithAMixin do
|
@@ -176,12 +182,14 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
176
182
|
end
|
177
183
|
|
178
184
|
it 'has the mixin' do
|
179
|
-
expect(-> { ::WithAMixin.new.foo }).
|
185
|
+
expect(-> { ::WithAMixin.new.foo }).not_to raise_error
|
180
186
|
expect(::WithAMixin.include?(AMixin)).to eq true
|
181
187
|
end
|
182
188
|
end
|
183
189
|
|
184
190
|
context 'with a mixin that has a class_eval' do
|
191
|
+
subject { WithAClassEval.new }
|
192
|
+
|
185
193
|
let(:mixin) do
|
186
194
|
Module.new do
|
187
195
|
def self.included(klass)
|
@@ -191,9 +199,8 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
191
199
|
end
|
192
200
|
end
|
193
201
|
end
|
194
|
-
before { stub_const('AMixin', mixin) }
|
195
202
|
|
196
|
-
|
203
|
+
before { stub_const('AMixin', mixin) }
|
197
204
|
|
198
205
|
with_model :WithAClassEval do
|
199
206
|
model do
|
@@ -222,7 +229,7 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
222
229
|
end
|
223
230
|
|
224
231
|
it 'respects the additional options' do
|
225
|
-
expect(WithOptions.columns.map(&:name)).
|
232
|
+
expect(WithOptions.columns.map(&:name)).not_to include('id')
|
226
233
|
end
|
227
234
|
end
|
228
235
|
|
@@ -238,12 +245,13 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
238
245
|
|
239
246
|
describe 'the class' do
|
240
247
|
subject { BlogPost.new }
|
241
|
-
|
248
|
+
|
249
|
+
it_behaves_like 'ActiveModel'
|
242
250
|
end
|
243
251
|
end
|
244
252
|
|
245
253
|
context 'with an empty block' do
|
246
|
-
with_model(:BlogPost) {}
|
254
|
+
with_model(:BlogPost) {} # rubocop:disable Lint/EmptyBlock
|
247
255
|
|
248
256
|
it 'acts like a normal ActiveRecord model' do
|
249
257
|
record = BlogPost.create!
|
@@ -254,7 +262,8 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
254
262
|
|
255
263
|
describe 'the class' do
|
256
264
|
subject { BlogPost.new }
|
257
|
-
|
265
|
+
|
266
|
+
it_behaves_like 'ActiveModel'
|
258
267
|
end
|
259
268
|
end
|
260
269
|
|
@@ -283,7 +292,8 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
283
292
|
|
284
293
|
describe 'the class' do
|
285
294
|
subject { BlogPost.new }
|
286
|
-
|
295
|
+
|
296
|
+
it_behaves_like 'ActiveModel'
|
287
297
|
end
|
288
298
|
end
|
289
299
|
|
@@ -300,7 +310,8 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
300
310
|
|
301
311
|
describe 'the class' do
|
302
312
|
subject { BlogPost.new }
|
303
|
-
|
313
|
+
|
314
|
+
it_behaves_like 'ActiveModel'
|
304
315
|
end
|
305
316
|
end
|
306
317
|
|
@@ -361,7 +372,8 @@ describe 'a temporary ActiveRecord model created with with_model' do
|
|
361
372
|
|
362
373
|
describe 'the class' do
|
363
374
|
subject { BlogPost.new }
|
364
|
-
|
375
|
+
|
376
|
+
it_behaves_like 'ActiveModel'
|
365
377
|
end
|
366
378
|
|
367
379
|
it 'is a subclass of the supplied superclass' do
|
data/with_model.gemspec
CHANGED
@@ -14,18 +14,21 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
17
|
-
spec.executables = spec.files.grep(%r
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.required_ruby_version = '>= 2.4'
|
22
22
|
|
23
|
-
spec.add_dependency 'activerecord', '>= 5.2'
|
23
|
+
spec.add_dependency 'activerecord', '>= 5.2'
|
24
24
|
|
25
25
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
26
26
|
spec.add_development_dependency 'minitest'
|
27
27
|
spec.add_development_dependency 'rake'
|
28
28
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
29
|
+
spec.add_development_dependency 'rubocop'
|
30
|
+
spec.add_development_dependency 'rubocop-rake'
|
31
|
+
spec.add_development_dependency 'rubocop-rspec'
|
29
32
|
spec.add_development_dependency 'simplecov'
|
30
33
|
spec.add_development_dependency 'yard'
|
31
34
|
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: with_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Case Commons, LLC
|
8
8
|
- Grant Hutchins
|
9
9
|
- Andrew Marshall
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-11-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
@@ -19,9 +19,6 @@ dependencies:
|
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '5.2'
|
22
|
-
- - "<"
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: '6.1'
|
25
22
|
type: :runtime
|
26
23
|
prerelease: false
|
27
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,9 +26,6 @@ dependencies:
|
|
29
26
|
- - ">="
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: '5.2'
|
32
|
-
- - "<"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '6.1'
|
35
29
|
- !ruby/object:Gem::Dependency
|
36
30
|
name: bundler
|
37
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,6 +82,48 @@ dependencies:
|
|
88
82
|
- - "~>"
|
89
83
|
- !ruby/object:Gem::Version
|
90
84
|
version: '3.0'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: rubocop
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: rubocop-rake
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
type: :development
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: rubocop-rspec
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
type: :development
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
91
127
|
- !ruby/object:Gem::Dependency
|
92
128
|
name: simplecov
|
93
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -140,8 +176,10 @@ extensions: []
|
|
140
176
|
extra_rdoc_files: []
|
141
177
|
files:
|
142
178
|
- ".gitignore"
|
179
|
+
- ".jrubyrc"
|
143
180
|
- ".rspec"
|
144
181
|
- ".rubocop.yml"
|
182
|
+
- ".rubocop_todo.yml"
|
145
183
|
- ".travis.yml"
|
146
184
|
- ".yardopts"
|
147
185
|
- CHANGELOG.md
|
@@ -156,6 +194,7 @@ files:
|
|
156
194
|
- lib/with_model/model/dsl.rb
|
157
195
|
- lib/with_model/table.rb
|
158
196
|
- lib/with_model/version.rb
|
197
|
+
- spec/.rubocop.yml
|
159
198
|
- spec/active_record_behaviors_spec.rb
|
160
199
|
- spec/constant_stubber_spec.rb
|
161
200
|
- spec/readme_spec.rb
|
@@ -166,7 +205,7 @@ homepage: https://github.com/Casecommons/with_model
|
|
166
205
|
licenses:
|
167
206
|
- MIT
|
168
207
|
metadata: {}
|
169
|
-
post_install_message:
|
208
|
+
post_install_message:
|
170
209
|
rdoc_options: []
|
171
210
|
require_paths:
|
172
211
|
- lib
|
@@ -181,11 +220,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
220
|
- !ruby/object:Gem::Version
|
182
221
|
version: '0'
|
183
222
|
requirements: []
|
184
|
-
rubygems_version: 3.1.
|
185
|
-
signing_key:
|
223
|
+
rubygems_version: 3.1.4
|
224
|
+
signing_key:
|
186
225
|
specification_version: 4
|
187
226
|
summary: Dynamically build a model within an RSpec context
|
188
227
|
test_files:
|
228
|
+
- spec/.rubocop.yml
|
189
229
|
- spec/active_record_behaviors_spec.rb
|
190
230
|
- spec/constant_stubber_spec.rb
|
191
231
|
- spec/readme_spec.rb
|