class BranchableCDNAssets::Invalidator::Base
Attributes
config[R]
Public Class Methods
defaults()
click to toggle source
# File lib/branchable_cdn_assets/invalidator/base.rb, line 22 def defaults @defaults ||= {} end
new(config_opts={})
click to toggle source
# File lib/branchable_cdn_assets/invalidator/base.rb, line 29 def initialize config_opts={} config_opts = self.class.defaults.merge config_opts unless (self.class.required_keys - config_opts.keys).empty? raise ArgumentError, "Missing required config keys: [#{(self.class.required_keys - config_opts.keys).join(', ')}]" end @config = Struct.new("Config_#{object_id}", *config_opts.keys).new(*config_opts.values) end
register_as(key)
click to toggle source
# File lib/branchable_cdn_assets/invalidator/base.rb, line 6 def register_as key BranchableCDNAssets::Invalidator.register key, self end
require_keys(keys)
click to toggle source
# File lib/branchable_cdn_assets/invalidator/base.rb, line 10 def require_keys keys @required_keys = Array(keys) end
required_keys()
click to toggle source
# File lib/branchable_cdn_assets/invalidator/base.rb, line 14 def required_keys @required_keys ||= [] end
set_defaults(opts={})
click to toggle source
# File lib/branchable_cdn_assets/invalidator/base.rb, line 18 def set_defaults opts={} @defaults = opts end
Public Instance Methods
invalidate_files(files)
click to toggle source
@param files [Array]
# File lib/branchable_cdn_assets/invalidator/base.rb, line 39 def invalidate_files files raise NoMethodError, "invalidate_files hasn't been implemented for #{self.class}" end