Sha256: fe6654956e4ee5f46d697f217c8c09e38295e6d6475b94b8b6803225807da3cb

Contents?: true

Size: 1.05 KB

Versions: 13

Compression:

Stored size: 1.05 KB

Contents

#= require joosy/core/joosy

#
# Rails JST template precompilation binding
#
class Joosy.Templaters.RailsJST
  constructor: (@applicationName) ->

  #
  # Gets template lambda by its full name
  #
  # @param [String] name      Template name 'foo/bar'
  #
  buildView: (name) ->
    unless template = JST[location = "#{@applicationName}/templates/#{name}-#{I18n?.locale}"]
      template = JST[location = "#{@applicationName}/templates/#{name}"]

    unless template
      throw new Error "Template '#{name}' not found. Checked at: #{location}"

    template

  #
  # Gets full name of template by several params
  #
  # @param [String] section     Section of templates like pages/layouts/...
  # @param [String] template    Internal template path
  # @param [String] entity      Entity to lookup template path by its namespace
  #
  resolveTemplate: (section, template, entity) ->
    if template.startsWith '/'
      return template.substr 1

    path = entity.constructor?.__namespace__?.map('underscore') || []
    path.unshift section

    "#{path.join '/'}/#{template}"

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
joosy-1.1.2 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.1.1 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.1.0 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.1.0.alpha.3 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.1.0.alpha.2 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.1.0.alpha.1 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC7 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC6 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC5 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC4 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC3 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC2 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee
joosy-1.0.0.RC1 app/assets/javascripts/joosy/core/templaters/rails_jst.js.coffee