Skip to content

Instantly share code, notes, and snippets.

Forked from equivalent/
Created November 21, 2012 20:44
What would you like to do?
String "false" to_bool ... or how to convert Rails/SimpleForm radio buttons to boolean
module StringToBoolean
def to_bool
return true if self == true || self =~ (/^(true|t|yes|y|1)$/i)
return false if self == false || self.blank? || self =~ (/^(false|f|no|n|0)$/i)
raise"invalid value for Boolean: \"#{self}\"")
class String; include StringToBoolean; end
module BooleanToBoolean
def to_bool;return self; end
class TrueClass; include BooleanToBoolean; end
class FalseClass; include BooleanToBoolean; end
Copy link

It turns out that if you're using Mongoid, then Boolean is declared as a class inside of Mongoid. This prevents the original gist from working if using Mongoid since we're trying to redefine Boolean as a module. So the original gist has been modified to rename the module Boolean to BooleanToBoolean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment