module ServiceWorker::Handlers
Public Instance Methods
===(other)
click to toggle source
# File lib/serviceworker/handlers.rb, line 21 def ===(other) other.respond_to?(:call) end
build(handler)
click to toggle source
# File lib/serviceworker/handlers.rb, line 9 def build(handler) resolve_handler(handler) || default_handler end
default_handler()
click to toggle source
# File lib/serviceworker/handlers.rb, line 58 def default_handler if sprockets? sprockets_handler else rack_handler end end
handler_for_name(name)
click to toggle source
# File lib/serviceworker/handlers.rb, line 25 def handler_for_name(name) available_handlers = %w[sprockets webpacker rack] if available_handlers.include?(name.to_s) send("#{name}_handler") else raise ServiceWorker::Error, "Unknown handler #{name.inspect}. Please use one of #{available_handlers.inspect}" end end
handler_for_route_match(route_match)
click to toggle source
# File lib/serviceworker/handlers.rb, line 13 def handler_for_route_match(route_match) options = route_match.options return webpacker_handler if Route.webpacker?(options) return sprockets_handler if Route.sprockets?(options) nil end
rack_handler()
click to toggle source
# File lib/serviceworker/handlers.rb, line 54 def rack_handler ServiceWorker::Handlers::RackHandler.new end
resolve_handler(handler)
click to toggle source
# File lib/serviceworker/handlers.rb, line 35 def resolve_handler(handler) case handler when Handlers handler when Symbol, String handler_for_name(handler) end end
sprockets?()
click to toggle source
# File lib/serviceworker/handlers.rb, line 70 def sprockets? defined?(::Rails) && ::Rails.configuration.assets end
sprockets_handler()
click to toggle source
# File lib/serviceworker/handlers.rb, line 49 def sprockets_handler require "serviceworker/handlers/sprockets_handler" ServiceWorker::Handlers::SprocketsHandler.new end
webpacker?()
click to toggle source
# File lib/serviceworker/handlers.rb, line 66 def webpacker? defined?(::Webpacker) end
webpacker_handler()
click to toggle source
# File lib/serviceworker/handlers.rb, line 44 def webpacker_handler require "serviceworker/handlers/webpacker_handler" ServiceWorker::Handlers::WebpackerHandler.new end