Class: GaptoolServer

Inherits:
Sinatra::Application
  • Object
show all
Defined in:
lib/app.rb,
lib/routes.rb

Instance Method Summary collapse

Instance Method Details

#error_response(msg = '') ⇒ Object



19
20
21
22
23
# File 'lib/app.rb', line 19

def error_response msg=''
  message = env['sinatra_error'].nil? ? "" : " #{env['sinatra.error'].message}"
  message = "#{msg}#{message}" unless msg.empty?
  json result: 'error', message: message
end

#require_parameters(required_keys, data) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/routes.rb', line 8

def require_parameters(required_keys, data)
  data = data.delete_if { |k,v| v.nil? }
  required_keys = [*required_keys].to_set unless required_keys.is_a? Set
  keys = data.keys.to_set
  unless keys >= required_keys
    raise BadRequest, "Missing required_parameters: #{(required_keys - keys).to_a.join(" ")}"
  end
  data
end

#unauthenticated ⇒ Object



35
36
37
# File 'lib/app.rb', line 35

def unauthenticated
  halt(401, error_response("Unauthenticated"))
end