Sha256: 8575bff7856b0b3a4a501427051fd62e2f2cd07fa948fe5d09155f9d651bd62a
Contents?: true
Size: 560 Bytes
Versions: 2
Compression:
Stored size: 560 Bytes
Contents
module Fear module Utils extend self def assert_arg_or_block!(method_name, *args) unless block_given? ^ args.any? fail ArgumentError, "##{method_name} accepts either one argument or block" end end def assert_type!(value, *types) if types.none? { |type| value.is_a?(type) } fail TypeError, "expected `#{value}` to be of #{types.join(', ')} class" end end def return_or_call_proc(value) if value.respond_to?(:call) value.call else value end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fear-0.1.0 | lib/fear/utils.rb |
fear-0.0.1 | lib/fear/utils.rb |