Skip to content

mudge/if

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

if Build Status

See "Implementing if in Ruby" for more information.

Requirements

This library is tested on Ruby 1.8.7 and later but benefits from Ruby 1.9's hash and lambda literal syntax.

"truthy".if -> { "I'm true!" }, else: -> { "I'm false!" }
# vs.
"truthy".if proc { "I'm true!" }, :else => proc { "I'm false!" }

Usage

require "if"

"Some truthy object".if -> { "I'm true!" }, else: -> { "I'm false!" }
#=> "I'm true!"

nil.if -> { "I'm true!" }, else: -> { "I'm false!" }
#=> "I'm false!"

# Or, if you only care about side-effects and not return value:

"Some truthy object"
  .if_true { puts "I'm true!" }
  .if_false { puts "I'm false!" }
# "I'm true!"
#=> "Some truthy object"

nil
  .if_true { puts "I'm true!" }
  .if_false { puts "I'm false!" }
# "I'm false!"
#=> nil

License

Copyright © 2015 Paul Mucur

Distributed under the MIT License.