Sha256: 3b8d10ad624234a9bdd2e58962b03b51e422c2c1711b2bd57b7c861f9740ea73

Contents?: true

Size: 867 Bytes

Versions: 10

Compression:

Stored size: 867 Bytes

Contents

require 'sinatra/base'

module Geminabox

  class Hostess < Sinatra::Base
    def serve
      send_file(File.expand_path(File.join(Geminabox.data, *request.path_info)), :type => response['Content-Type'])
    end

    %w[/specs.4.8.gz
       /latest_specs.4.8.gz
       /prerelease_specs.4.8.gz
    ].each do |index|
      get index do
        content_type 'application/x-gzip'
        serve
      end
    end

    %w[/quick/Marshal.4.8/*.gemspec.rz
       /yaml.Z
       /Marshal.4.8.Z
    ].each do |deflated_index|
      get deflated_index do
        content_type('application/x-deflate')
        serve
      end
    end

    %w[/yaml
       /Marshal.4.8
       /specs.4.8
       /latest_specs.4.8
       /prerelease_specs.4.8
    ].each do |old_index|
      get old_index do
        serve
      end
    end

    get "/gems/*.gem" do
      serve
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
geminabox-1.4.1 lib/geminabox/hostess.rb
geminabox-1.4.0 lib/geminabox/hostess.rb
geminabox-1.3.1 lib/geminabox/hostess.rb
geminabox-1.3.0 lib/geminabox/hostess.rb
geminabox-1.2.0 lib/geminabox/hostess.rb
geminabox-1.1.1 lib/geminabox/hostess.rb
geminabox-1.1.0 lib/geminabox/hostess.rb
geminabox-1.0.1 lib/geminabox/hostess.rb
geminabox-1.0.0 lib/geminabox/hostess.rb
geminabox-0.13.15 lib/geminabox/hostess.rb