Module: Ezcript::ApplicationHelperExtension::InstanceMethods
- Defined in:
- lib/ezcript/application_helper_extension.rb
Instance Method Summary collapse
-
#yield_local_scripts ⇒ Object
If declared will include “controller#scripts and controller#action_scripts to the layout”.
- #yield_local_styles ⇒ Object
-
#yield_or_inline(yield_name, partial_name = nil, &block) ⇒ Object
yield for content_for, but will display default contents if content_for is not given.
Instance Method Details
#yield_local_scripts ⇒ Object
If declared will include “controller#scripts and controller#action_scripts to the layout”
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ezcript/application_helper_extension.rb', line 23 def yield_local_scripts scripts = [] if "production".eql?(Rails.env) js_cache_dir = File.join(Rails.root, "tmp", "cache", "js") FileUtils.mkdir_p(js_cache_dir) unless File.exist?(js_cache_dir) end ["scripts", "#{action_name}_scripts"].each do |f| partial_src = File.join(Rails.root, "app", "views", controller_name, "_#{f}.js.erb") if File.exist?(partial_src) src = render(:partial => "#{controller_name}/#{f}.js") if "production".eql?(Rails.env) js_src = File.join(js_cache_dir, "#{controller_name}_#{File.basename(f, ".erb")}.min.js") unless File.exist?(js_src) File.open(js_src, "w") {|js_f| js_f.puts(JSMin.minify(src))} end src = render(:file => js_src) end scripts << src end end render :inline => scripts.join("\n") end |
#yield_local_styles ⇒ Object
49 50 51 52 53 54 55 |
# File 'lib/ezcript/application_helper_extension.rb', line 49 def yield_local_styles scripts = [] ["styles", "#{action_name}_styles"].each do |f| scripts << render(:partial => "#{controller_name}/#{f}.css") if File.exist?(File.join(Rails.root, "app", "views", controller_name, "_#{f}.css.erb")) end render :inline => scripts.join("\n") end |
#yield_or_inline(yield_name, partial_name = nil, &block) ⇒ Object
yield for content_for, but will display default contents if content_for is not given
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ezcript/application_helper_extension.rb', line 10 def yield_or_inline(yield_name, partial_name = nil, &block) if @_content_for[yield_name] && !@_content_for[yield_name].empty? @_content_for[yield_name] else if block_given? render :inline => capture(&block) else render :partial => partial_name if partial_name end end end |