Sha256: 562cc602e60d913635f9dc4eaf41d9d53bdefad1c7c863fea2d6104c6841012e

Contents?: true

Size: 1.28 KB

Versions: 6

Compression:

Stored size: 1.28 KB

Contents

ns2path = (ns)->
    ns.replace(".","/").toLowerCase()

Lanes.Templates.find = (name, namespace) ->
    return Lanes.Templates[name] if Lanes.Templates[name]
    if namespace?
        Lanes.Templates[ ns2path(namespace) + "/" + name]
    else
        null

Lanes.Templates.render = (view, name, data)->
    template_fn = Lanes.Templates.find(name, view.FILE.extensionName)
    if template_fn
        template_fn( data )
    else
        null

# scribbed from eco's compiler.coffee
# we include the functions here rather than on every single template
Lanes.Templates.Wrapper = {

    sanitize: (value) ->
        if value and value.HTMLSafe
            value
        else if typeof value isnt "undefined" and value?
            Lanes.Templates.Wrapper.escape value
        else
            ""

    capture: (__out) ->
        (callback) ->
            out = __out
            result = undefined
            __out = []
            callback.call this
            result = __out.join("")
            __out = out
            __safe result

    escape: _.escape

    safe: (value) ->
        if value and value.HTMLSafe
            value
        else
            value = ""  unless typeof value isnt "undefined" and value?
            result = new String(value)
            result.HTMLSafe = true
            result

}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
lanes-0.1.9 client/lanes/lib/Templates.coffee
lanes-0.1.8 client/lanes/lib/Templates.coffee
lanes-0.1.7 client/lanes/lib/Templates.coffee
lanes-0.1.6 client/lanes/lib/Templates.coffee
lanes-0.1.5 client/lanes/lib/Templates.coffee
lanes-0.1.2 client/lanes/lib/Templates.coffee