Skip to content

Instantly share code, notes, and snippets.

@vietj
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vietj/530585d33b433128de47 to your computer and use it in GitHub Desktop.
Save vietj/530585d33b433128de47 to your computer and use it in GitHub Desktop.
def overloaded_method(param_1,param_2,param_3=nil,&param_4)
if param_1.class == String
if param_2.class == Proc
// BUG HERE
return @j_del.overloadedMethod(param_1,(Proc.new { |event| param_2.call(event) }))
end
if param_2.class.method_defined?(:j_del)
if param_3.class == Proc
return @j_del.overloadedMethod(param_1,param_2.j_del,(Proc.new { |event| param_3.call(event) }))
end
if param_3.class == Fixnum
if param_4.class == Proc
return @j_del.overloadedMethod(param_1,param_2.j_del,param_3,(Proc.new { |event| param_4.call(event) }))
end
raise ArgumentError, "Invalid argument param_4=#{param_4} when calling overloaded_method(param_1,param_2,param_3,param_4)"
end
return @j_del.overloadedMethod(param_1,param_2.j_del)
end
raise ArgumentError, "Invalid argument param_2=#{param_2} when calling overloaded_method(param_1,param_2,param_3,param_4)"
end
raise ArgumentError, "Invalid argument param_1=#{param_1} when calling overloaded_method(param_1,param_2,param_3,param_4)"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment