diff --git a/src/Gemfile b/src/Gemfile index c88248ba09f..75a37e36945 100644 --- a/src/Gemfile +++ b/src/Gemfile @@ -8,7 +8,6 @@ gem 'thin', '>=1.2.11' gem 'tire' , '>= 0.3.0', '< 0.4' gem 'json' gem 'rest-client', :require => 'rest_client' -gem 'jammit' gem 'pg' # gem 'bson_ext', '>= 1.0.4' gem 'rails_warden' @@ -56,6 +55,8 @@ gem 'acts_as_reportable', '>=1.1.1' # end group :test, :development do + gem 'jammit' + # To use debugger gem 'ruby-debug' gem 'ZenTest', '>= 4.4.0' diff --git a/src/app/helpers/application_helper.rb b/src/app/helpers/application_helper.rb index 45986c45019..7ba8dc2d3be 100644 --- a/src/app/helpers/application_helper.rb +++ b/src/app/helpers/application_helper.rb @@ -278,5 +278,43 @@ def a_link(name, href, html_options) return link.respond_to?(:html_safe) ? link.html_safe : link end + unless defined? Jammit + # We don't need Jammit and all it's dependencies in the production mode. + # This should be all what's needed when running in production. + + def include_stylesheets(*packages) + options = packages.extract_options! + if options[:embed_assets] == false + html = stylesheet_links(packages.map { |p| asset_url(p, :css) }, options) + else + datauri_tags = stylesheet_links(packages.map { |p| asset_url(p, :css, :datauri) }, options) + ie_tags = stylesheet_links(packages.map { |p| asset_url(p, :css) }, options) + html = ["", + datauri_tags, + "", + ie_tags, + ""].join("\n") + end + html.html_safe + end + def include_javascripts(*packages) + options = packages.extract_options! + javascript_links(packages.map { |p| asset_url(p, :js) }, options).html_safe + end + + def stylesheet_links(files, options) + files.map { |f| stylesheet_link_tag(f, options) }.join("\n") + end + + def javascript_links(files, options) + files.map { |f| javascript_include_tag(f, options) }.join("\n") + end + + def asset_url(package, extension, suffix = nil) + filename = "#{[package, suffix].compact.join("-")}.#{extension}" + "/assets/#{filename}" + end + end end