module AngularJS::Rails::Cdn::ActionViewExtensions

Constants

ANGULARJS_VERSION
OFFLINE
URL

Public Instance Methods

angularjs_include_tag(name, options = {}) click to toggle source
# File lib/angularjs-rails-cdn.rb, line 18
def angularjs_include_tag(name, options = {})
  version = options[:version] || ANGULARJS_VERSION

  local_includes = modules(options[:modules]).map { |m| javascript_include_tag(m) }.join.html_safe

  return local_includes if OFFLINE and !options[:force]

  cdn_includes = modules(options[:modules]).map do |m|
    javascript_include_tag(angularjs_url(name, m, version),options)
  end.join

  [ cdn_includes,
    javascript_tag("window.angular || document.write(unescape('#{local_includes.gsub('<','%3C')}'))", options)
  ].join.html_safe
end
angularjs_url(name, module_name, version) click to toggle source
# File lib/angularjs-rails-cdn.rb, line 14
def angularjs_url(name, module_name, version)
  URL[name].gsub('{{VERSION}}', version).gsub('{{LIBRARY}}', module_name.to_s)
end

Private Instance Methods

modules(submodules) click to toggle source
# File lib/angularjs-rails-cdn.rb, line 37
def modules(submodules)
  [:angular] + (submodules || []).map { |m| :"angular-#{m}" }
end