From 53f3803b52bfe2f4a8e0550a0c5d9df1865d90cb Mon Sep 17 00:00:00 2001 From: Godfrey Chan Date: Fri, 13 Feb 2015 16:50:08 -0800 Subject: Partially revert ae33aea Using enum names in SQL strings doesn't actually work, the test was wrong (fixed in 3dfd1ba). --- activerecord/lib/active_record/enum.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/enum.rb') diff --git a/activerecord/lib/active_record/enum.rb b/activerecord/lib/active_record/enum.rb index 8eaea6c055..442fb3fdc9 100644 --- a/activerecord/lib/active_record/enum.rb +++ b/activerecord/lib/active_record/enum.rb @@ -36,7 +36,6 @@ module ActiveRecord # needs: # # Conversation.where(status: [:active, :archived]) - # Conversation.where("status <> ?", :active) # # You can set the default value from the database declaration, like: # @@ -70,6 +69,13 @@ module ActiveRecord # Conversation.statuses[:active] # => 0 # Conversation.statuses["archived"] # => 1 # + # Use that class method when you need to know the ordinal value of an enum. For + # example, you can use that when manually building a SQL string inside a `where` + # condition: + # + # Conversation.where("status <> ?", Conversation.statuses[:archived]) + # + module Enum def self.extended(base) # :nodoc: base.class_attribute(:defined_enums) -- cgit v1.2.3