Sha256: 40510ba6b56cedde30a059a08b3284cf64d25c7d2b64d081915124b35b430286

Contents?: true

Size: 427 Bytes

Versions: 5

Compression:

Stored size: 427 Bytes

Contents

# frozen_string_literal: true
module ServiceWorker
  class Handler
    def initialize(root = Dir.getwd)
      @root = root
    end

    def call(env)
      path_info = env.fetch("serviceworker.asset_name")

      file_server.call(env.merge("PATH_INFO" => path_info))
    end

    def file_path(path_info)
      @root.join(path_info)
    end

    def file_server
      @file_server ||= ::Rack::File.new(@root)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
serviceworker-rails-0.5.5 lib/serviceworker/handler.rb
serviceworker-rails-0.5.4 lib/serviceworker/handler.rb
serviceworker-rails-0.5.3 lib/serviceworker/handler.rb
serviceworker-rails-0.5.2 lib/serviceworker/handler.rb
serviceworker-rails-0.5.1 lib/serviceworker/handler.rb