Skip to content

Instantly share code, notes, and snippets.

@romansklenar
Last active March 8, 2017 01:20
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save romansklenar/3075822 to your computer and use it in GitHub Desktop.
Save romansklenar/3075822 to your computer and use it in GitHub Desktop.
Ruby string to boolean type casting
class String
def to_bool
case
when self == true || self =~ /^(true|t|yes|y|1)$/i
true
when self == false || self.blank? || self =~ /^(false|f|no|n|0)$/i
false
else
raise ArgumentError.new "invalid value for Boolean: '#{self}'"
end
end
alias :to_b :to_bool
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment