Sha256: edec983045bf107794c8f0df5344132540cf4f69a348d71a08ae452262f082db

Contents?: true

Size: 1.3 KB

Versions: 111

Compression:

Stored size: 1.3 KB

Contents

# encoding: utf-8

# Object
class Object
  # guard condition
  #
  # === Param
  #
  # * <tt>:condition</tt> - guard condition
  #
  # === Example
  #
  # guard return case
  #
  #   def hoge(msg)
  #     guard(msg) {return "guard"}
  #     "not guard"
  #   end
  #
  #   hoge true # => "guard"
  #   hoge false # => "not guard"
  #
  # guard fail case
  #
  #   def hoge(msg)
  #     guard(msg) {fail ArgumentError, 'error!!'}
  #     "not guard"
  #   end
  #
  #   hoge true # => raise ArgumentError. message = error!!
  #   hoge false # => "not guard"
  def guard(condition)
    yield if condition
  end

  # unless_guard condition
  #
  # === Param
  #
  # * <tt>:condition</tt> - guard condition
  #
  # === Example
  #
  # unless_guard return case
  #
  #   def hoge(msg)
  #     unless_guard(msg) {return "unless_guard"}
  #     "not unless_guard"
  #   end
  #
  #   hoge false # => "unless_guard"
  #   hoge true # => "not unless_guard"
  #
  # unless_guard fail case
  #
  #   def hoge(msg)
  #     unless_guard(msg) {fail ArgumentError, 'error!!'}
  #     "not unless_guard"
  #   end
  #
  #   hoge false # => raise ArgumentError. message = error!!
  #   hoge true # => "not unless_guard"
  def unless_guard(condition)
    yield unless condition
  end
end

Version data entries

111 entries across 111 versions & 1 rubygems

Version Path
tbpgr_utils-0.0.151 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.150 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.149 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.148 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.147 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.146 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.145 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.144 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.143 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.142 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.141 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.140 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.139 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.138 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.137 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.136 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.135 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.134 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.133 lib/open_classes/object/guard.rb
tbpgr_utils-0.0.132 lib/open_classes/object/guard.rb