Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var inspect = require('eyes').inspector({
- styles: {
- all: 'cyan',
- label: 'underline',
- other: 'inverted',
- key: 'bold',
- special: 'grey',
- string: 'green',
- number: 'magenta',
- bool: 'blue',
- regexp: 'green'
- }});
- function missinMethod() {
- console.log("missinMethod()")
- }
- // Mimic "method_missing" in Ruby.
- process.on('uncaughtException', function(err) {
- inspect(arguments);
- if (err.arguments.length) {
- var method_name = err.arguments[0],
- method_name_camel_case = method_name.replace(/(_[a-z0-9])/mg, function(a) { return a.replace('_', '').toUpperCase(); })
- if (typeof eval(method_name_camel_case) === 'function') {
- console.log("Proxy method: %s => %s", method_name, method_name_camel_case);
- eval(method_name_camel_case + '()');
- } else {
- console.log("No such method: %s => %s", method_name, method_name_camel_case)
- // skip
- }
- }
- });
- missin_method("foo", "bar");
Add Comment
Please, Sign In to add comment