power_enum 3.5.0 → 4.0.1

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: e2f8367b2fd4b4e5d5620725c8f8133db78fe9a3737bb00d2019546345215fc1
4
- data.tar.gz: 0ef3b6a9709516dba463b137aae4a7aab54a3374abaf6c91c7dcd87c1fc0e7a5
3
+ metadata.gz: 0d082903c63c4312b09017f253ab915ce20548fae15d69472afa0781a8880354
4
+ data.tar.gz: 726cf42b46643730d6999adb7f7ecebbbc0dd952cecca428ffaac153555cabee
5
5
  SHA512:
6
- metadata.gz: c7857ebcf50b49d544afd0acaf3f6b366cf9f022030613eafcc64eaed6befdbb53fa768ec5880ef6ccc972aca32d08cdb021d3e18a9352bcfeade06add26d25d
7
- data.tar.gz: '08b4955a6492efcc9845432d39d09b498fbb341ae69e3859e19b55d0baa3f19d0661ae7adf10dfda0aff685d22e1b66bc1fe941dbf83f928ca2a7f1d23198eae'
6
+ metadata.gz: f5c5ef9ffde3a15bea67001ad4c27763488268ed6d850f0e8a25bde2a1ce24b48e4f5db979c90aa4de95c32f9e7ac51825fc6909dd2594cb5b2dbf7de59490d3
7
+ data.tar.gz: e4ca6e0641f07b4d0357b260e17175263094f4fe8234f195082a69527ebc7384b6ecb5ee42bf7fd02f2c7322cbe816dede2d403bd494d5096cfb72d0fe0ff26f
data/README.markdown CHANGED
@@ -10,7 +10,8 @@ Enumerations for Rails Done Right.
10
10
 
11
11
  ## Versions
12
12
 
13
- * PowerEnum 3.X (this version) supports Rails 4.2, Rails 5.X and Rails 6.0
13
+ * PowerEnum 4.0.X (this version) supports Rails 6.X, and Rails 7.0 (Experimental)
14
+ * PowerEnum 3.X supports Rails 4.2, Rails 5.X and Rails 6.0
14
15
  * PowerEnum 2.X supports Rails 4.X and Rails 5.0
15
16
  * PowerEnum 1.X supports Rails 3.1/3.2, available here: https://github.com/albertosaurus/power_enum
16
17
 
@@ -29,16 +30,17 @@ At it's most basic level, it allows you to say things along the lines of:
29
30
 
30
31
  ```ruby
31
32
  # Create a provisional booking
32
- booking = Booking.new( :status => BookingStatus[:provisional] )
33
+ booking = Booking.new( status: BookingStatus[:provisional] )
33
34
  # This also works
34
- booking = Booking.new( :status => :provisional )
35
+ booking = Booking.new( status: :provisional )
35
36
  # Set the booking status to 'confirmed'
36
37
  booking.status = :confirmed
37
- booking = Booking.create( :status => :rejected )
38
+ booking = Booking.create( status: :rejected )
38
39
  # And now...
39
40
  booking.status == BookingStatus[:rejected] # evaluates to true
40
41
  booking.status === :rejected # also evaluates to true
41
42
  booking.status === [:rejected, :confirmed, :provisional] # and so does this
43
+ booking.status === [%i[rejected confirmed provisional]] # and this
42
44
 
43
45
  Booking.where( :status_id => BookingStatus[:provisional] )
44
46
 
@@ -51,9 +53,14 @@ See "How to use it" below for more information.
51
53
 
52
54
  ## Requirements
53
55
 
56
+ ### PowerEnum 4.0.X
57
+
58
+ * Ruby 2.7 or later (JRuby should work but isn't extensively tested).
59
+ * Rails 6.0, 6.1, 6.2, 7.0
60
+
54
61
  ### PowerEnum 3.X
55
62
 
56
- * Ruby 2.1 or later (JRuby should work but isn't extensively tested; Travis is being difficult).
63
+ * Ruby 2.1 or later (JRuby should work but isn't extensively tested).
57
64
  * Rails 4.2, 5.0, 5.1, 5.2, 6.0
58
65
 
59
66
  ### PowerEnum 2.X
@@ -77,10 +84,6 @@ then run
77
84
 
78
85
  gem install power_enum
79
86
 
80
- If you want to verify the gem signature, use the `HighSecurity` installation option.
81
-
82
- gem install power_enum -P HighSecurity
83
-
84
87
  ## Gem Contents
85
88
 
86
89
  This package adds:
@@ -151,6 +154,8 @@ create_enum :booking_status, :name_limit => 50
151
154
  # end
152
155
  ```
153
156
 
157
+ **WARNING - This conflicts with PostgreSQL enum support in Rails 7+ and will be renamed in future versions.**
158
+
154
159
  Now, when you create your Booking model, your migration should create a reference column for status id's and a foreign
155
160
  key relationship to the booking\_statuses table.
156
161
 
@@ -162,7 +167,7 @@ create_table :bookings do |t|
162
167
  end
163
168
 
164
169
  # It's highly recommended to add a foreign key constraint here.
165
- # Ideally, you would use a gem of some sort to handle this.
170
+ # Ideally, you would use a gem of some sort to handle this for Rails < 6.
166
171
  # I have been using PgPower https://rubygems.org/gems/pg_power with much
167
172
  # success. It's fork, PgSaurus https://rubygems.org/gems/pg_saurus should
168
173
  # work just as well.
@@ -184,6 +189,8 @@ There are two methods added to Rails migrations:
184
189
 
185
190
  ##### create\_enum(enum\_name, options = {}, &block)
186
191
 
192
+ **WARNING - This conflicts with PostgreSQL enum support in Rails 7+ and will be renamed in future versions.**
193
+
187
194
  Creates a new enum table. `enum_name` will be automatically pluralized. The following options are supported:
188
195
 
189
196
  - [:name\_column] Specify the column name for name of the enum. By default it's :name. This can be a String or a Symbol
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 4.0.1