zurb/joyride — pull request #53 by jameslai (2012-12-05 17:54:18+00:00)
Title: Adding deep copy support for better template overrides

Switching the $.extend method to a deep copy allows users to override specific templates individually rather than the entire template object.

For example, without a deep copy (as the plugin currently is) if a user initializes orbit with:

$.orbit({
template: {
link: 'Something'
}
});

...the result will be the template object, in its entirety, will be completely overwritten. The templates for timer, tip, wrapper and button will no longer exist.

By toggling deep copy support on our extend function, the override works as expected (in this example, link will be overwritten, but the other templates will still exist).