formalism-model_forms 0.10.1 → 1.0.0

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: 2c93c474a47b8735533c3f4fc4e79b929b02b4efc750f60df009f6820248ac89
4
- data.tar.gz: 14b5260166be4ff58d16b8770f7a6f224c9e90a398b8206eb075d7e490ff56a8
3
+ metadata.gz: 797da74afbd5ba8438e18099cc2ed8c626dc075281893c2b5c42d467a10638c6
4
+ data.tar.gz: 0efbdaebca1a198b8976b3e27274121a5f35588121091d816fd2022008045f28
5
5
  SHA512:
6
- metadata.gz: b356d3919e9cf90ae97e451d71825bca3b57689e34fb97acf871459aa8e10e05429862c0b349b8cd0ae19983ea20bba33ef8a14edbf1d9887ba6be53f0007ca4
7
- data.tar.gz: 18ba2cfe752aca2e86f278ce6f86ff7a7ef6f1d2c05e589719cf20f617de8c3d48f8357a0f978aca3a7718a3bbc744a089ec7b9022e379ee5edc95a554c49f23
6
+ metadata.gz: 2a3749bb0800b5a6b01dd82d86cfcd3bc20377c2c1da7eef57fa15dfe5c638ccd7c39e730114d1977636f306eba0a2914f4ead6eb211eb9e28471c56b7e10750
7
+ data.tar.gz: d9d0c2ae4c40149868760328254d95008b3d2557ccf9b168e0c45f33adb86b33882c5215f33e34b91faaa43ec8b61d094b62dbe550ebd1c7e97ee24beb72a683
data/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.0.0 (2026-02-16)
6
+
7
+ * Drop Ruby 3.0 and 3.1 support.
8
+ * Add Ruby 4.0 support.
9
+ * Update runtime dependencies.
10
+ * Update development dependencies.
11
+ * Resolve new RuboCop offenses.
12
+ * Improve CI config.
13
+
14
+ ## 0.11.0 (2025-01-06)
15
+
16
+ * Drop Ruby 2.6 and 2.7 support.
17
+ * Add Ruby 3.2, 3.3 and 3.4 support.
18
+ * Lock Ruby version more strict.
19
+ There can be breaking changes in minor updates.
20
+ * Update `formalism` to a new version with fix for `Find` form.
21
+ * Update development dependencies.
22
+ * Resolve new RuboCop offenses.
23
+ * Move development dependencies from `gemspec` into `Gemfile`.
24
+
5
25
  ## 0.10.1 (2022-09-24)
6
26
 
7
27
  * Allow `gorilla_patch` version 5.
@@ -15,6 +15,7 @@ module Formalism
15
15
 
16
16
  # TODO: Check
17
17
  extend Forwardable
