aboutsummaryrefslogtreecommitdiffstats
path: root/spec/bundler/support/artifice/windows.rb
blob: c18ca454ec50383509de53a55549c1ff42fc7c3c (plain)
1
2
3
4
5
6
7
8
9
10
11
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
42
43
44
45
46
47
48
# frozen_string_literal: true
require File.expand_path("../../path.rb", __FILE__)
include Spec::Path

$LOAD_PATH.unshift Dir[base_system_gems.join("gems/artifice*/lib")].first.to_s
$LOAD_PATH.unshift(*Dir[base_system_gems.join("gems/rack-*/lib")])
$LOAD_PATH.unshift Dir[base_system_gems.join("gems/tilt*/lib")].first.to_s
$LOAD_PATH.unshift Dir[base_system_gems.join("gems/sinatra*/lib")].first.to_s
require "artifice"
require "sinatra/base"

Artifice.deactivate

class Windows < Sinatra::Base
  set :raise_errors, true
  set :show_exceptions, false

  helpers do
    def gem_repo
      Pathname.new(ENV["BUNDLER_SPEC_GEM_REPO"] || Spec::Path.gem_repo1)
    end
  end

  files = ["specs.4.8.gz",
           "prerelease_specs.4.8.gz",
           "quick/Marshal.4.8/rcov-1.0-mswin32.gemspec.rz",
           "gems/rcov-1.0-mswin32.gem"]

  files.each do |file|
    get "/#{file}" do
      File.read gem_repo.join(file)
    end
  end

  get "/gems/rcov-1.0-x86-mswin32.gem" do
    halt 404
  end

  get "/api/v1/dependencies" do
    halt 404
  end

  get "/versions" do
    halt 500
  end
end

Artifice.activate_with(Windows)