to_boolメソッドをgem化して公開しました。
以前以下のように文字列で返ってきた"true"や"false"をBooleanに変換するto_boolメソッドの実装方法を紹介しましたが、それをgem化して公開しました。portaltan.hatenablog.com
たが問題として、「to_bool」も「to_boolean」も「to_b」も全部既にgemの名前として使われていました。。
苦肉の策としてgem名は「to-bool」にしました。
Install方法
gem install to-bool Fetching: to-bool-1.2.0.gem (100%) Successfully installed to-bool-1.2.0 Parsing documentation for to-bool-1.2.0 Installing ri documentation for to-bool-1.2.0 Done installing documentation for to-bool after 0 seconds 1 gem installed gem list to-bool *** LOCAL GEMS *** to-bool (1.2.0)
使い方
test.rb
require 'to-bool' p 'true'.to_bool #=> true p 'true'.to_bool.class #=> TrueClass p 'false'.to_bool #=> false p 'false'.to_bool.class #=> FalseClass p true.to_bool #=> true p true.to_bool.class #=> TruelClass p false.to_bool #=> false p false.to_bool.class #=> FalseClass
NoMethodError
対応していないObjectの場合はNoMethodErrorを返すようにしています
require 'to-bool' [].to_bool #=>undefined method `to_bool' for []:Array (NoMethodError)
ArgumentError
文字列が'true'か'false'の場合はArgumentErrorを返すようにしています。
require 'to-bool' p 'foo'.to_bool #=>invalid value for `to_bool': 'foo' (ArgumentError) p 'truetrue'.to_bool #=>invalid value for `to_bool': 'truetrue' (ArgumentError) p ''.to_bool #=>invalid value for `to_bool': '' (ArgumentError)