class KyōyūIshiki::App

Public Class Methods

new(root) click to toggle source
# File lib/kyōyū_ishiki/app.rb, line 2
def initialize(root)
  @dreams = KyōyūIshiki::Dreams.new(root)
end

Public Instance Methods

call(env) click to toggle source
# File lib/kyōyū_ishiki/app.rb, line 6
def call(env)
  Rack::Response.new do |response|
    response['Access-Control-Allow-Origin'] = '*'
    handle(Rack::Request.new(env), response)
  end.finish
end
handle(request, response) click to toggle source
# File lib/kyōyū_ishiki/app.rb, line 13
def handle(request, response)
  dream_name = request.path_info[1..-1]

  if dream_name == ""
    response.status = 404
    return
  end

  if request.post? || request.put? || request.patch?
    @dreams.write(dream_name, request.body.read)
    request.body.rewind
  elsif request.delete?
    @dreams.delete(dream_name)
  else
    response.write(@dreams.read(dream_name))
  end
end