Sha256: f8c6d25fd0ef1953657d8afd9e6e4c53bbdd2e6d0733a6f98013ddc3d6099ef8

Contents?: true

Size: 889 Bytes

Versions: 6

Compression:

Stored size: 889 Bytes

Contents

module Mirage
  class Server < Sinatra::Base
    get '/templates/:id/preview' do
      send_response(MockResponse.find_by_id(response_id), '', {}, '')
    end

    delete '/templates/:id' do
      synchronize do
        MockResponse.delete(response_id)
        REQUESTS.delete(response_id)
      end

      200
    end

    put '/templates/*' do |name|
      content_type :json
      mock_response = synchronize do
        MockResponse.new(name, JSON.parse(request.body.read))
      end

      mock_response.requests_url = request.url.gsub("/templates/#{name}", "/requests/#{mock_response.response_id}")
      {:id => mock_response.response_id}.to_json
    end


    delete '/templates' do
      synchronize do
        REQUESTS.clear
        MockResponse.delete_all
      end

      200
    end

    get '/templates/:id' do
      MockResponse.find_by_id(response_id).raw
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mirage-4.0.0.alpha6 server/routes/templates.rb
mirage-4.0.0.alpha5 server/routes/templates.rb
mirage-4.0.0.alpha4 server/routes/templates.rb
mirage-4.0.0.alpha3 server/routes/templates.rb
mirage-4.0.0.alpha2 server/routes/templates.rb
mirage-4.0.0.alpha1 server/routes/templates.rb