mongoid-suicide 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b6e80af3d89bb1d84f63ae1e8a8b73f9b8d690764712d988222a2fdaddcc3a26
4
- data.tar.gz: 2fa7206f7905a34e9f8aa4a6a815930f9237aeef4afd9fd39b1671b974a5b0c3
3
+ metadata.gz: 0de82582e718f5ba52268b35d7ae6814d21394cf4a4f1ab89b00c9a45fddbd86
4
+ data.tar.gz: b381bca8cdf0bc0737558a7435dbe2fc33600938cfcedc1a0e1c3272b31615a2
5
5
  SHA512:
6
- metadata.gz: 4ccb256a24c8a40c52950ef86c8051ae8b9c4c8c5345ee178fb0d636bbb4fa58d27e5889f1b413a8202b6d5ec023e4b29d0cef7d1069fa00dfc196888f786fa5
7
- data.tar.gz: 39be74915a2806f9a08b78dbc2330596973738524f7c75679ea1b408671fafabeddf3cc05edfe21f4f22e1ab78ba7c178d545cd306fa1b16771ec8f954a3375c
6
+ metadata.gz: d38119b04995842165181787886e950843adeaf0285d5636291521937965e1b2008a8572642377a5a7a162bb6c18298aa7abe5133075071f5d0da894093ba56c
7
+ data.tar.gz: 4f7a3ce4e8b637510b9579e6fb7e42fee970dcba30e8724999db7f380bb68a95f63fa151a57d4f272a90a5f2fb3f1382089bc6665f77f09e311715278a6b07c4
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "daily"
@@ -0,0 +1,22 @@
1
+ name: Ruby
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ name: build (${{ matrix.ruby }} / ${{ matrix.os }})
8
+ strategy:
9
+ matrix:
10
+ ruby: [2.7, 3.0, 3.1, 3.2, head, jruby, jruby-head]
11
+ os: [ubuntu-latest, macos-latest]
12
+ runs-on: ${{ matrix.os }}
13
+ steps:
14
+ - uses: actions/checkout@master
15
+ - name: Set up Ruby
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: ${{ matrix.ruby }}
19
+ - name: Install dependencies
20
+ run: bundle install
21
+ - name: Run test
22
+ run: rspec
data/.rubocop.yml ADDED
@@ -0,0 +1,16 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ TargetRubyVersion: 2.7
4
+ Layout/LineLength:
5
+ Max: 120
6
+ Metrics/MethodLength:
7
+ Enabled: false
8
+ Metrics/ModuleLength:
9
+ Enabled: false
10
+ Metrics/BlockLength:
11
+ Enabled: false
12
+ Metrics/AbcSize:
13
+ Enabled: false
14
+ Naming/FileName:
15
+ Exclude:
16
+ - 'lib/mongoid-suicide.rb'
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/Gemfile CHANGED
@@ -1,11 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in mongoid-suicide.gemspec
4
6
  gemspec
5
7
 
6
- gem 'rake'
7
8
  gem 'mongoid'
8
9
 
10
+ group :development do
11
+ gem 'rubocop', require: false
12
+ end
13
+
9
14
  group :test do
