脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

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)