Class: Concord::Cacher

Inherits:
Object
  • Object
show all
Includes:
Helper
Defined in:
lib/concord/cacher.rb

Direct Known Subclasses

DiyLocalCacher, JavaProxyCacher

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helper

#write_property_map

Constructor Details

#initialize(opts = {}) ⇒ Cacher

Returns a new instance of Cacher.

Raises:

  • (ArgumentError)


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
# File 'lib/concord/cacher.rb', line 12

def initialize(opts = {})
   raise ArgumentError, "Must include :url, and :cache_dir in the options hash." unless opts[:url] && opts[:cache_dir]
   
   ::Concord::Resource.verbose = opts.delete(:verbose) || false
   ::Concord::Resource.debug = opts.delete(:debug) || false
   
   create_map = opts.delete(:create_map)
   ::Concord::Resource.create_map = create_map unless create_map.nil?
   
   cache_headers = opts.delete(:cache_headers)
   ::Concord::Resource.cache_headers = cache_headers unless cache_headers.nil?
   
   relative_hosts = opts.delete(:relative)
   relative_hosts = [] if relative_hosts.nil?
   relative_hosts = [relative_hosts] unless relative_hosts.kind_of? Array
   ::Concord::Resource.relative_hosts = relative_hosts 

   custom_skips = opts.delete(:skip) || []
   custom_skips = [custom_skips] unless custom_skips.kind_of?(Array)
   ::Concord::Resource.custom_skips = custom_skips
   
   @main_resource = Concord::Resource.new
   @main_resource.url = opts.delete(:url)
   @main_resource.cache_dir = opts.delete(:cache_dir)
   @main_resource.extras = opts
   @main_resource.uri = URI.parse(@main_resource.url)
   @main_resource.load
   
   _calculate_main_file_absolute_url
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



10
11
12
# File 'lib/concord/cacher.rb', line 10

def errors
  @errors
end

#main_resourceObject (readonly)

Returns the value of attribute main_resource.



10
11
12
# File 'lib/concord/cacher.rb', line 10

def main_resource
  @main_resource
end

Instance Method Details

#cacheObject



43
44
45
46
47
# File 'lib/concord/cacher.rb', line 43

def cache
  _copy_otml_to_local_cache
  _write_url_to_hash_map if ::Concord::Resource.create_map
  _print_errors if ::Concord::Resource.verbose
end