18
+
18
19
  def_delegators(
19
20
  'self.class',
20
21
  :primary_field_name, :namespace, :model_name, :model, :instance_variable_name
@@ -43,10 +44,10 @@ module Formalism
43
44
 
44
45
  attr_accessor :primary_field_name
45
46
 
46
- def primary_field(name, *args, **kwargs)
47
+ def primary_field(name, *, **)
47
48
  remove_field primary_field_name if primary_field_name
48
49
 
49
- field name, *args, **kwargs
50
+ field(name, *, **)
50
51
 
51
52
  self.primary_field_name = name
52
53
  end
@@ -149,7 +150,7 @@ module Formalism
149
150
  conditions.any? ? conditions.reduce(:&) : conditions
150
151
  end
151
152
 
152
- def compare_value(instance_value, value)
153
+ def value_matched?(instance_value, value)
153
154
  ## It can be Number, nil, etc., but logic for Regexp is below
154
155
  instance_value = instance_value.to_s if value.is_a?(String) && !instance_value.is_a?(Regexp)
155
156
 
@@ -169,7 +170,7 @@ module Formalism
169
170
  self.class.fields_and_nested_forms[key].fetch(:compare_key, key)
170
171
 
171
172
  Array(values).any? do |value|
172
- compare_value instance.public_send(key), value
173
+ value_matched? instance.public_send(key), value
173
174
  end
174
175
  end
175
176
  end
@@ -11,7 +11,7 @@ module Formalism
11
11
 
12
12
  def initialize(params_or_instance = {})
13
13
  if params_or_instance.is_a?(Hash)
14
- super(params_or_instance)
14
+ super
15
15
  else
16
16
  @initialized_with_instance = true
17
17
  self.instance = params_or_instance
@@ -13,6 +13,7 @@ module Formalism
13
13
  ## Module for class methods
14
14
  module ClassMethods
15
15
  include Memery
16
+
16
17
  using GorillaPatch::Namespace
17
18
 
18
19
  memoize def namespace
@@ -20,6 +20,7 @@ module Formalism
20
20
  private
21
21
 
22
22
  POSSIBLE_DIRECTIONS = %i[up down].freeze
23
+ private_constant :POSSIBLE_DIRECTIONS
23
24
 
24
25
  def validate
25
26
  return if POSSIBLE_DIRECTIONS.include?(@direction)
@@ -27,10 +27,10 @@ module Formalism
27
27
  if pf_or_instance.is_a?(model)
28
28
  self.instance = pf_or_instance
29
29
  else
30
- public_send "#{primary_field_name}=", pf_or_instance
30
+ public_send :"#{primary_field_name}=", pf_or_instance
31
31
  end
32
32
 
33
- super params || {}
33
+ super(params || {})
34
34
  end
35
35
 
36
36
  private
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Formalism
4
4
  module ModelForms
5
- VERSION = '0.10.1'
5
+ VERSION = '1.0.0'
6
6
  end
7
7
  end
@@ -3,7 +3,7 @@
3
3
  require 'formalism'
4
4
  require 'module_methods'
5
5
 
6
- Dir["#{__dir__}/model_forms/**/*.rb"].sort.each { |file| require file }
6
+ Dir["#{__dir__}/model_forms/**/*.rb"].each { |file| require file }
7
7
 
8
8
  module Formalism
9
9
  ## Module for model forms
@@ -39,6 +39,8 @@ module Formalism
39
39
  .to_h
40
40
  .freeze
41
41
 
42
+ private_constant :FORM_CLASSES
43
+
42
44
  def define_other_model_forms(forms_namespace)
43
45
  FORM_CLASSES.each do |form_name, parent_name|
44
46
  forms_namespace::Model.class_eval(
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: formalism-model_forms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  - Ivan Tyurin
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2022-09-24 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: alt_memery
@@ -17,42 +16,42 @@ dependencies:
17
16
  requirements:
18
17
  - - "~>"
19
18
  - !ruby/object:Gem::Version
20
- version: '2.0'
19
+ version: '3.0'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - "~>"
26
25
  - !ruby/object:Gem::Version
27
- version: '2.0'
26
+ version: '3.0'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: flame-pagination
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - "~>"
33
32
  - !ruby/object:Gem::Version
34
- version: 0.3.0
33
+ version: '1.0'
35
34
  type: :runtime
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
38
  - - "~>"
40
39
  - !ruby/object:Gem::Version
41
- version: 0.3.0
40
+ version: '1.0'
42
41
  - !ruby/object:Gem::Dependency
43
42
  name: formalism
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
45
  - - "~>"
47
46
  - !ruby/object:Gem::Version
48
- version: 0.5.0
47
+ version: '1.0'
49
48
  type: :runtime
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
52
51
  requirements:
53
52
  - - "~>"
54
53
  - !ruby/object:Gem::Version
55
- version: 0.5.0
54
+ version: '1.0'
56
55
  - !ruby/object:Gem::Dependency
57
56
  name: gorilla_patch
58
57
  requirement: !ruby/object:Gem::Requirement
@@ -62,7 +61,7 @@ dependencies:
62
61
  version: '4.0'
63
62
  - - "<"
64
63
  - !ruby/object:Gem::Version
65
- version: '6'
64
+ version: '7'
66
65
  type: :runtime
67
66
  prerelease: false
68
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,21 +71,21 @@ dependencies:
72
71
  version: '4.0'
73
72
  - - "<"
74
73
  - !ruby/object:Gem::Version
75
- version: '6'
74
+ version: '7'
76
75
  - !ruby/object:Gem::Dependency
77
76
  name: module_methods
78
77
  requirement: !ruby/object:Gem::Requirement
79
78
  requirements:
80
79
  - - "~>"
81
80
  - !ruby/object:Gem::Version
82
- version: 0.1.0
81
+ version: '1.0'
83
82
  type: :runtime
84
83
  prerelease: false
85
84
  version_requirements: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - "~>"
88
87
  - !ruby/object:Gem::Version
89
- version: 0.1.0
88
+ version: '1.0'
90
89
  - !ruby/object:Gem::Dependency
91
90
  name: sequel
92
91
  requirement: !ruby/object:Gem::Requirement
@@ -101,146 +100,6 @@ dependencies:
101
100
  - - "~>"
102
101
  - !ruby/object:Gem::Version
103
102
  version: '5.0'
104
- - !ruby/object:Gem::Dependency
105
- name: pry-byebug
106
- requirement: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '3.9'
111
- type: :development
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '3.9'
118
- - !ruby/object:Gem::Dependency
119
- name: bundler
120
- requirement: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '2.0'
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '2.0'
132
- - !ruby/object:Gem::Dependency
133
- name: gem_toys
134
- requirement: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 0.12.1
139
- type: :development
140
- prerelease: false
141
- version_requirements: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 0.12.1
146
- - !ruby/object:Gem::Dependency
147
- name: toys
148
- requirement: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: 0.13.0
153
- type: :development
154
- prerelease: false
155
- version_requirements: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: 0.13.0
160
- - !ruby/object:Gem::Dependency
161
- name: rspec
162
- requirement: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '3.9'
167
- type: :development
168
- prerelease: false
169
- version_requirements: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '3.9'
174
- - !ruby/object:Gem::Dependency
175
- name: simplecov
176
- requirement: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: 0.21.0
181
- type: :development
182
- prerelease: false
183
- version_requirements: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: 0.21.0
188
- - !ruby/object:Gem::Dependency
189
- name: simplecov-cobertura
190
- requirement: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '2.1'
195
- type: :development
196
- prerelease: false
197
- version_requirements: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '2.1'
202
- - !ruby/object:Gem::Dependency
203
- name: rubocop
204
- requirement: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: 1.36.0
209
- type: :development
210
- prerelease: false
211
- version_requirements: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: 1.36.0
216
- - !ruby/object:Gem::Dependency
217
- name: rubocop-performance
218
- requirement: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '1.0'
223
- type: :development
224
- prerelease: false
225
- version_requirements: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: '1.0'
230
- - !ruby/object:Gem::Dependency
231
- name: rubocop-rspec
232
- requirement: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: '2.0'
237
- type: :development
238
- prerelease: false
239
- version_requirements: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: '2.0'
244
103
  description: 'Standard Formalism forms for Sequel Models, such like create, find,
245
104
  delete, etc.
246
105
 
@@ -273,7 +132,6 @@ metadata:
273
132
  homepage_uri: https://github.com/AlexWayfer/formalism-model_forms
274
133
  changelog_uri: https://github.com/AlexWayfer/formalism-model_forms/blob/main/CHANGELOG.md
275
134
  rubygems_mfa_required: 'true'
276
- post_install_message:
277
135
  rdoc_options: []
278
136
  require_paths:
279
137
  - lib
@@ -281,18 +139,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
139
  requirements:
282
140
  - - ">="
283
141
  - !ruby/object:Gem::Version
284
- version: '2.6'
142
+ version: '3.2'
285
143
  - - "<"
286
144
  - !ruby/object:Gem::Version
287
- version: '4'
145
+ version: '5'
288
146
  required_rubygems_version: !ruby/object:Gem::Requirement
289
147
  requirements:
290
148
  - - ">="
291
149
  - !ruby/object:Gem::Version
292
150
  version: '0'
293
151
  requirements: []
294
- rubygems_version: 3.3.7
295
- signing_key:
152
+ rubygems_version: 4.0.3
296
153
  specification_version: 4
297
154
  summary: Standard Formalism forms for Sequel Models
298
155
  test_files: []