Sha256: 720d7e1044a2d2a9f6d3d6b360596521c9284bdf278e180c75c644caa416289e
Contents?: true
Size: 709 Bytes
Versions: 1
Compression:
Stored size: 709 Bytes
Contents
module JSONAPIonify module UnstrictProc refine Proc do def unstrict return self unless lambda? req_count = required_parameters.count Proc.new do |*arguments| if req_count > arguments.count (req_count - arguments.count).times { arguments << nil } elsif req_count < arguments.count arguments = req_count == 0 ? [] : arguments[0..(req_count - 1)] end call(*arguments) end end private def parameters_hash parameters.each_with_object({}) { |(k, v), h| (h[k] ||= []) << v } end def required_parameters parameters_hash[:req] || [] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonapionify-0.0.1.pre | lib/jsonapionify/unstrict_proc.rb |