10
- gem 'rspec', '~> 3.4'
15
+ gem 'rspec'
11
16
  end
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 Anton Maminov
1
+ Copyright (c) 2015-2023 Anton Maminov
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  ![Mongoid::Suicide Logo](https://raw.github.com/mamantoha/mongoid-suicide/master/mongoid-suicide.png)
2
2
 
3
- [![Build Status][travis_badge]][travis]
4
- [![Gem Version][rubygems_badge]][rubygems]
5
- [![Code Climate][codeclimate_badge]][codeclimate]
3
+ [![Ruby](https://github.com/mamantoha/mongoid-suicide/actions/workflows/ruby.yml/badge.svg)](https://github.com/mamantoha/mongoid-suicide/actions/workflows/ruby.yml)
4
+ [![Gem Version](https://badge.fury.io/rb/mongoid-suicide.svg)](https://badge.fury.io/rb/mongoid-suicide)
6
5
 
7
6
  Provides methods to remove fields from Mongoid models
8
7
 
@@ -61,13 +60,4 @@ p.username
61
60
 
62
61
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
63
62
 
64
- Copyright (c) 2015-2018 by Anton Maminov
65
-
66
- [travis_badge]: http://img.shields.io/travis/mamantoha/mongoid-suicide.svg?style=flat
67
- [travis]: https://travis-ci.org/mamantoha/mongoid-suicide
68
-
69
- [rubygems_badge]: http://img.shields.io/gem/v/mongoid-suicide.svg?style=flat
70
- [rubygems]: http://rubygems.org/gems/mongoid-suicide
71
-
72
- [codeclimate_badge]: http://img.shields.io/codeclimate/github/mamantoha/mongoid-suicide.svg?style=flat
73
- [codeclimate]: https://codeclimate.com/github/mamantoha/mongoid-suicide
63
+ Copyright (c) 2015-2023 by Anton Maminov
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mongoid
2
4
  module Suicide
3
- VERSION = "0.3.0"
5
+ VERSION = '0.4.0'
4
6
  end
5
7
  end
@@ -1,12 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mongoid'
2
- require "mongoid/suicide/version"
4
+ require 'mongoid/suicide/version'
3
5
 
6
+ # :nodoc:
4
7
  module Mongoid
5
-
6
8
  # This module allows remove fields.
7
9
  module Suicide
8
10
  extend ActiveSupport::Concern
9
11
 
12
+ # :nodoc:
10
13
  module ClassMethods
11
14
  # Removes the field from the Document.
12
15
  # A getter and setter will be removed.
@@ -19,22 +22,23 @@ module Mongoid
19
22
  # @return [ Field ] The removed field
20
23
  def remove_field(name)
21
24
  name = name.to_s
22
- if fields[name]
23
- aliased = fields[name].options[:as]
24
25
 
25
- remove_accessors(name, name)
26
- remove_accessors(name, aliased) if aliased
27
- remove_dirty_methods(name, name)
28
- remove_dirty_methods(name, aliased) if aliased
26
+ return unless fields[name]
29
27
 
30
- remove_defaults(name)
28
+ aliased = fields[name].options[:as]
31
29
 
32
- remove_field_in_descendants(name)
33
- remove_validations_for(name)
30
+ remove_accessors(name, name)
31
+ remove_accessors(name, aliased) if aliased
32
+ remove_dirty_methods(name)
33
+ remove_dirty_methods(aliased) if aliased
34
34
 
35
- aliased_fields.delete(aliased.to_s) if aliased
36
- fields.delete(name)
37
- end
35
+ remove_defaults(name)
36
+
37
+ remove_field_in_descendants(name)
38
+ remove_validations_for(name)
39
+
40
+ aliased_fields.delete(aliased.to_s) if aliased
41
+ fields.delete(name)
38
42
  end
39
43
 
40
44
  # Remove the field accessors.
@@ -60,11 +64,11 @@ module Mongoid
60
64
  remove_field_setter(meth)
61
65
  remove_field_check(meth)
62
66
 
63
- if field.options[:localize]
64
- remove_translations_getter(meth)
65
- remove_translations_setter(meth)
66
- localized_fields.delete(name)
67
- end
67
+ return unless field.options[:localize]
68
+
69
+ remove_translations_getter(meth)
70
+ remove_translations_setter(meth)
71
+ localized_fields.delete(name)
68
72
  end
69
73
 
70
74
  # Removes the dirty change methods.
@@ -81,7 +85,7 @@ module Mongoid
81
85
  #
82
86
  # @param [ Symbol ] name The attribute name.
83
87
  # @param [ String ] meth The name of the accessor.
84
- def remove_dirty_methods(name, meth)
88
+ def remove_dirty_methods(meth)
85
89
  remove_dirty_change_accessor(meth)
86
90
  remove_dirty_change_check(meth)
87
91
  remove_dirty_change_flag(meth)
@@ -108,7 +112,7 @@ module Mongoid
108
112
  name = name.to_sym
109
113
  a_name = [name]
110
114
 
111
- _validators.reject!{ |key, _| key == name }
115
+ _validators.reject! { |key, _| key == name }
112
116
  remove_validate_callbacks a_name
113
117
  end
114
118
 
@@ -120,12 +124,14 @@ module Mongoid
120
124
  # @param [ Array<Symbol> ] a_name The attribute name.
121
125
  def remove_validate_callbacks(a_name)
122
126
  chain = _validate_callbacks.dup.reject do |callback|
123
- f = callback.raw_filter
127
+ f = callback.filter
124
128
  f.respond_to?(:attributes) && f.attributes == a_name
125
129
  end
130
+
126
131
  reset_callbacks(:validate)
132
+
127
133
  chain.each do |callback|
128
- set_callback 'validate', callback.raw_filter
134
+ set_callback 'validate', callback.filter
129
135
  end
130
136
  end
131
137
 
@@ -1 +1,3 @@
1
- require "mongoid/suicide"
1
+ # frozen_string_literal: true
2
+
3
+ require 'mongoid/suicide'
@@ -1,23 +1,24 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'mongoid/suicide/version'
4
6
 
5
7
  Gem::Specification.new do |spec|
6
- spec.name = "mongoid-suicide"
8
+ spec.name = 'mongoid-suicide'
7
9
  spec.version = Mongoid::Suicide::VERSION
8
- spec.authors = ["Anton Maminov"]
9
- spec.email = ["anton.linux@gmail.com"]
10
- spec.summary = %q{Hacks to support Mongoid remove field}
11
- spec.description = %q{Hacks to support Mongoid remove field. Including associations and validations}
12
- spec.homepage = "https://github.com/mamantoha/mongoid-suicide"
13
- spec.license = "MIT"
10
+ spec.authors = ['Anton Maminov']
11
+ spec.email = ['anton.linux@gmail.com']
12
+ spec.summary = 'Hacks to support Mongoid remove field'
13
+ spec.description = 'Hacks to support Mongoid remove field. Including associations and validations'
14
+ spec.homepage = 'https://github.com/mamantoha/mongoid-suicide'
15
+ spec.license = 'MIT'
14
16
 
15
17
  spec.files = `git ls-files -z`.split("\x0")
16
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
19
20
 
20
- spec.add_development_dependency "bundler", "~> 1.7"
21
- spec.add_development_dependency "rake", "~> 10.0"
22
- spec.add_development_dependency "mongoid", ['> 4.0', '< 7.0']
21
+ spec.required_ruby_version = '>= 2.7.0'
22
+ spec.add_dependency 'mongoid', ['> 4.0', '< 9.0']
23
+ spec.metadata['rubygems_mfa_required'] = 'true'
23
24
  end
data/mongoid-suicide.png CHANGED
Binary file
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Person
2
4
  include Mongoid::Document
3
5
  include Mongoid::Suicide
4
6
 
5
7
  field :username, type: String
6
- field :age, type: Integer, default: "100"
8
+ field :age, type: Integer, default: '100'
7
9
  end
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Mongoid::Suicide do
4
- describe "#remove_field" do
5
- context "remove accessors" do
6
-
6
+ describe '#remove_field' do
7
+ context 'remove accessors' do
7
8
  before do
8
9
  Person.field(:remove_testing, type: String)
9
10
  end
@@ -16,37 +17,36 @@ describe Mongoid::Suicide do
16
17
  Person.remove_field(:remove_testing)
17
18
  end
18
19
 
19
- it "removes field getter" do
20
- expect {
20
+ it 'removes field getter' do
21
+ expect do
21
22
  person.remove_testing
22
- }.to raise_error(NoMethodError)
23
+ end.to raise_error(NoMethodError)
23
24
  end
24
25
 
25
- it "removes field setter" do
26
- expect {
26
+ it 'removes field setter' do
27
+ expect do
27
28
  person.remove_testing = 'test'
28
- }.to raise_error(NoMethodError)
29
+ end.to raise_error(NoMethodError)
29
30
  end
30
31
 
31
- it "removes field _before_type_cast getter" do
32
- expect {
32
+ it 'removes field _before_type_cast getter' do
33
+ expect do
33
34
  person.remove_testing_before_type_cast
34
- }.to raise_error(NoMethodError)
35
+ end.to raise_error(NoMethodError)
35
36
  end
36
37
 
37
- it "removes field check method" do
38
- expect {
38
+ it 'removes field check method' do
39
+ expect do
39
40
  person.remove_testing?
40
- }.to raise_error(NoMethodError)
41
+ end.to raise_error(NoMethodError)
41
42
  end
42
43
 
43
- it "removes field from fields" do
44
- expect(Person.fields).to_not include("remove_testing")
44
+ it 'removes field from fields' do
45
+ expect(Person.fields).to_not include('remove_testing')
45
46
  end
46
47
  end
47
48
 
48
- context "remove accessors for aliasing field" do
49
-
49
+ context 'remove accessors for aliasing field' do
50
50
  before do
51
51
  Person.field(:remove_testing, type: String, as: :rt)
52
52
  end
@@ -59,38 +59,36 @@ describe Mongoid::Suicide do
59
59
  Person.remove_field(:remove_testing)
60
60
  end
61
61
 
62
- it "removes field getter" do
63
- expect {
62
+ it 'removes field getter' do
63
+ expect do
64
64
  person.rt
65
- }.to raise_error(NoMethodError)
65
+ end.to raise_error(NoMethodError)
66
66
  end
67
67
 
68
- it "removes field setter" do
69
- expect {
68
+ it 'removes field setter' do
69
+ expect do
70
70
  person.rt = 'test'
71
- }.to raise_error(NoMethodError)
71
+ end.to raise_error(NoMethodError)
72
72
  end
73
73
 
74
- it "removes field _before_type_cast getter" do
75
- expect {
74
+ it 'removes field _before_type_cast getter' do
75
+ expect do
76
76
  person.rt_before_type_cast
77
- }.to raise_error(NoMethodError)
77
+ end.to raise_error(NoMethodError)
78
78
  end
79
79
 
80
- it "removes field check method" do
81
- expect {
80
+ it 'removes field check method' do
81
+ expect do
82
82
  person.rt?
83
- }.to raise_error(NoMethodError)
83
+ end.to raise_error(NoMethodError)
84
84
  end
85
85
 
86
- it "removes field from aliased_fields" do
87
- expect(Person.aliased_fields).to_not include("rt")
86
+ it 'removes field from aliased_fields' do
87
+ expect(Person.aliased_fields).to_not include('rt')
88
88
  end
89
-
90
89
  end
91
90
 
92
- context "remove translations" do
93
-
91
+ context 'remove translations' do
94
92
  before do
95
93
  Person.field(:remove_testing, type: String, localize: true)
96
94
  end
@@ -103,38 +101,36 @@ describe Mongoid::Suicide do
103
101
  Person.remove_field(:remove_testing)
104
102
  end
105
103
 
106
- it "removes field translation getter" do
107
- expect {
104
+ it 'removes field translation getter' do
105
+ expect do
108
106
  person.remove_testing_translations
109
- }.to raise_error(NoMethodError)
107
+ end.to raise_error(NoMethodError)
110
108
  end
111
109
 
112
- it "removes field translation setter" do
113
- expect {
110
+ it 'removes field translation setter' do
111
+ expect do
114
112
  person.remove_testing_translations = { de: 'test' }
115
- }.to raise_error(NoMethodError)
113
+ end.to raise_error(NoMethodError)
116
114
  end
117
115
 
118
- it "removes field translation getter alias" do
119
- expect {
116
+ it 'removes field translation getter alias' do
117
+ expect do
120
118
  person.remove_testing_t
121
- }.to raise_error(NoMethodError)
119
+ end.to raise_error(NoMethodError)
122
120
  end
123
121
 
124
- it "removes field translation setter alias" do
125
- expect {
122
+ it 'removes field translation setter alias' do
123
+ expect do
126
124
  person.remove_testing_t = { de: 'test' }
127
- }.to raise_error(NoMethodError)
125
+ end.to raise_error(NoMethodError)
128
126
  end
129
127
 
130
- it "localized_fields should not have removed field" do
128
+ it 'localized_fields should not have removed field' do
131
129
  expect(person.localized_fields).to_not include('remove_testing')
132
130
  end
133
-
134
131
  end
135
132
 
136
- context "remove translations for aliasing field" do
137
-
133
+ context 'remove translations for aliasing field' do
138
134
  before do
139
135
  Person.field(:remove_testing, type: String, localize: true, as: :rt)
140
136
  end
@@ -147,34 +143,32 @@ describe Mongoid::Suicide do
147
143
  Person.remove_field(:remove_testing)
148
144
  end
149
145
 
150
- it "removes field translation getter" do
151
- expect {
146
+ it 'removes field translation getter' do
147
+ expect do
152
148
  person.rt_translations
153
- }.to raise_error(NoMethodError)
149
+ end.to raise_error(NoMethodError)
154
150
  end
155
151
 
156
- it "removes field translation setter" do
157
- expect {
152
+ it 'removes field translation setter' do
153
+ expect do
158
154
  person.rt_translations = { de: 'test' }
159
- }.to raise_error(NoMethodError)
155
+ end.to raise_error(NoMethodError)
160
156
  end
161
157
 
162
- it "removes field translation getter alias" do
163
- expect {
158
+ it 'removes field translation getter alias' do
159
+ expect do
164
160
  person.rt_t
165
- }.to raise_error(NoMethodError)
161
+ end.to raise_error(NoMethodError)
166
162
  end
167
163
 
168
- it "removes field translation setter alias" do
169
- expect {
164
+ it 'removes field translation setter alias' do
165
+ expect do
170
166
  person.rt_t = { de: 'test' }
171
- }.to raise_error(NoMethodError)
167
+ end.to raise_error(NoMethodError)
172
168
  end
173
-
174
169
  end
175
170
 
176
- context "remove dirty change methods" do
177
-
171
+ context 'remove dirty change methods' do
178
172
  before do
179
173
  Person.field(:remove_testing, type: String)
180
174
  end
@@ -187,52 +181,50 @@ describe Mongoid::Suicide do
187
181
  Person.remove_field(:remove_testing)
188
182
  end
189
183
 
190
- it "removes the dirty change accessor" do
191
- expect {
184
+ it 'removes the dirty change accessor' do
185
+ expect do
192
186
  person.remove_testing_change
193
- }.to raise_error(NoMethodError)
187
+ end.to raise_error(NoMethodError)
194
188
  end
195
189
 
196
- it "removes the dirty change check" do
197
- expect {
190
+ it 'removes the dirty change check' do
191
+ expect do
198
192
  person.remove_testing_changed?
199
- }.to raise_error(NoMethodError)
193
+ end.to raise_error(NoMethodError)
200
194
  end
201
195
 
202
- it "removes the dirty change flag" do
203
- expect {
196
+ it 'removes the dirty change flag' do
197
+ expect do
204
198
  person.remove_testing_will_change!
205
- }.to raise_error(NoMethodError)
199
+ end.to raise_error(NoMethodError)
206
200
  end
207
201
 
208
- it "removes the dirty default change check" do
209
- expect {
202
+ it 'removes the dirty default change check' do
203
+ expect do
210
204
  person.remove_testing_changed_from_default?
211
- }.to raise_error(NoMethodError)
205
+ end.to raise_error(NoMethodError)
212
206
  end
213
207
 
214
- it "removes the dirty change previous value accessor" do
215
- expect {
208
+ it 'removes the dirty change previous value accessor' do
209
+ expect do
216
210
  person.remove_testing_was
217
- }.to raise_error(NoMethodError)
211
+ end.to raise_error(NoMethodError)
218
212
  end
219
213
 
220
- it "removes the dirty change reset" do
221
- expect {
214
+ it 'removes the dirty change reset' do
215
+ expect do
222
216
  person.reset_remove_testing!
223
- }.to raise_error(NoMethodError)
217
+ end.to raise_error(NoMethodError)
224
218
  end
225
219
 
226
- it "removes the dirty change reset to default" do
227
- expect {
220
+ it 'removes the dirty change reset to default' do
221
+ expect do
228
222
  person.reset_remove_testing_to_default!
229
- }.to raise_error(NoMethodError)
223
+ end.to raise_error(NoMethodError)
230
224
  end
231
-
232
225
  end
233
226
 
234
- context "remove dirty change methods for aliasing field" do
235
-
227
+ context 'remove dirty change methods for aliasing field' do
236
228
  before do
237
229
  Person.field(:remove_testing, type: String, as: :rt)
238
230
  end
@@ -245,51 +237,50 @@ describe Mongoid::Suicide do
245
237
  Person.remove_field(:remove_testing)
246
238
  end
247
239
 
248
- it "removes the dirty change accessor" do
249
- expect {
240
+ it 'removes the dirty change accessor' do
241
+ expect do
250
242
  person.rt_change
251
- }.to raise_error(NoMethodError)
243
+ end.to raise_error(NoMethodError)
252
244
  end
253
245
 
254
- it "removes the dirty change check" do
255
- expect {
246
+ it 'removes the dirty change check' do
247
+ expect do
256
248
  person.rt_changed?
257
- }.to raise_error(NoMethodError)
249
+ end.to raise_error(NoMethodError)
258
250
  end
259
251
 
260
- it "removes the dirty change flag" do
261
- expect {
252
+ it 'removes the dirty change flag' do
253
+ expect do
262
254
  person.rt_will_change!
263
- }.to raise_error(NoMethodError)
255
+ end.to raise_error(NoMethodError)
264
256
  end
265
257
 
266
- it "removes the dirty default change check" do
267
- expect {
258
+ it 'removes the dirty default change check' do
259
+ expect do
268
260
  person.rt_changed_from_default?
269
- }.to raise_error(NoMethodError)
261
+ end.to raise_error(NoMethodError)
270
262
  end
271
263
 
272
- it "removes the dirty change previous value accessor" do
273
- expect {
264
+ it 'removes the dirty change previous value accessor' do
265
+ expect do
274
266
  person.rt_was
275
- }.to raise_error(NoMethodError)
267
+ end.to raise_error(NoMethodError)
276
268
  end
277
269
 
278
- it "removes the dirty change reset" do
279
- expect {
270
+ it 'removes the dirty change reset' do
271
+ expect do
280
272
  person.reset_rt!
281
- }.to raise_error(NoMethodError)
273
+ end.to raise_error(NoMethodError)
282
274
  end
283
275
 
284
- it "removes the dirty change reset to default" do
285
- expect {
276
+ it 'removes the dirty change reset to default' do
277
+ expect do
286
278
  person.reset_rt_to_default!
287
- }.to raise_error(NoMethodError)
279
+ end.to raise_error(NoMethodError)
288
280
  end
289
-
290
281
  end
291
282
 
292
- context "remove validators" do
283
+ context 'remove validators' do
293
284
  before do
294
285
  Person.field(:remove_testing, type: String)
295
286
  Person.validates(:remove_testing, uniqueness: true)
@@ -299,10 +290,9 @@ describe Mongoid::Suicide do
299
290
  Person.remove_field(:remove_testing)
300
291
  end
301
292
 
302
- it "validators should not have removed field" do
293
+ it 'validators should not have removed field' do
303
294
  expect(Person._validators).to_not include(:remove_testing)
304
295
  end
305
296
  end
306
297
  end
307
-
308
298
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
5
 
4
- MODELS = File.join(File.dirname(__FILE__), "app/models")
6
+ MODELS = File.join(File.dirname(__FILE__), 'app/models')
5
7
  $LOAD_PATH.unshift(MODELS)
6
8
 
7
9
  require 'mongoid'
@@ -12,7 +14,7 @@ require 'rspec'
12
14
  # Mongoid.logger.level = Logger::DEBUG
13
15
 
14
16
  # Autoload every model for the test suite that sits in spec/app/models.
15
- Dir[ File.join(MODELS, "*.rb") ].sort.each do |file|
16
- name = File.basename(file, ".rb")
17
+ Dir[File.join(MODELS, '*.rb')].sort.each do |file|
18
+ name = File.basename(file, '.rb')
17
19
  autoload name.camelize.to_sym, name
18
20
  end
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-suicide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Maminov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-06 00:00:00.000000000 Z
11
+ date: 2023-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.7'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.7'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: mongoid
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -47,8 +19,8 @@ dependencies:
47
19
  version: '4.0'
48
20
  - - "<"
49
21
  - !ruby/object:Gem::Version
50
- version: '7.0'
51
- type: :development
22
+ version: '9.0'
23
+ type: :runtime
52
24
  prerelease: false
53
25
  version_requirements: !ruby/object:Gem::Requirement
54
26
  requirements:
@@ -57,7 +29,7 @@ dependencies:
57
29
  version: '4.0'
58
30
  - - "<"
59
31
  - !ruby/object:Gem::Version
60
- version: '7.0'
32
+ version: '9.0'
61
33
  description: Hacks to support Mongoid remove field. Including associations and validations
62
34
  email:
63
35
  - anton.linux@gmail.com
@@ -65,13 +37,15 @@ executables: []
65
37
  extensions: []
66
38
  extra_rdoc_files: []
67
39
  files:
40
+ - ".github/dependabot.yml"
41
+ - ".github/workflows/ruby.yml"
68
42
  - ".gitignore"
69
43
  - ".rspec"
70
- - ".travis.yml"
44
+ - ".rubocop.yml"
45
+ - ".ruby-version"
71
46
  - Gemfile
72
47
  - LICENSE.txt
73
48
  - README.md
74
- - Rakefile
75
49
  - lib/mongoid-suicide.rb
76
50
  - lib/mongoid/suicide.rb
77
51
  - lib/mongoid/suicide/version.rb
@@ -83,8 +57,9 @@ files:
83
57
  homepage: https://github.com/mamantoha/mongoid-suicide
84
58
  licenses:
85
59
  - MIT
86
- metadata: {}
87
- post_install_message:
60
+ metadata:
61
+ rubygems_mfa_required: 'true'
62
+ post_install_message:
88
63
  rdoc_options: []
89
64
  require_paths:
90
65
  - lib
@@ -92,19 +67,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
67
  requirements:
93
68
  - - ">="
94
69
  - !ruby/object:Gem::Version
95
- version: '0'
70
+ version: 2.7.0
96
71
  required_rubygems_version: !ruby/object:Gem::Requirement
97
72
  requirements:
98
73
  - - ">="
99
74
  - !ruby/object:Gem::Version
100
75
  version: '0'
101
76
  requirements: []
102
- rubyforge_project:
103
- rubygems_version: 2.7.3
104
- signing_key:
77
+ rubygems_version: 3.4.14
78
+ signing_key:
105
79
  specification_version: 4
106
80
  summary: Hacks to support Mongoid remove field
107
- test_files:
108
- - spec/app/models/person.rb
109
- - spec/mongoid_suicide_spec.rb
110
- - spec/spec_helper.rb
81
+ test_files: []
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- language: ruby
2
-
3
- bundler_args: --without development
4
-
5
- rvm:
6
- - 2.5.0
7
- - 2.4.3
8
- - 2.3.3
9
-
10
- gemfile:
11
- - Gemfile
12
-
13
- sudo: false
data/Rakefile DELETED
@@ -1,37 +0,0 @@
1
- require "bundler/gem_tasks"
2
-
3
- require "bundler"
4
- Bundler.setup
5
-
6
- require "rake"
7
- require "rspec/core/rake_task"
8
-
9
- $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
10
- require "mongoid/suicide/version"
11
-
12
- task :gem => :build
13
- task :build do
14
- system "gem build mongoid-suicide.gemspec"
15
- end
16
-
17
- task :install => :build do
18
- system "gem install mongoid-suicide-#{Mongoid::VERSION}.gem"
19
- end
20
-
21
- task :release => :build do
22
- system "git tag -a v#{Mongoid::Suicide::VERSION} -m 'Tagging #{Mongoid::Suicide::VERSION}'"
23
- system "git push --tags"
24
- system "gem push mongoid-#{Mongoid::Suicide::VERSION}.gem"
25
- system "rm mongoid-#{Mongoid::Suicide::VERSION}.gem"
26
- end
27
-
28
- RSpec::Core::RakeTask.new("spec") do |spec|
29
- spec.pattern = "spec/**/*_spec.rb"
30
- end
31
-
32
- RSpec::Core::RakeTask.new('spec:progress') do |spec|
33
- spec.rspec_opts = %w(--format progress)
34
- spec.pattern = "spec/**/*_spec.rb"
35
- end
36
-
37
- task :default => :spec