Guest User

Untitled

a guest
Oct 15th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. var inspect = require('eyes').inspector({
  2. styles: {
  3. all: 'cyan',
  4. label: 'underline',
  5. other: 'inverted',
  6. key: 'bold',
  7. special: 'grey',
  8. string: 'green',
  9. number: 'magenta',
  10. bool: 'blue',
  11. regexp: 'green'
  12. }});
  13.  
  14. function missinMethod() {
  15. console.log("missinMethod()")
  16. }
  17.  
  18. // Mimic "method_missing" in Ruby.
  19. process.on('uncaughtException', function(err) {
  20. inspect(arguments);
  21.  
  22. if (err.arguments.length) {
  23. var method_name = err.arguments[0],
  24. method_name_camel_case = method_name.replace(/(_[a-z0-9])/mg, function(a) { return a.replace('_', '').toUpperCase(); })
  25.  
  26. if (typeof eval(method_name_camel_case) === 'function') {
  27. console.log("Proxy method: %s => %s", method_name, method_name_camel_case);
  28. eval(method_name_camel_case + '()');
  29.  
  30. } else {
  31. console.log("No such method: %s => %s", method_name, method_name_camel_case)
  32. // skip
  33. }
  34. }
  35. });
  36.  
  37. missin_method("foo", "bar");
Add Comment
Please, Sign In to add comment