Skip to content

Instantly share code, notes, and snippets.

@mkempe
Last active August 29, 2015 13:56
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 mkempe/8933385 to your computer and use it in GitHub Desktop.
Save mkempe/8933385 to your computer and use it in GitHub Desktop.
Coffeescript template for jQuery Plugin + Class.
class @Awesome
defaults:
isItAwesome: true
constructor: (element, options) ->
@element = $ element
@options = $.extend { }, @defaults, options
setup.call @
return
setup = ->
console.log "It's awesome..." if @options.isItAwesome?
return
(($, window, document) ->
$.fn.extend awesome: (options, args...) ->
@each ->
element = $ @
data = element.data 'awesome'
if data
data[options].apply data, args if data[options]
else
element.data 'awesome', (data = new Awesome @, options)
) jQuery, window, document
@mkempe
Copy link
Author

mkempe commented Feb 11, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment