Sha256: f34f8025d874c22ec4e01fb6f68fc5459948416c0429dbfabd21449c2f8f04ea

Contents?: true

Size: 754 Bytes

Versions: 9

Compression:

Stored size: 754 Bytes

Contents

_.mixin(
    el: (name, attrs) ->
        unless _.isObject(attrs)
            attrs = {}
        unless _.isString(attrs['class'])
            attrs['class'] = ''
        unless  _.isString(attrs.id)
            attrs.id = ''
        class_pattern = /\.([\w\d-]+)/g
        id_pattern = /\#([\w-\d]+)/g
        (name.match(class_pattern) or []).forEach (clss) ->
            attrs['class'] += ' ' + clss
            return
        (name.match(id_pattern) or []).forEach (id) ->
            attrs.id += ' ' + id
            return
        name = name.replace(class_pattern, '').replace(id_pattern, '').trim()
        node = _.dom document.createElement(name)
        for name, value of attrs
            node.setAttribute(name, value)

        node.el
)

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
lanes-0.7.0 client/lanes/lib/el.coffee
lanes-0.6.1 client/lanes/lib/el.coffee
lanes-0.6.0 client/lanes/lib/el.coffee
lanes-0.5.6 client/lanes/lib/el.coffee
lanes-0.5.5 client/lanes/lib/el.coffee
lanes-0.5.0 client/lanes/lib/el.coffee
lanes-0.4.0 client/lanes/lib/el.coffee
lanes-0.3.0 client/lanes/lib/el.coffee
lanes-0.1.9.5 client/lanes/lib/el.coffee