mini_form 0.2.4 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fae1bbe2eb9f254e0315e13364a0d9a19a87515061f066a37fd89689be9c657
4
- data.tar.gz: 34c5ac1537cf058c0c67cdaa7ef4c88dd7aaaef63412cbabddbad5e13be73435
3
+ metadata.gz: 05110a58fa226872117674c65d40a1312b20f368d2c3091abcf1f1d76ca8556f
4
+ data.tar.gz: 5046659d5998b2786b304bb47e0190dd21605863be6482106c9bb259453847e7
5
5
  SHA512:
6
- metadata.gz: ada501cc629ff6fd8701162248d095868bf2a7a9ac0e7e23f74caae5d08d1f8cbd31d9202fd47f52283cbb3117cd8c0d1a2705b9c074a09a6c95cb622ac2e4ee
7
- data.tar.gz: 8cb38e2bf06594be100078b2d2b0ee10c4d5a356808ba4249fc2f63f060478619c97dc8d776004d20c5f52cb2b1dfef5b93099ca9307379c7921006a40bfa0ee
6
+ metadata.gz: 8ebdb289c2f4a3c975be13ae53e52032ff33130658cdf9b580373f9cc988d60eb8e62732280c5c71889aeac7021c50857957bfd459b689e27f8716c45e142c64
7
+ data.tar.gz: '078b887c19a8049f34ff73cbe6bc1a686f5b9219ee7e499c6176de023c80ad283529d4c5b56b3a673688b08ce175f0ca6d893e02034b39f9ca3d5a10b97ed3be'
@@ -0,0 +1,33 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ matrix:
16
+ ruby-version: ['2.6', '2.7', '3.0', '3.1']
17
+
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - name: Set up Ruby ${{ matrix.ruby-version }}
21
+ uses: ruby/setup-ruby@0a29871fe2b0200a17a4497bae54fe5df0d973aa # v1.115.3
22
+ with:
23
+ ruby-version: ${{ matrix.ruby-version }}
24
+
25
+ - name: Install dependencies
26
+ run: bundle install
27
+
28
+ - name: Run linters
29
+ run: bundle exec rubocop
30
+
31
+ - name: Run tests
32
+ run: bundle exec rspec spec
33
+
data/.rubocop.yml CHANGED
@@ -1,34 +1,34 @@
1
1
  require: rubocop-rspec
2
2
 
3
- Rails:
4
- Enabled: true
3
+ AllCops:
5
4
  Exclude:
6
- - example/db/**/*
7
- - example/config/**/*
8
- - search_object.gemspec
5
+ - mini_form.gemspec
6
+
7
+ SuggestExtensions: false
8
+ NewCops: disable
9
9
 
10
10
  # Disables "Module definition is too long"
11
- ModuleLength:
11
+ Metrics/ModuleLength:
12
12
  Enabled: false
13
13
 
14
14
  # Disables "Line is too long"
15
- LineLength:
15
+ Layout/LineLength:
16
16
  Enabled: false
17
17
 
18
18
  # Disables "Method is too long"
19
- MethodLength:
19
+ Metrics/MethodLength:
20
20
  Enabled: false
21
21
 
22
22
  # Disables "Assignment Branch Condition size for included is too high"
23
- AbcSize:
23
+ Metrics/AbcSize:
24
24
  Enabled: false
25
25
 
26
26
  # Disables "Block has too many lines"
27
- BlockLength:
27
+ Metrics/BlockLength:
28
28
  Enabled: false
29
29
 
30
30
  # Disables "Missing top-level class documentation comment"
31
- Documentation:
31
+ Style/Documentation:
32
32
  Enabled: false
33
33
 
34
34
  # Disables "Use each_with_object instead of inject"
@@ -43,10 +43,6 @@ Style/CollectionMethods:
43
43
  Style/PercentLiteralDelimiters:
44
44
  Enabled: false
45
45
 
46
- # Disables "Use tr instead of gsubs"
47
- Performance/StringReplacement:
48
- Enabled: false
49
-
50
46
  # Disables "Example has too many expectations"
51
47
  RSpec/MultipleExpectations:
