enumerate_it 3.3.0 → 4.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: 9b90c459a95ec327cbd699627f1d3138534973d110341a9578fad036b64f8fe6
4
- data.tar.gz: f9fe475a8601491e9ebe8b908460630655109350aca3c53b7b346ce77ebcee0a
3
+ metadata.gz: 57b418cb6e9cf24f8b935c898004ddc62ba373f9c03b4c3df600339a26e7d16e
4
+ data.tar.gz: 4625233483bf656e0e75d9d116dff98fb1801f31e348c54e643bd501081da1fd
5
5
  SHA512:
6
- metadata.gz: 7a93a55f4c43f1f18e4d3162f7de7edef091c7bf1b94b331e1251f041d9fc41d7df7ca1e36ac210eb989890e3f8f9da1a0bddc374e546decc72f9f0cbe6e8f98
7
- data.tar.gz: 59e02b301cb593851fbd05c203a132bcbd178039538c2a5a090547d4df68f829e770d1fda80cfbd176a304b99b4239c1a0ac8c802f0cb30de44d1c2bc935b7c1
6
+ metadata.gz: af19adb823775b00e138df51023b4a724219e9c12958218fb63cbea843fecb0ce8a97657a3ec6aceca2d2db4818b9415c6a94f5105bb31dbca415b542acf3158
7
+ data.tar.gz: bbaab168f1ba3c5199eced5b46244dae3499b459a8941d9719a3f264cc5a08d46c2d5356aae9381a686c46bce0cc43df6a4230ae2e4fe8266f4bb5a8335ae708
@@ -9,58 +9,15 @@ jobs:
9
9
 
10
10
  matrix:
11
11
  ruby:
12
- - 2.5
13
- - 2.6
14
- - 2.7
15
12
  - 3.0
16
13
  - 3.1
17
14
  - 3.2
18
15
  - 3.3
19
16
  gemfile:
20
- - gemfiles/rails_5.0.gemfile
21
- - gemfiles/rails_5.1.gemfile
22
- - gemfiles/rails_5.2.gemfile
23
17
  - gemfiles/rails_6.0.gemfile
24
18
  - gemfiles/rails_6.1.gemfile
25
19
  - gemfiles/rails_7.0.gemfile
26
20
  - gemfiles/rails_7.1.gemfile
27
- exclude:
28
- # Rails < 6 does not support Ruby 3+:
29
- # https://github.com/rails/rails/issues/40938#issuecomment-751357907
30
- - ruby: 3.0
31
- gemfile: gemfiles/rails_5.0.gemfile
32
- - ruby: 3.0
33
- gemfile: gemfiles/rails_5.1.gemfile
34
- - ruby: 3.0
35
- gemfile: gemfiles/rails_5.2.gemfile
36
- - ruby: 3.1
37
- gemfile: gemfiles/rails_5.0.gemfile
38
- - ruby: 3.1
39
- gemfile: gemfiles/rails_5.1.gemfile
40
- - ruby: 3.1
41
- gemfile: gemfiles/rails_5.2.gemfile
42
- - ruby: 3.2
43
- gemfile: gemfiles/rails_5.0.gemfile
44
- - ruby: 3.2
45
- gemfile: gemfiles/rails_5.1.gemfile
46
- - ruby: 3.2
47
- gemfile: gemfiles/rails_5.2.gemfile
48
- - ruby: 3.3
49
- gemfile: gemfiles/rails_5.0.gemfile
50
- - ruby: 3.3
51
- gemfile: gemfiles/rails_5.1.gemfile
52
- - ruby: 3.3
53
- gemfile: gemfiles/rails_5.2.gemfile
54
-
55
- # Rails 7.x requires Ruby 2.7+
56
- - ruby: 2.5
57
- gemfile: gemfiles/rails_7.0.gemfile
58
- - ruby: 2.5
59
- gemfile: gemfiles/rails_7.1.gemfile
60
- - ruby: 2.6
61
- gemfile: gemfiles/rails_7.0.gemfile
62
- - ruby: 2.6
63
- gemfile: gemfiles/rails_7.1.gemfile
64
21
 
65
22
  env:
66
23
  BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
data/.rubocop.yml CHANGED
@@ -8,7 +8,7 @@ inherit_mode:
8
8
 
