Module: CriticalPathCss

Defined in:
lib/critical-path-css-rails.rb,
lib/critical_path_css/css_fetcher.rb,
lib/critical_path_css/rails/engine.rb,
lib/critical_path_css/configuration.rb,
lib/critical_path_css/rails/config_loader.rb,
lib/generators/critical_path_css/install_generator.rb

Defined Under Namespace

Modules: Rails Classes: Configuration, CssFetcher, InstallGenerator

Constant Summary collapse

CACHE_NAMESPACE =
'critical-path-css'.freeze

Class Method Summary collapse

Class Method Details

.clear(route) ⇒ Object



23
24
25
# File 'lib/critical-path-css-rails.rb', line 23

def self.clear(route)
  ::Rails.cache.delete(route, namespace: CACHE_NAMESPACE)
end

.clear_matched(routes) ⇒ Object



27
28
29
# File 'lib/critical-path-css-rails.rb', line 27

def self.clear_matched(routes)
  ::Rails.cache.delete_matched(routes, namespace: CACHE_NAMESPACE)
end

.configObject



35
36
37
# File 'lib/critical-path-css-rails.rb', line 35

def self.config
  @config ||= Configuration.new(CriticalPathCss::Rails::ConfigLoader.new.load)
end

.fetch(route) ⇒ Object



31
32
33
# File 'lib/critical-path-css-rails.rb', line 31

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

.generate(route) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/critical-path-css-rails.rb', line 8

def self.generate(route)
  ::Rails.cache.write(
    route,
    CssFetcher.new(config).fetch_route(route),
    namespace: CACHE_NAMESPACE,
    expires_in: nil
  )
end

.generate_allObject



17
18
19
20
21
# File 'lib/critical-path-css-rails.rb', line 17

def self.generate_all
  CssFetcher.new(config).fetch.each do |route, css|
    ::Rails.cache.write(route, css, namespace: CACHE_NAMESPACE, expires_in: nil)
  end
end