/
slimmer.rb
57 lines (48 loc) · 2.11 KB
/
slimmer.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
require 'nokogiri'
require 'erb'
require 'plek'
require 'null_logger'
require 'slimmer/version'
require 'slimmer/railtie' if defined? Rails
module Slimmer
CACHE_TTL = 900
def self.cache
@cache ||= defined?(Rails) ? Rails.cache : NoCache.new
end
class NoCache
def fetch(*)
yield
end
end
autoload :Railtie, 'slimmer/railtie'
autoload :Skin, 'slimmer/skin'
autoload :Template, 'slimmer/template'
autoload :App, 'slimmer/app'
autoload :Headers, 'slimmer/headers'
autoload :HTTPClient, 'slimmer/http_client'
autoload :GovukComponents, 'slimmer/govuk_components'
autoload :LocalGovukComponents, 'slimmer/local_govuk_components'
autoload :ComponentResolver, 'slimmer/component_resolver'
autoload :NetworkComponentResolver, 'slimmer/network_component_resolver'
autoload :LocalComponentResolver, 'slimmer/local_component_resolver'
autoload :I18nBackend, 'slimmer/i18n_backend'
module Processors
autoload :BodyClassCopier, 'slimmer/processors/body_class_copier'
autoload :BodyInserter, 'slimmer/processors/body_inserter'
autoload :ConditionalCommentMover, 'slimmer/processors/conditional_comment_mover'
autoload :FooterRemover, 'slimmer/processors/footer_remover'
autoload :MetadataInserter, 'slimmer/processors/metadata_inserter'
autoload :HeaderContextInserter, 'slimmer/processors/header_context_inserter'
autoload :InsideHeaderInserter, 'slimmer/processors/inside_header_inserter'
autoload :NavigationMover, 'slimmer/processors/navigation_mover'
autoload :ReportAProblemInserter, 'slimmer/processors/report_a_problem_inserter'
autoload :SearchIndexSetter, 'slimmer/processors/search_index_setter'
autoload :SearchPathSetter, 'slimmer/processors/search_path_setter'
autoload :SearchParameterInserter, 'slimmer/processors/search_parameter_inserter'
autoload :SearchRemover, 'slimmer/processors/search_remover'
autoload :TagMover, 'slimmer/processors/tag_mover'
autoload :TitleInserter, 'slimmer/processors/title_inserter'
end
class TemplateNotFoundException < StandardError; end
class CouldNotRetrieveTemplate < StandardError; end
end