9
9
  AllCops:
10
10
  NewCops: enable
11
- TargetRubyVersion: 2.5
11
+ TargetRubyVersion: 3.0
12
12
 
13
13
  Exclude:
14
14
  - 'lib/generators/enumerate_it/enum/templates/**/*'
data/Appraisals CHANGED
@@ -4,7 +4,7 @@ require 'json'
4
4
  rails_versions = JSON.parse(Net::HTTP.get(URI('https://rubygems.org/api/v1/versions/rails.json')))
5
5
  .group_by { |version| version['number'] }.keys.grep_v(/rc|racecar|beta|pre/)
6
6
 
7
- %w[5.0 5.1 5.2 6.0 6.1 7.0 7.1].each do |rails_version|
7
+ %w[6.0 6.1 7.0 7.1].each do |rails_version|
8
8
  appraise "rails_#{rails_version}" do
9
9
  current_version = rails_versions
10
10
  .select { |key| key.match(/\A#{rails_version}/) }
@@ -13,17 +13,6 @@ rails_versions = JSON.parse(Net::HTTP.get(URI('https://rubygems.org/api/v1/versi
13
13
  gem 'activesupport', "~> #{current_version}"
14
14
  gem 'activerecord', "~> #{current_version}"
15
15
 
16
- if Gem::Version.new(rails_version) <= Gem::Version.new(5.0)
17
- gem 'sqlite3', '< 1.4'
18
- else
19
- # v2.x isn't yet working. See: https://github.com/sparklemotion/sqlite3-ruby/issues/529
20
- gem 'sqlite3', '< 2'
21
- end
22
-
23
- # elsif Gem::Version.new(RUBY_VERSION) < '3'
24
- # gem 'sqlite3', '< 2'
25
- # else
26
- # gem 'sqlite3'
27
- # end
16
+ gem 'sqlite3', '< 2' # v2.x isn't yet working. See: https://github.com/sparklemotion/sqlite3-ruby/issues/529
28
17
  end
29
18
  end
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enumerate_it (3.3.0)
5
- activesupport (>= 5.0.7.2)
4
+ enumerate_it (4.0.0)
5
+ activesupport (>= 6.0.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -44,7 +44,7 @@ GEM
44
44
  minitest (5.22.3)
45
45
  mutex_m (0.2.0)
46
46
  parallel (1.24.0)
47
- parser (3.3.0.5)
47
+ parser (3.3.1.0)
48
48
  ast (~> 2.4.1)
49
49
  racc
50
50
  pry (0.14.2)
@@ -68,7 +68,7 @@ GEM
68
68
  diff-lcs (>= 1.2.0, < 2.0)
69
69
  rspec-support (~> 3.13.0)
70
70
  rspec-support (3.13.1)
71
- rubocop (1.63.2)
71
+ rubocop (1.63.3)
72
72
  json (~> 2.3)
73
73
  language_server-protocol (>= 3.17.0)
74
74
  parallel (~> 1.10)
@@ -120,4 +120,4 @@ DEPENDENCIES
120
120
  sqlite3 (< 2)
121
121
 
122
122
  BUNDLED WITH
123
- 2.4.19
123
+ 2.5.9
data/README.md CHANGED
@@ -8,7 +8,8 @@ Enumerations for Ruby with some magic powers! 🎩
8
8
  [![Downloads](https://img.shields.io/gem/dt/enumerate_it.svg)](https://rubygems.org/gems/enumerate_it)
9
9
  [![Changelog](https://img.shields.io/badge/changelog--brightgreen.svg?style=flat)](https://github.com/lucascaton/enumerate_it/releases)
10
10
 
11
- **EnumerateIt** helps you to declare and use enumerations in a very simple and flexible way.
11
+ **EnumerateIt** helps you to declare and use enumerations in a very simple and
12
+ flexible way.
12
13
 
13
14
  ### Why would I want a gem if Rails already has native enumerations support?
14
15
 
@@ -21,16 +22,27 @@ so you can **add behaviour** and also **reuse** them! 😀
21
22
 
22
23
  <!-- Tocer[start]: Auto-generated, don't remove. -->
23
24
 
24
- - [Installation](#installation)
25
- - [Using with Rails](#using-with-rails)
26
- - [Creating enumerations](#creating-enumerations)
27
- - [Sorting enumerations](#sorting-enumerations)
28
- - [Using enumerations](#using-enumerations)
29
- - [FAQ](#faq)
30
- - [I18n](#i18n)
31
- - [Translate a name-spaced enumeration](#translate-a-name-spaced-enumeration)
32
- - [Handling a legacy database](#handling-a-legacy-database)
33
- - [Changelog](#changelog)
25
+ ## Table of Contents
26
+
27
+ - [EnumerateIt](#enumerateit)
28
+ - [Why would I want a gem if Rails already has native enumerations support?](#why-would-i-want-a-gem-if-rails-already-has-native-enumerations-support)
29
+ - [Table of Contents](#table-of-contents)
30
+ - [Installation](#installation)
31
+ - [Using with Rails](#using-with-rails)
32
+ - [Creating enumerations](#creating-enumerations)
33
+ - [Sorting enumerations](#sorting-enumerations)
34
+ - [Using enumerations](#using-enumerations)
35
+ - [FAQ](#faq)
36
+ - [Why define enumerations outside the class that uses them?](#why-define-enumerations-outside-the-class-that-uses-them)
37
+ - [Can I use `enumerate_it` gem without Rails?](#can-i-use-enumerate_it-gem-without-rails)
38
+ - [What versions of Ruby and Rails are supported?](#what-versions-of-ruby-and-rails-are-supported)
39
+ - [Can I set a value to always be at the end of a sorted list?](#can-i-set-a-value-to-always-be-at-the-end-of-a-sorted-list)
40
+ - [I18n](#i18n)
41
+ - [Translate a name-spaced enumeration](#translate-a-name-spaced-enumeration)
42
+ - [Handling a legacy database](#handling-a-legacy-database)
43
+ - [Changelog](#changelog)
44
+ - [Note on Patches/Pull Requests](#note-on-patchespull-requests)
45
+ - [Copyright](#copyright)
34
46
 
35
47
  <!-- Tocer[finish]: Auto-generated, don't remove. -->
36
48
 
@@ -56,10 +68,11 @@ rails generate enumerate_it:enum --help
56
68
 
57
69
  ## Creating enumerations
58
70
 
59
- Enumerations are created as classes and you should put them inside `app/enumerations` folder.
71
+ Enumerations are created as classes and you should put them inside
72
+ `app/enumerations` folder.
60
73
 
61
- You can pass an array of symbols, so that the respective value for each symbol will be the
62
- stringified version of the symbol itself:
74
+ You can pass an array of symbols, so that the respective value for each symbol
75
+ will be the stringified version of the symbol itself:
63
76
 
64
77
  ```ruby
65
78
  class RelationshipStatus < EnumerateIt::Base
@@ -73,7 +86,7 @@ end
73
86
 
74
87
  This will create some nice stuff:
75
88
 
76
- * Each enumeration's value will turn into a constant:
89
+ - Each enumeration's value will turn into a constant:
77
90
 
78
91
  ```ruby
79
92
  RelationshipStatus::SINGLE
@@ -83,68 +96,68 @@ This will create some nice stuff:
83
96
  #=> 'married'
84
97
  ```
85
98
 
86
- * You can retrieve a list with all the enumeration codes:
99
+ - You can retrieve a list with all the enumeration codes:
87
100
 
88
101
  ```ruby
89
102
  RelationshipStatus.list
90
103
  #=> ['divorced', 'married', 'single']
91
104
  ```
92
105
 
93
- * You can retrieve a JSON with all the enumeration codes:
106
+ - You can retrieve a JSON with all the enumeration codes:
94
107
 
95
108
  ```ruby
96
109
  RelationshipStatus.to_json
97
110
  #=> "[{\"value\":\"divorced\",\"label\":\"Divorced\"},{\"value\":\"married\", ...
98
111
  ```
99
112
 
100
- * You can get an array of options, ready to use with the `select`, `select_tag`, etc. family of
101
- Rails helpers.
113
+ - You can get an array of options, ready to use with the `select`, `select_tag`,
114
+ etc. family of Rails helpers.
102
115
 
103
116
  ```ruby
104
117
  RelationshipStatus.to_a
105
118
  #=> [['Divorced', 'divorced'], ['Married', 'married'], ['Single', 'single']]
106
119
  ```
107
120
 
108
- * You can retrieve a list with values for a group of enumeration constants.
121
+ - You can retrieve a list with values for a group of enumeration constants.
109
122
 
110
123
  ```ruby
111
124
  RelationshipStatus.values_for %w(MARRIED SINGLE)
112
125
  #=> ['married', 'single']
113
126
  ```
114
127
 
115
- * You can retrieve the value for a specific enumeration constant:
128
+ - You can retrieve the value for a specific enumeration constant:
116
129
 
117
130
  ```ruby
118
131
  RelationshipStatus.value_for('MARRIED')
119
132
  #=> 'married'
120
133
  ```
121
134
 
122
- * You can retrieve the symbol used to declare a specific enumeration value:
135
+ - You can retrieve the symbol used to declare a specific enumeration value:
123
136
 
124
137
  ```ruby
125
138
  RelationshipStatus.key_for(RelationshipStatus::MARRIED)
126
139
  #=> :married
127
140
  ```
128
141
 
129
- * You can iterate over the list of the enumeration's values:
142
+ - You can iterate over the list of the enumeration's values:
130
143
 
131
144
  ```ruby
132
145
  RelationshipStatus.each_value { |value| ... }
133
146
  ```
134
147
 
135
- * You can iterate over the list of the enumeration's translations:
148
+ - You can iterate over the list of the enumeration's translations:
136
149
 
137
150
  ```ruby
138
151
  RelationshipStatus.each_translation { |translation| ... }
139
152
  ```
140
153
 
141
- * You can also retrieve all the translations of the enumeration:
154
+ - You can also retrieve all the translations of the enumeration:
142
155
 
143
156
  ```ruby
144
157
  RelationshipStatus.translations
145
158
  ```
146
159
 
147
- * You can ask for the enumeration's length:
160
+ - You can ask for the enumeration's length:
148
161
 
149
162
  ```ruby
150
163
  RelationshipStatus.length
@@ -153,11 +166,11 @@ This will create some nice stuff:
153
166
 
154
167
  ### Sorting enumerations
155
168
 
156
- When calling methods like `to_a`, `to_json` and `list`, the returned values will be sorted by
157
- default in the same order passed to `associate_values` call.
158
-
159
- However, if you want to overwrite the default sort mode, you can use the `sort_by` class method:
169
+ When calling methods like `to_a`, `to_json` and `list`, the returned values will
170
+ be sorted by default in the same order passed to `associate_values` call.
160
171
 
172
+ However, if you want to overwrite the default sort mode, you can use the
173
+ `sort_by` class method:
161
174
 
162
175
  ```ruby
163
176
  class RelationshipStatus < EnumerateIt::Base
@@ -197,14 +210,15 @@ class Person
197
210
  end
198
211
  ```
199
212
 
200
- > **Note:** **EnumerateIt** will try to load an enumeration class based on the camelized attribute
201
- > name. If you have a different name, you can specify it by using the `with` option:
213
+ > **Note:** **EnumerateIt** will try to load an enumeration class based on the
214
+ > camelized attribute name. If you have a different name, you can specify it by
215
+ > using the `with` option:
202
216
  >
203
217
  > `has_enumeration_for :relationship_status, with: RelationshipStatus`
204
218
 
205
219
  This will create:
206
220
 
207
- * A "humanized" version of the hash's key to humanize the attribute's value:
221
+ - A "humanized" version of the hash's key to humanize the attribute's value:
208
222
 
209
223
  ```ruby
210
224
  p = Person.new
@@ -213,8 +227,8 @@ This will create:
213
227
  #=> 'Divorced'
214
228
  ```
215
229
 
216
- * A translation for your options, if you include a locale to represent it
217
- (see more in the [I18n section](#i18n)).
230
+ - A translation for your options, if you include a locale to represent it (see
231
+ more in the [I18n section](#i18n)).
218
232
 
219
233
  ```ruby
220
234
  p = Person.new
@@ -223,14 +237,16 @@ This will create:
223
237
  #=> 'Divorciado'
224
238
  ```
225
239
 
226
- * The associated enumerations, which can be retrieved with the `enumerations` class method:
240
+ - The associated enumerations, which can be retrieved with the `enumerations`
241
+ class method:
227
242
 
228
243
  ```ruby
229
244
  Person.enumerations
230
245
  #=> { relationship_status: RelationshipStatus }
231
246
  ```
232
247
 
233
- * A helper method for each enumeration option, if you pass the `create_helpers` option as `true`:
248
+ - A helper method for each enumeration option, if you pass the `create_helpers`
249
+ option as `true`:
234
250
 
235
251
  ```ruby
236
252
  class Person < ApplicationRecord
@@ -247,8 +263,9 @@ This will create:
247
263
  #=> false
248
264
  ```
249
265
 
250
- It's also possible to "namespace" the created helper methods, passing a hash to the `create_helpers`
251
- option. This can be useful when two or more of the enumerations used share the same constants:
266
+ It's also possible to "namespace" the created helper methods, passing a hash
267
+ to the `create_helpers` option. This can be useful when two or more of the
268
+ enumerations used share the same constants:
252
269
 
253
270
  ```ruby
254
271
  class Person < ApplicationRecord
@@ -266,8 +283,8 @@ This will create:
266
283
  #=> false
267
284
  ```
268
285
 
269
- You can define polymorphic behavior for the enumeration values, so you can define a class for each
270
- of them:
286
+ You can define polymorphic behavior for the enumeration values, so you can
287
+ define a class for each of them:
271
288
 
272
289
  ```ruby
273
290
  class RelationshipStatus < EnumerateIt::Base
@@ -312,8 +329,8 @@ This will create:
312
329
  p.relationship_status_mode.saturday_night
313
330
  ```
314
331
 
315
- The `create_helpers` also creates some mutator helper methods, that can be used to change the
316
- attribute's value.
332
+ The `create_helpers` also creates some mutator helper methods, that can be
333
+ used to change the attribute's value.
317
334
 
318
335
  ```ruby
319
336
  p = Person.new
@@ -323,7 +340,8 @@ This will create:
323
340
  #=> true
324
341
  ```
325
342
 
326
- * A scope method for each enumeration option if you pass the `create_scopes` option as `true`:
343
+ - A scope method for each enumeration option if you pass the `create_scopes`
344
+ option as `true`:
327
345
 
328
346
  ```ruby
329
347
  class Person < ApplicationRecord
@@ -345,7 +363,7 @@ This will create:
345
363
  Person.relationship_status_married.to_sql
346
364
  ```
347
365
 
348
- * An inclusion validation (if your class can manage validations and responds to
366
+ - An inclusion validation (if your class can manage validations and responds to
349
367
  `validates_inclusion_of`):
350
368
 
351
369
  ```ruby
@@ -360,7 +378,7 @@ This will create:
360
378
  #=> 'is not included in the list'
361
379
  ```
362
380
 
363
- * A presence validation (if your class can manage validations and responds to
381
+ - A presence validation (if your class can manage validations and responds to
364
382
  `validates_presence_of` and you pass the `required` options as `true`):
365
383
 
366
384
  ```ruby
@@ -375,7 +393,8 @@ This will create:
375
393
  #=> "can't be blank"
376
394
  ```
377
395
 
378
- If you pass the `skip_validation` option as `true`, it will not create any validations:
396
+ If you pass the `skip_validation` option as `true`, it will not create any
397
+ validations:
379
398
 
380
399
  ```ruby
381
400
  class Person < ApplicationRecord
@@ -387,15 +406,16 @@ This will create:
387
406
  #=> true
388
407
  ```
389
408
 
390
- Remember that you can add validations to any kind of class and not only `ActiveRecord` ones.
409
+ Remember that you can add validations to any kind of class and not only
410
+ `ActiveRecord` ones.
391
411
 
392
412
  ## FAQ
393
413
 
394
414
  #### Why define enumerations outside the class that uses them?
395
415
 
396
- * It's clearer.
397
- * You can add behaviour to the enumeration class.
398
- * You can reuse the enumeration inside other classes.
416
+ - It's clearer.
417
+ - You can add behaviour to the enumeration class.
418
+ - You can reuse the enumeration inside other classes.
399
419
 
400
420
  #### Can I use `enumerate_it` gem without Rails?
401
421
 
@@ -403,20 +423,22 @@ You sure can! 😄
403
423
 
404
424
  #### What versions of Ruby and Rails are supported?
405
425
 
406
- * **Ruby**: `2.5+`
407
- * **Rails** `5.0+`
426
+ - **Ruby**: `3.0+`
427
+ - **Rails** `6.0+`
408
428
 
409
429
  All versions are tested via
410
430
  [GitHub Actions](https://github.com/lucascaton/enumerate_it/blob/HEAD/.github/workflows/ci.yml).
411
431
 
412
432
  #### Can I set a value to always be at the end of a sorted list?
413
433
 
414
- Yes, [see more details here](https://github.com/lucascaton/enumerate_it/issues/60).
434
+ Yes,
435
+ [see more details here](https://github.com/lucascaton/enumerate_it/issues/60).
415
436
 
416
437
  ## I18n
417
438
 
418
- I18n lookup is provided on both `_humanized` and `Enumeration#to_a` methods, given the hash key is
419
- a Symbol. The I18n strings are located on `enumerations.<enumeration_name>.<key>`:
439
+ I18n lookup is provided on both `_humanized` and `Enumeration#to_a` methods,
440
+ given the hash key is a Symbol. The I18n strings are located on
441
+ `enumerations.<enumeration_name>.<key>`:
420
442
 
421
443
  ```yaml
422
444
  # Your locale file
@@ -454,22 +476,22 @@ RelationshipStatus.t(status)
454
476
 
455
477
  ### Translate a name-spaced enumeration
456
478
 
457
- In order to translate an enumeration in a specific namespace (say `Design::Color`),
458
- you can add the following:
479
+ In order to translate an enumeration in a specific namespace (say
480
+ `Design::Color`), you can add the following:
459
481
 
460
482
  ```yaml
461
483
  pt-BR:
462
484
  enumerations:
463
- 'design/color':
485
+ "design/color":
464
486
  blue: Azul
465
487
  red: Vermelho
466
488
  ```
467
489
 
468
490
  ## Handling a legacy database
469
491
 
470
- **EnumerateIt** can help you build a Rails application around a legacy database which was filled
471
- with those small and unchangeable tables used to create foreign key constraints everywhere, like the
472
- following example:
492
+ **EnumerateIt** can help you build a Rails application around a legacy database
493
+ which was filled with those small and unchangeable tables used to create foreign
494
+ key constraints everywhere, like the following example:
473
495
 
474
496
  ```sql
475
497
  Table "public.relationship_status"
@@ -491,14 +513,16 @@ code | description
491
513
  3 | Divorced
492
514
  ```
493
515
 
494
- You might also have something like a `users` table with a `relationship_status` column and a foreign
495
- key pointing to the `relationship_status` table.
516
+ You might also have something like a `users` table with a `relationship_status`
517
+ column and a foreign key pointing to the `relationship_status` table.
496
518
 
497
- While this is a good thing from the database normalization perspective, managing these values in
498
- tests is very hard. Doing database joins just to get the description of some value is absurd.
499
- And, more than this, referencing them in the code using
500
- [magic numbers](https://en.wikipedia.org/wiki/Magic_number_(programming)) was terrible and
501
- meaningless: what does it mean when we say that someone or something is `2`?
519
+ While this is a good thing from the database normalization perspective, managing
520
+ these values in tests is very hard. Doing database joins just to get the
521
+ description of some value is absurd. And, more than this, referencing them in
522
+ the code using
523
+ [magic numbers](<https://en.wikipedia.org/wiki/Magic_number_(programming)>) was
524
+ terrible and meaningless: what does it mean when we say that someone or
525
+ something is `2`?
502
526
 
503
527
  To solve this, you can pass a **hash** to your enumeration values:
504
528
 
@@ -526,14 +550,18 @@ you can see them on the [releases page](../../releases).
526
550
 
527
551
  ## Note on Patches/Pull Requests
528
552
 
529
- * Fork the project.
530
- * Make your feature addition or bug fix.
531
- * Add tests for it. This is important so we don't break it in a future version unintentionally.
532
- * [Optional] Run the tests against a specific Gemfile: `$ bundle exec appraisal rails_7.0 rake spec`.
533
- * Run the tests against all supported versions: `$ bundle exec rake` (or `$ bundle exec wwtd`)
534
- * Commit, but please do not mess with `Rakefile`, version, or history.
535
- * Send a Pull Request. Bonus points for topic branches.
553
+ - Fork the project.
554
+ - Make your feature addition or bug fix.
555
+ - Add tests for it. This is important so we don't break it in a future version
556
+ unintentionally.
557
+ - [Optional] Run the tests against a specific Gemfile:
558
+ `$ bundle exec appraisal rails_7.0 rake spec`.
559
+ - Run the tests against all supported versions: `$ bundle exec rake` (or
560
+ `$ bundle exec wwtd`)
561
+ - Commit, but please do not mess with `Rakefile`, version, or history.
562
+ - Send a Pull Request. Bonus points for topic branches.
536
563
 
537
564
  ## Copyright
538
565
 
539
- Copyright (c) 2010-2024 Cássio Marques and Lucas Caton. See `LICENSE` file for details.
566
+ Copyright (c) 2010-2024 Cássio Marques and Lucas Caton. See `LICENSE` file for
567
+ details.
data/enumerate_it.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.name = 'enumerate_it'
13
13
  gem.require_paths = ['lib']
14
14
  gem.version = EnumerateIt::VERSION
15
- gem.required_ruby_version = '>= 2.5.8'
15
+ gem.required_ruby_version = '>= 3.0.0'
16
16
 
17
17
  gem.metadata = {
18
18
  'source_code_uri' => 'https://github.com/lucascaton/enumerate_it',
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
20
20
  'rubygems_mfa_required' => 'true'
21
21
  }
22
22
 
23
- gem.add_dependency 'activesupport', '>= 5.0.7.2'
23
+ gem.add_dependency 'activesupport', '>= 6.0.0'
24
24
 
25
25
  gem.add_development_dependency 'activerecord'
26
26
  gem.add_development_dependency 'appraisal'
@@ -1,3 +1,3 @@
1
1
  module EnumerateIt
2
- VERSION = '3.3.0'.freeze
2
+ VERSION = '4.0.0'.freeze
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,7 @@ require 'enumerate_it'
5
5
  require 'active_support/all'
6
6
  require 'active_record'
7
7
 
8
- Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
8
+ Dir['./spec/support/**/*.rb'].each { |f| require f }
9
9
 
10
10
  I18n.config.enforce_available_locales = false
11
11
  I18n.load_path = Dir['spec/i18n/*.yml']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enumerate_it
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cássio Marques
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-04-21 00:00:00.000000000 Z
12
+ date: 2024-04-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 5.0.7.2
20
+ version: 6.0.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 5.0.7.2
27
+ version: 6.0.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activerecord
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -184,9 +184,6 @@ files:
184
184
  - README.md
185
185
  - Rakefile
186
186
  - enumerate_it.gemspec
187
- - gemfiles/rails_5.0.gemfile
188
- - gemfiles/rails_5.1.gemfile
189
- - gemfiles/rails_5.2.gemfile
190
187
  - gemfiles/rails_6.0.gemfile
191
188
  - gemfiles/rails_6.1.gemfile
192
189
  - gemfiles/rails_7.0.gemfile
@@ -220,14 +217,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
220
217
  requirements:
221
218
  - - ">="
222
219
  - !ruby/object:Gem::Version
223
- version: 2.5.8
220
+ version: 3.0.0
224
221
  required_rubygems_version: !ruby/object:Gem::Requirement
225
222
  requirements:
226
223
  - - ">="
227
224
  - !ruby/object:Gem::Version
228
225
  version: '0'
229
226
  requirements: []
230
- rubygems_version: 3.5.3
227
+ rubygems_version: 3.5.9
231
228
  signing_key:
232
229
  specification_version: 4
233
230
  summary: Ruby Enumerations
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord', '~> 5.0.7.2'
6
- gem 'activesupport', '~> 5.0.7.2'
7
- gem 'sqlite3', '< 1.4'
8
-
9
- gemspec path: '../'
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord', '~> 5.1.7'
6
- gem 'activesupport', '~> 5.1.7'
7
- gem 'sqlite3', '< 2'
8
-
9
- gemspec path: '../'
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord', '~> 5.2.8.1'
6
- gem 'activesupport', '~> 5.2.8.1'
7
- gem 'sqlite3', '< 2'
8
-
9
- gemspec path: '../'