From: "murb (Maarten Brouwers) via ruby-core" Date: 2024-11-09T09:48:48+00:00 Subject: [ruby-core:119862] [Ruby master Feature#20882] Provide Boolean(...) Issue #20882 has been updated by murb (Maarten Brouwers). +1 for the request, I don't like to resorting to `ActiveRecord::Type::Boolean.new.cast(value)` to cast booleans. I would prefer a more explicit `.parse` which DateTime has though: ``` DateTime.parse("2021-04-13T14:20") ``` ``` Boolean.parse("0") # false Boolean.parse(1) # true Boolean.parse("t") # true ``` ---------------------------------------- Feature #20882: Provide Boolean(...) https://bugs.ruby-lang.org/issues/20882#change-110552 * Author: getajobmike (Mike Perham) * Status: Open ---------------------------------------- Ruby provides Integer(...) and Float(...) global methods to coerce values. Is there a similar method for Booleans? I'd like to do something like: ``` # ENV["SOME_FEATURE"] is unset Boolean(ENV["SOME_FEATURE"]) # => false # ENV["SOME_FEATURE"] is unset, but allow a default? Boolean(ENV["SOME_FEATURE"], true) # => true # explicitly disable ENV["SOME_FEATURE"] = "0" Boolean(ENV["SOME_FEATURE"], true) # => false # explicitly enable ENV["SOME_FEATURE"] = "1" Boolean(ENV["SOME_FEATURE"]) # => true ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/