README.md in much-boolean-0.1.3 vs README.md in much-boolean-0.2.0

- old
+ new

@@ -3,92 +3,135 @@ An API for friendly boolean conversion, interpretation and handling ## Usage ```ruby -require 'much-boolean' +require "much-boolean" MuchBoolean::FALSE_VALUES # => [ 0, "0", # false, "false", "False", "FALSE", "f", "F", # "no", "No", "NO", "n", "N" # ] + # convert human-friendly representative values to actual booleans -# nil and empty-string values - theses are ignored -MuchBoolean.convert(nil) # => nil -MuchBoolean.convert('') # => nil +# nil and empty-string values +MuchBoolean.convert(nil) # => false +MuchBoolean.convert("") # => false +MuchBoolean.convert(:"") # => false # zero/one type values -MuchBoolean.convert(0) # => false -MuchBoolean.convert('0') # => false -MuchBoolean.convert(1) # => true -MuchBoolean.convert('1') # => true +MuchBoolean.convert(0) # => false +MuchBoolean.convert("0") # => false +MuchBoolean.convert(:"0") # => false +MuchBoolean.convert(1) # => true +MuchBoolean.convert("1") # => true +MuchBoolean.convert(:"1") # => true # true/false type values MuchBoolean.convert(false) # => false +MuchBoolean.convert("f") # => false +MuchBoolean.convert(:f) # => false +MuchBoolean.convert("F") # => false +MuchBoolean.convert(:F) # => false MuchBoolean.convert("false") # => false +MuchBoolean.convert(:false) # => false MuchBoolean.convert("False") # => false +MuchBoolean.convert(:False) # => false MuchBoolean.convert("FALSE") # => false -MuchBoolean.convert("f") # => false -MuchBoolean.convert("F") # => false +MuchBoolean.convert(:FALSE) # => false MuchBoolean.convert(true) # => true +MuchBoolean.convert("t") # => true +MuchBoolean.convert(:t) # => true +MuchBoolean.convert("T") # => true +MuchBoolean.convert(:T) # => true MuchBoolean.convert("true") # => true +MuchBoolean.convert(:true) # => true MuchBoolean.convert("True") # => true +MuchBoolean.convert(:True) # => true MuchBoolean.convert("TRUE") # => true -MuchBoolean.convert("t") # => true -MuchBoolean.convert("T") # => true +MuchBoolean.convert(:TRUE) # => true +# on/off type values +MuchBoolean.convert("off") # => false +MuchBoolean.convert(:off) # => false +MuchBoolean.convert("Off") # => false +MuchBoolean.convert(:Off) # => false +MuchBoolean.convert("OFF") # => false +MuchBoolean.convert(:OFF) # => false +MuchBoolean.convert("on") # => true +MuchBoolean.convert(:on) # => true +MuchBoolean.convert("On") # => true +MuchBoolean.convert(:On) # => true +MuchBoolean.convert("ON") # => true +MuchBoolean.convert(:ON) # => true + # yes/no type values +MuchBoolean.convert("n") # => false +MuchBoolean.convert(:n) # => false +MuchBoolean.convert("N") # => false +MuchBoolean.convert(:N) # => false MuchBoolean.convert("no") # => false +MuchBoolean.convert(:no) # => false MuchBoolean.convert("No") # => false +MuchBoolean.convert(:No) # => false MuchBoolean.convert("NO") # => false -MuchBoolean.convert("n") # => false -MuchBoolean.convert("N") # => false +MuchBoolean.convert(:NO) # => false +MuchBoolean.convert("y") # => true +MuchBoolean.convert(:y) # => true +MuchBoolean.convert("Y") # => true +MuchBoolean.convert(:Y) # => true MuchBoolean.convert("yes") # => true +MuchBoolean.convert(:yes) # => true MuchBoolean.convert("Yes") # => true +MuchBoolean.convert(:Yes) # => true MuchBoolean.convert("YES") # => true -MuchBoolean.convert("y") # => true -MuchBoolean.convert("Y") # => true +MuchBoolean.convert(:YES) # => true # all other values always interpreted as `true` -MuchBoolean.convert('some-string') # => true -MuchBoolean.convert('1938') # => true -MuchBoolean.convert('1938.5') # => true +MuchBoolean.convert("some-string") # => true +MuchBoolean.convert(1938) # => true +MuchBoolean.convert(1938.5) # => true MuchBoolean.convert(Date.today) # => true MuchBoolean.convert(Time.now) # => true - # convert actual booleans back to human-friendly representative values MuchBoolean.one_zero(true) # => 1 MuchBoolean.one_zero(false) # => 0 -MuchBoolean.one_zero(true).to_s # => '1' -MuchBoolean.one_zero(false).to_s # => '0' +MuchBoolean.one_zero(true).to_s # => "1" +MuchBoolean.one_zero(false).to_s # => "0" -MuchBoolean.true_false(true) # => 'true' -MuchBoolean.true_false(false) # => 'false' -MuchBoolean.True_False(true) # => 'True' -MuchBoolean.True_False(false) # => 'False' -MuchBoolean.TRUE_FALSE(true) # => 'TRUE' -MuchBoolean.TRUE_FALSE(false) # => 'FALSE' -MuchBoolean.t_f(true) # => 't' -MuchBoolean.t_f(false) # => 'f' -MuchBoolean.T_F(true) # => 'T' -MuchBoolean.T_F(false) # => 'F' +MuchBoolean.t_f(true) # => "t" +MuchBoolean.t_f(false) # => "f" +MuchBoolean.T_F(true) # => "T" +MuchBoolean.T_F(false) # => "F" +MuchBoolean.true_false(true) # => "true" +MuchBoolean.true_false(false) # => "false" +MuchBoolean.True_False(true) # => "True" +MuchBoolean.True_False(false) # => "False" +MuchBoolean.TRUE_FALSE(true) # => "TRUE" +MuchBoolean.TRUE_FALSE(false) # => "FALSE" -MuchBoolean.yes_no(true) # => 'yes' -MuchBoolean.yes_no(false) # => 'no' -MuchBoolean.Yes_No(true) # => 'Yes' -MuchBoolean.Yes_No(false) # => 'No' -MuchBoolean.YES_NO(true) # => 'YES' -MuchBoolean.YES_NO(false) # => 'NO' -MuchBoolean.y_n(true) # => 'y' -MuchBoolean.y_n(false) # => 'n' -MuchBoolean.Y_N(true) # => 'Y' -MuchBoolean.Y_N(false) # => 'N' +MuchBoolean.on_off(true) # => "on" +MuchBoolean.on_off(false) # => "off" +MuchBoolean.On_Off(true) # => "On" +MuchBoolean.On_Off(false) # => "Off" +MuchBoolean.ON_OFF(true) # => "ON" +MuchBoolean.ON_OFF(false) # => "OFF" +MuchBoolean.y_n(true) # => "y" +MuchBoolean.y_n(false) # => "n" +MuchBoolean.Y_N(true) # => "Y" +MuchBoolean.Y_N(false) # => "N" +MuchBoolean.yes_no(true) # => "yes" +MuchBoolean.yes_no(false) # => "no" +MuchBoolean.Yes_No(true) # => "Yes" +MuchBoolean.Yes_No(false) # => "No" +MuchBoolean.YES_NO(true) # => "YES" +MuchBoolean.YES_NO(false) # => "NO" # create instances to track given human-friendly values and the boolean values they map to bool = MuchBoolean.new @@ -101,11 +144,11 @@ bool.actual # => false bool == false # => true bool == true # => false end -['some-string', '1938', '1938.5', Date.today, Time.now].each do |val| +["some-string", 1938, 1938.5, Date.today, Time.now].each do |val| bool = MuchBoolean.new(val) bool.given # => {val} bool.actual # => true bool == true # => true bool == false # => false @@ -114,10 +157,10 @@ ## Installation Add this line to your application's Gemfile: - gem 'much-boolean' + gem "much-boolean" And then execute: $ bundle