52
48
  Enabled: false
@@ -54,3 +50,9 @@ RSpec/MultipleExpectations:
54
50
  # Disables "Example has too many lines"
55
51
  RSpec/ExampleLength:
56
52
  Enabled: false
53
+
54
+ Style/HashSyntax:
55
+ Enabled: false
56
+
57
+ Lint/MissingSuper:
58
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## Version 0.2.5
4
+
5
+ * Added `main_model` (@rstankov)
6
+
3
7
  ## Version 0.2.4
4
8
 
5
9
  * Rails 6+ support (@emilov)
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
data/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/mini_form.svg)](http://badge.fury.io/rb/mini_form)
2
2
  [![Code Climate](https://codeclimate.com/github/RStankov/MiniForm.svg)](https://codeclimate.com/github/RStankov/MiniForm)
3
- [![Build Status](https://secure.travis-ci.org/RStankov/MiniForm.svg)](http://travis-ci.org/RStankov/MiniForm)
4
3
  [![Code coverage](https://coveralls.io/repos/RStankov/MiniForm/badge.svg?branch=master)](https://coveralls.io/r/RStankov/MiniForm)
5
4
 
6
5
  # MiniForm
@@ -194,6 +193,26 @@ class SignUpForm
194
193
  end
195
194
  ```
196
195
 
196
+ ### Using in forms
197
+
198
+ Using `main_model` will delegate `id`, `to_param`, `persisted?` and `new_record?` to the model. Allowing you to use it in forms.
199
+
200
+ ```ruby
201
+ class SignUpForm
202
+ include MiniForm::Model
203
+
204
+ main_model :user
205
+
206
+ def initialize
207
+ @user = User.new(account: @account)
208
+ end
209
+ end
210
+ ```
211
+
212
+ ```eruby
213
+ <% form_for SignUpForm.new %>
214
+ ```
215
+
197
216
  ### Delegating model attributes
198
217
 
199
218
  ```ruby
@@ -203,7 +222,7 @@ class SignUpForm
203
222
  model :user, attributes: %i(name email), read: %i(id)
204
223
 
205
224
  def initialize
206
- @user = User.new account: @account
225
+ @user = User.new(account: @account)
207
226
  end
208
227
  end
209
228
  ```
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
  require 'rubocop/rake_task'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MiniForm
2
4
  class InvalidForm < StandardError
3
5
  attr_reader :errors
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/all'
2
4
  require 'active_model'
3
5
 
@@ -73,6 +75,7 @@ module MiniForm
73
75
 
74
76
  def update!(attributes = {})
75
77
  raise InvalidForm, self unless update attributes
78
+
76
79
  self
77
80
  end
78
81
 
@@ -156,7 +159,7 @@ module MiniForm
156
159
  end
157
160
  end
158
161
 
159
- def model(name, attributes: [], read: [], prefix: nil, allow_nil: nil, save: false) # rubocop:disable ParameterLists
162
+ def model(name, attributes: [], read: [], prefix: nil, allow_nil: nil, save: false) # rubocop:disable Metrics/ParameterLists
160
163
  attr_accessor name
161
164
 
162
165
  attributes(*attributes, delegate: name, prefix: prefix, allow_nil: allow_nil) unless attributes.empty?
@@ -167,6 +170,12 @@ module MiniForm
167
170
 
168
171
  models_to_save << name if save
169
172
  end
173
+
174
+ def main_model(model_name, **args)
175
+ delegate :id, :persisted?, :to_param, :new_record?, to: model_name
176
+
177
+ model model_name, **args
178
+ end
170
179
  end
171
180
  end
172
181
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_model'
2
4
 
3
5
  module MiniForm
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MiniForm
2
- VERSION = '0.2.4'.freeze
4
+ VERSION = '0.2.5'
3
5
  end
data/lib/mini_form.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mini_form/version'
2
4
  require 'mini_form/model'
3
5
  require 'mini_form/errors'
data/mini_form.gemspec CHANGED
@@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_development_dependency 'bundler', '>= 2.1.4'
24
24
  spec.add_development_dependency 'rake', '>= 12.3.3'
25
- spec.add_development_dependency 'rspec', '~> 2.14'
26
- spec.add_development_dependency 'rspec-mocks', '>= 2.12.3'
25
+ spec.add_development_dependency 'rspec', '3.12.0'
26
+ spec.add_development_dependency 'rspec-mocks', '3.12.0'
27
27
  spec.add_development_dependency 'coveralls'
28
28
  spec.add_development_dependency 'rubocop'
29
29
  spec.add_development_dependency 'rubocop-rspec'
@@ -1,28 +1,32 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
- module MiniForm
4
- describe NestedValidator do
5
- class User
6
- include ActiveModel::Model
5
+ module SpecSupport
6
+ class Person
7
+ include ActiveModel::Model
7
8
 
8
- attr_accessor :name
9
+ attr_accessor :name
9
10
 
10
- validates :name, presence: true
11
- end
11
+ validates :name, presence: true
12
+ end
12
13
 
13
- class Record
14
- include ActiveModel::Validations
14
+ class Record
15
+ include ActiveModel::Validations
15
16
 
16
- attr_accessor :user
17
+ attr_accessor :user
17
18
 
18
- def initialize(user)
19
- @user = user
20
- end
19
+ def initialize(user)
20
+ @user = user
21
21
  end
22
+ end
23
+ end
22
24
 
23
- let(:validator) { NestedValidator.new(attributes: [:user]) }
24
- let(:user) { User.new }
25
- let(:record) { Record.new(user) }
25
+ module MiniForm
26
+ describe NestedValidator do
27
+ let(:validator) { described_class.new(attributes: [:user]) }
28
+ let(:user) { SpecSupport::Person.new }
29
+ let(:record) { SpecSupport::Record.new(user) }
26
30
 
27
31
  it 'copies errors from submodel to model' do
28
32
  validator.validate(record)
@@ -1,42 +1,96 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
- module MiniForm
4
- describe Model do
5
- let(:user) { User.new id: 1, name: 'name', age: 28 }
5
+ module SpecSupport
6
+ class User
7
+ include ActiveModel::Model
6
8
 
7
- class User
8
- include ActiveModel::Model
9
+ attr_accessor :id, :name, :age
9
10
 
10
- attr_accessor :id, :name, :age
11
+ validates :name, presence: true
11
12
 
12
- validates :name, presence: true
13
+ def to_param
14
+ "user-#{id}"
13
15
  end
14
16
 
15
- Example = Class.new do
16
- include Model
17
+ def persisted?
18
+ id.present?
19
+ end
17
20
 
18
- attributes :name, :price
21
+ def new_record?
22
+ !persisted?
19
23
  end
24
+ end
20
25
 
21
- ExampleWithDelegate = Class.new do
22
- include Model
26
+ class Example
27
+ include MiniForm::Model
23
28
 
24
- attr_reader :user
29
+ attributes :name, :price
30
+ end
25
31
 
26
- attributes :name, delegate: :user
27
- attributes :id, delegate: :user, prefix: true
28
- attributes :name, delegate: :user, prefix: 'full'
32
+ class ExampleWithDelegate
33
+ include MiniForm::Model
29
34
 
30
- def initialize(user)
31
- @user = user
32
- end
35
+ attr_reader :user
36
+
37
+ attributes :name, delegate: :user
38
+ attributes :id, delegate: :user, prefix: true
39
+ attributes :name, delegate: :user, prefix: 'full'
40
+
41
+ def initialize(user)
42
+ @user = user
43
+ end
44
+ end
45
+
46
+ class ExampleWithModel
47
+ include MiniForm::Model
48
+
49
+ model :user, attributes: %i(name), read: %i(id)
50
+
51
+ def initialize(user)
52
+ self.user = user
33
53
  end
54
+ end
55
+
56
+ class ExampleForUpdate
57
+ include MiniForm::Model
58
+
59
+ attributes :name
60
+
61
+ validates :name, presence: true
62
+ end
63
+
64
+ class ExampleForSave
65
+ include MiniForm::Model
66
+
67
+ model :user, attributes: %i(name), save: true
68
+
69
+ def initialize(user:)
70
+ self.user = user
71
+ end
72
+ end
73
+
74
+ class ExampleFormModel
75
+ include MiniForm::Model
76
+
77
+ main_model :user
78
+
79
+ def initialize(user:)
80
+ self.user = user
81
+ end
82
+ end
83
+ end
84
+
85
+ module MiniForm
86
+ describe Model do
87
+ let(:user) { SpecSupport::User.new id: 1, name: 'name', age: 28 }
34
88
 
35
89
  describe 'acts as ActiveModel' do
36
90
  include ActiveModel::Lint::Tests
37
91
 
38
92
  before do
39
- @model = Example.new
93
+ @model = SpecSupport::Example.new
40
94
  end
41
95
 
42
96
  def assert(condition, message = nil)
@@ -79,24 +133,24 @@ module MiniForm
79
133
 
80
134
  describe '.attributes' do
81
135
  it 'generates getters' do
82
- object = Example.new name: 'value'
136
+ object = SpecSupport::Example.new name: 'value'
83
137
  expect(object.name).to eq 'value'
84
138
  end
85
139
 
86
140
  it 'generates setters' do
87
- object = Example.new
141
+ object = SpecSupport::Example.new
88
142
  object.name = 'value'
89
143
 
90
144
  expect(object.name).to eq 'value'
91
145
  end
92
146
 
93
147
  it 'can delegate getter' do
94
- object = ExampleWithDelegate.new user
148
+ object = SpecSupport::ExampleWithDelegate.new user
95
149
  expect(object.name).to eq user.name
96
150
  end
97
151
 
98
152
  it 'can delegate setter' do
99
- object = ExampleWithDelegate.new user
153
+ object = SpecSupport::ExampleWithDelegate.new user
100
154
 
101
155
  object.name = 'New Name'
102
156
 
@@ -106,71 +160,75 @@ module MiniForm
106
160
  end
107
161
 
108
162
  describe '.model' do
109
- ExampleWithModel = Class.new do
110
- include Model
111
-
112
- model :user, attributes: %i(name), read: %i(id)
113
-
114
- def initialize(user)
115
- self.user = user
116
- end
117
- end
118
-
119
163
  it 'generates model accessors' do
120
- object = ExampleWithModel.new user
164
+ object = SpecSupport::ExampleWithModel.new user
121
165
  expect(object.user).to eq user
122
166
  end
123
167
 
124
168
  it 'can delegate only a reader' do
125
- object = ExampleWithModel.new user
169
+ object = SpecSupport::ExampleWithModel.new user
126
170
 
127
171
  expect(object).not_to respond_to :id=
128
172
  expect(object.id).to eq user.id
129
173
  end
130
174
 
131
175
  it 'can delegate model attributes' do
132
- object = ExampleWithModel.new user
176
+ object = SpecSupport::ExampleWithModel.new user
133
177
  expect(object.name).to eq user.name
134
178
  end
135
179
 
136
180
  it 'performs nested validation for model' do
137
- user = User.new
138
- object = ExampleWithModel.new user
181
+ user = SpecSupport::User.new
182
+ object = SpecSupport::ExampleWithModel.new user
139
183
 
140
184
  expect(object).not_to be_valid
141
185
  expect(object.errors[:name]).to be_present
142
186
  end
143
187
  end
144
188
 
189
+ describe '.main_model' do
190
+ it 'delegates Rails form attributes to the model' do
191
+ user = SpecSupport::User.new
192
+ object = SpecSupport::ExampleFormModel.new(user: user)
193
+
194
+ expect(object).to have_attributes(
195
+ id: user.id,
196
+ to_param: user.to_param,
197
+ persisted?: user.persisted?,
198
+ new_record?: user.new_record?
199
+ )
200
+ end
201
+ end
202
+
145
203
  describe '.attributes_names' do
146
204
  it 'returns attribute names' do
147
- expect(Example.attribute_names).to eq %i(name price)
205
+ expect(SpecSupport::Example.attribute_names).to eq %i(name price)
148
206
  end
149
207
 
150
208
  it 'can handle prefixes' do
151
- expect(ExampleWithDelegate.attribute_names).to include :user_id
152
- expect(ExampleWithDelegate.attribute_names).to include :full_name
209
+ expect(SpecSupport::ExampleWithDelegate.attribute_names).to include :user_id
210
+ expect(SpecSupport::ExampleWithDelegate.attribute_names).to include :full_name
153
211
  end
154
212
  end
155
213
 
156
214
  describe '#initialize' do
157
215
  it 'can be called with no arguments' do
158
- expect { Example.new }.not_to raise_error
216
+ expect { SpecSupport::Example.new }.not_to raise_error
159
217
  end
160
218
 
161
219
  it 'assign the passed attributes' do
162
- object = Example.new price: '$5'
220
+ object = SpecSupport::Example.new price: '$5'
163
221
 
164
222
  expect(object.price).to eq '$5'
165
223
  end
166
224
 
167
225
  it 'ignores invalid attributes' do
168
- expect { Example.new invalid: 'attribute' }.not_to raise_error
226
+ expect { SpecSupport::Example.new invalid: 'attribute' }.not_to raise_error
169
227
  end
170
228
 
171
229
  it 'handles HashWithIndifferentAccess hashes' do
172
230
  hash = ActiveSupport::HashWithIndifferentAccess.new 'price' => '$5'
173
- object = Example.new hash
231
+ object = SpecSupport::Example.new hash
174
232
 
175
233
  expect(object.price).to eq '$5'
176
234
  end
@@ -178,7 +236,7 @@ module MiniForm
178
236
 
179
237
  describe '#attributes' do
180
238
  it 'returns attributes' do
181
- object = Example.new name: 'iPhone', price: '$5'
239
+ object = SpecSupport::Example.new name: 'iPhone', price: '$5'
182
240
  expect(object.attributes).to eq name: 'iPhone', price: '$5'
183
241
  end
184
242
  end
@@ -186,14 +244,14 @@ module MiniForm
186
244
  ['attributes=', 'assign_attributes'].each do |method_name|
187
245
  describe "##{method_name}" do
188
246
  it 'sets attributes' do
189
- object = Example.new
247
+ object = SpecSupport::Example.new
190
248
  object.public_send method_name, name: 'iPhone', price: '$5'
191
249
 
192
250
  expect(object.attributes).to eq name: 'iPhone', price: '$5'
193
251
  end
194
252
 
195
253
  it 'ignores not listed attributes' do
196
- object = Example.new
254
+ object = SpecSupport::Example.new
197
255
  object.public_send method_name, invalid: 'value'
198
256
 
199
257
  expect(object.attributes).to eq name: nil, price: nil
@@ -202,38 +260,20 @@ module MiniForm
202
260
  end
203
261
 
204
262
  describe '#update' do
205
- ExampleForUpdate = Class.new do
206
- include Model
207
-
208
- attributes :name
209
-
210
- validates :name, presence: true
211
- end
212
-
213
- ExampleForSave = Class.new do
214
- include Model
215
-
216
- model :user, attributes: %i(name), save: true
217
-
218
- def initialize(user:)
219
- self.user = user
220
- end
221
- end
222
-
223
263
  it 'updates attributes' do
224
- object = ExampleForUpdate.new name: 'value'
264
+ object = SpecSupport::ExampleForUpdate.new name: 'value'
225
265
 
226
266
  expect { object.update(name: 'new value') }.to change { object.name }.to 'new value'
227
267
  end
228
268
 
229
269
  it 'returns true when validations pass' do
230
- object = ExampleForUpdate.new name: 'value'
270
+ object = SpecSupport::ExampleForUpdate.new name: 'value'
231
271
 
232
272
  expect(object.update).to eq true
233
273
  end
234
274
 
235
275
  it 'calls "perfom" method when validation pass' do
236
- object = ExampleForUpdate.new name: 'value'
276
+ object = SpecSupport::ExampleForUpdate.new name: 'value'
237
277
 
238
278
  allow(object).to receive(:perform)
239
279
 
@@ -243,7 +283,7 @@ module MiniForm
243
283
  end
244
284
 
245
285
  it 'calls "save" for the model' do
246
- object = ExampleForSave.new user: user
286
+ object = SpecSupport::ExampleForSave.new user: user
247
287
 
248
288
  allow(user).to receive(:save!)
249
289
 
@@ -253,7 +293,7 @@ module MiniForm
253
293
  end
254
294
 
255
295
  it 'supports update callbacks' do
256
- object = ExampleForUpdate.new name: 'value'
296
+ object = SpecSupport::ExampleForUpdate.new name: 'value'
257
297
 
258
298
  allow(object).to receive(:before_update)
259
299
  allow(object).to receive(:after_update)
@@ -265,7 +305,7 @@ module MiniForm
265
305
  end
266
306
 
267
307
  it 'supports legacy assig callbacks' do
268
- object = ExampleForUpdate.new
308
+ object = SpecSupport::ExampleForUpdate.new
269
309
 
270
310
  allow(object).to receive(:before_assigment)
271
311
  allow(object).to receive(:after_assigment)
@@ -277,7 +317,7 @@ module MiniForm
277
317
  end
278
318
 
279
319
  it 'supports assign callbacks' do
280
- object = ExampleForUpdate.new
320
+ object = SpecSupport::ExampleForUpdate.new
281
321
 
282
322
  allow(object).to receive(:before_assignment)
283
323
  allow(object).to receive(:after_assignment)
@@ -289,13 +329,13 @@ module MiniForm
289
329
  end
290
330
 
291
331
  it 'returns false when validations fail' do
292
- object = ExampleForUpdate.new name: nil
332
+ object = SpecSupport::ExampleForUpdate.new name: nil
293
333
 
294
334
  expect(object.update).to eq false
295
335
  end
296
336
 
297
337
  it 'does not call "perfom" method when validation fail' do
298
- object = ExampleForUpdate.new name: nil
338
+ object = SpecSupport::ExampleForUpdate.new name: nil
299
339
 
300
340
  allow(object).to receive(:perform)
301
341
 
@@ -307,12 +347,12 @@ module MiniForm
307
347
 
308
348
  describe '#update!' do
309
349
  it 'returns self' do
310
- object = Example.new
350
+ object = SpecSupport::Example.new
311
351
  expect(object.update!).to eq object
312
352
  end
313
353
 
314
354
  it 'calls update with given arguments' do
315
- object = Example.new
355
+ object = SpecSupport::Example.new
316
356
 
317
357
  allow(object).to receive(:update).and_return true
318
358
 
@@ -322,7 +362,7 @@ module MiniForm
322
362
  end
323
363
 
324
364
  it 'raises error when update fails' do
325
- object = Example.new
365
+ object = SpecSupport::Example.new
326
366
 
327
367
  allow(object).to receive(:update).and_return false
328
368
 
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/setup'
2
4
 
3
5
  if ENV['TRAVIS']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Radoslav Stankov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-09 00:00:00.000000000 Z
11
+ date: 2024-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -56,30 +56,30 @@ dependencies:
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: '2.14'
61
+ version: 3.12.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: '2.14'
68
+ version: 3.12.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-mocks
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 2.12.3
75
+ version: 3.12.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 2.12.3
82
+ version: 3.12.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: coveralls
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -129,11 +129,11 @@ executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
+ - ".github/workflows/ci.yml"
132
133
  - ".gitignore"
133
134
  - ".projections.json"
134
135
  - ".rspec"
135
136
  - ".rubocop.yml"
136
- - ".travis.yml"
137
137
  - CHANGELOG.md
138
138
  - Gemfile
139
139
  - LICENSE.txt
@@ -167,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  - !ruby/object:Gem::Version
168
168
  version: '0'
169
169
  requirements: []
170
- rubygems_version: 3.1.4
170
+ rubygems_version: 3.3.7
171
171
  signing_key:
172
172
  specification_version: 4
173
173
  summary: Easy to use form objects in Rails projects
data/.travis.yml DELETED
@@ -1,12 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.5
4
- - 2.3.3
5
- - 2.4.0
6
- script:
7
- - bundle exec rubocop
8
- - bundle exec rspec spec
9
- sudo: false
10
- cache: bundle
11
- notifications:
12
- email: false