Module: AngularJS::Rails::Cdn::ActionViewExtensions

Defined in:
lib/angularjs-rails-cdn.rb

Constant Summary collapse

ANGULARJS_VERSION =
AngularJS::Rails::VERSION
OFFLINE =
(Rails.env.development? or Rails.env.test?)
URL =
{
  google: '//ajax.googleapis.com/ajax/libs/angularjs/{{VERSION}}/{{LIBRARY}}.min.js'
}

Instance Method Summary collapse

Instance Method Details

#angularjs_include_tag(name, options = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/angularjs-rails-cdn.rb', line 17

def angularjs_include_tag(name, options = {})
  version = options[:version] || ANGULARJS_VERSION

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

  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) ⇒ Object



13
14
15
# File 'lib/angularjs-rails-cdn.rb', line 13

def angularjs_url(name, module_name, version)
  URL[name].gsub('{{VERSION}}', version).gsub('{{LIBRARY}}', module_name.to_s)
end