Module: CriticalPathCss

Defined in:
lib/critical_path_css_rails.rb,
lib/critical_path_css/rails/engine.rb,
lib/generators/critical_path_css/install_generator.rb

Defined Under Namespace

Modules: Rails Classes: InstallGenerator

Constant Summary collapse

CACHE_NAMESPACE =
'critical-path-css'
PENTHOUSE_PATH =
"#{File.dirname(__FILE__)}/penthouse/penthouse.js"

Class Method Summary collapse

Class Method Details

.fetch(route) ⇒ Object



16
17
18
# File 'lib/critical_path_css_rails.rb', line 16

def self.fetch(route)
  Rails.cache.read(route, namespace: CACHE_NAMESPACE) || ''
end

.generate(main_css_path, base_url, routes) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/critical_path_css_rails.rb', line 7

def self.generate(main_css_path, base_url, routes)
  full_main_css_path = "#{Rails.root}/public#{main_css_path}"

  routes.each do |route|
    css = Phantomjs.run(PENTHOUSE_PATH, base_url + route, full_main_css_path)
    Rails.cache.write(route, css, namespace: CACHE_NAMESPACE)
  end
end