diff --git a/README.adoc b/README.adoc index c9080ffc..8a6e6fb3 100644 --- a/README.adoc +++ b/README.adoc @@ -385,6 +385,26 @@ class Transaction < ActiveRecord::Base end ---- +=== Enums [[enums]] + +Prefer using the hash syntax for `enum`. Array makes the database values implicit +& any insertion/removal/rearrangement of values in the middle will most probably +lead to broken code. + +[source,ruby] +---- +class Transaction < ActiveRecord::Base + # bad - implicit values - ordering matters + enum type: %i[credit debit] + + # good - explicit values - ordering does not matter + enum type: { + credit: 0, + debit: 1 + } +end +---- + === Macro Style Methods [[macro-style-methods]] Group macro-style methods (`has_many`, `validates`, etc) in the beginning of the class definition.