lib/handlebars_assets/config.rb in handlebars_assets-0.16 vs lib/handlebars_assets/config.rb in handlebars_assets-0.17
- old
+ new
@@ -1,50 +1,73 @@
module HandlebarsAssets
# Change config options in an initializer:
#
# HandlebarsAssets::Config.path_prefix = 'app/templates'
+
module Config
extend self
attr_writer :compiler, :compiler_path, :ember, :multiple_frameworks,
:haml_options, :known_helpers, :known_helpers_only, :options,
- :patch_files, :patch_path, :path_prefix, :slim_options, :template_namespace
+ :patch_files, :patch_path, :path_prefix, :slim_options, :template_namespace,
+ :precompile, :haml_enabled, :slim_enabled,
+ :handlebars_extensions, :hamlbars_extensions, :slimbars_extensions,
+ :amd, :handlebars_amd_path, :amd_with_template_namespace
- def configure
- yield self
- end
-
def compiler
@compiler || 'handlebars.js'
end
+ def self.configure
+ yield self
+ end
+
def compiler_path
@compiler_path || HandlebarsAssets.path
end
def ember?
- @ember
+ @ember || false
end
def multiple_frameworks?
@multiple_frameworks
end
def haml_available?
defined? ::Haml::Engine
end
+ def haml_enabled?
+ @haml_enabled = true if @haml_enabled.nil?
+ @haml_enabled
+ end
+
def haml_options
@haml_options || {}
end
+ def slim_available?
+ defined? ::Slim::Engine
+ end
+
+ def slim_enabled?
+ @slim_enabled = true if @slim_enabled.nil?
+ @slim_enabled
+ end
+
+ def slim_options
+ @slim_options || {}
+ end
+
def known_helpers
@known_helpers || []
end
def known_helpers_only
- @known_helpers_only || false
+ @known_helpers_only = false if @known_helpers_only.nil?
+ @known_helpers_only
end
def options
@options ||= generate_options
end
@@ -56,22 +79,51 @@
def patch_path
@patch_path ||= compiler_path
end
def path_prefix
- @path_prefix || 'templates'
+ @path_prefix ||= 'templates'
end
- def slim_available?
- defined? ::Slim::Engine
+ def precompile
+ @precompile = true if @precompile.nil?
+ @precompile
end
- def slim_options
- @slim_options || {}
- end
-
def template_namespace
@template_namespace || 'HandlebarsTemplates'
+ end
+
+ def handlebars_extensions
+ @hbs_extensions ||= ['hbs', 'handlebars']
+ end
+
+ def hamlbars_extensions
+ @hamlbars_extensions ||= ['hamlbars']
+ end
+
+ def slimbars_extensions
+ @slimbars_extensions ||= ['slimbars']
+ end
+
+ def ember_extensions
+ @ember_extensions ||= ['ember']
+ end
+
+ def amd?
+ @amd || false
+ end
+
+ # indicate whether the template should
+ # be added to the global template namespace
+ def amd_with_template_namespace
+ @amd_with_template_namespace || false
+ end
+
+ # path specified by the require.js paths
+ # during configuration for the handlebars
+ def handlebars_amd_path
+ @handlebars_amd_path || 'handlebars'
end
private
def generate_known_helpers_hash