module Fear::Utils
@private
Constants
- EMPTY_ARRAY
- EMPTY_HASH
- EMPTY_STRING
- IDENTITY
- UNDEFINED
Public Class Methods
assert_arg_or_block!(method_name, *args)
click to toggle source
# File lib/fear/utils.rb, line 22 def assert_arg_or_block!(method_name, *args) unless block_given? ^ !args.empty? raise ArgumentError, "##{method_name} accepts either one argument or block" end end
assert_type!(value, *types)
click to toggle source
# File lib/fear/utils.rb, line 36 def assert_type!(value, *types) if types.none? { |type| value.is_a?(type) } raise TypeError, "expected `#{value.inspect}` to be of #{types.join(", ")} class" end end
return_or_call_proc(value)
click to toggle source
# File lib/fear/utils.rb, line 42 def return_or_call_proc(value) if value.respond_to?(:call) value.() else value end end
with_block_or_argument(method_name, arg = UNDEFINED, block = nil) { |block || arg| ... }
click to toggle source
# File lib/fear/utils.rb, line 28 def with_block_or_argument(method_name, arg = UNDEFINED, block = nil) if block.nil? ^ arg.equal?(UNDEFINED) yield(block || arg) else raise ArgumentError, "#{method_name} accepts either block or partial function" end end