mini_form 0.2.4 → 0.2.5

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: 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