From 2b290b9571db627cd796b4d11d5c6153b8d649c1 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Sun, 7 Oct 2012 16:58:01 +0200 Subject: [PATCH] fix requests endpoint, routes order for permissions, raise on undefined builder --- lib/travis/api/app/endpoint/requests.rb | 2 +- lib/travis/api/app/endpoint/users.rb | 10 +++++----- lib/travis/api/app/helpers/responders/json.rb | 9 ++++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/travis/api/app/endpoint/requests.rb b/lib/travis/api/app/endpoint/requests.rb index c58e64d2..8d659820 100644 --- a/lib/travis/api/app/endpoint/requests.rb +++ b/lib/travis/api/app/endpoint/requests.rb @@ -4,7 +4,7 @@ class Travis::Api::App class Endpoint class Requests < Endpoint post '/' do - service(:requests, :requeue).run + service(:requests, :requeue, params).run 204 end end diff --git a/lib/travis/api/app/endpoint/users.rb b/lib/travis/api/app/endpoint/users.rb index c94cd84c..d2dc9c59 100644 --- a/lib/travis/api/app/endpoint/users.rb +++ b/lib/travis/api/app/endpoint/users.rb @@ -19,19 +19,19 @@ class Travis::Api::App # "synced_at": "2012-08-14T22:11:21Z" # } # } - get '/:id?', scope: :private do + get '/', scope: :private do respond_with current_user end + get '/permissions', scope: :private do + respond_with service(:users, :permissions).run, type: :permissions + end + put '/:id?', scope: :private do update(params[:user]).run 204 end - get '/:id?/permissions', scope: :private do - respond_with service(:users, :permissions).run - end - post '/sync', scope: :private do service(:users, :sync).run 204 diff --git a/lib/travis/api/app/helpers/responders/json.rb b/lib/travis/api/app/helpers/responders/json.rb index 080914fa..0e5467b8 100644 --- a/lib/travis/api/app/helpers/responders/json.rb +++ b/lib/travis/api/app/helpers/responders/json.rb @@ -5,9 +5,8 @@ module Travis::Api::App::Helpers::Responders def render options[:version] ||= version - builder = Travis::Api.builder(resource, options) # || raise("could not determine a builder for #{resource}, #{options}") - - resource = builder.new(self.resource, request.params).data if builder + builder = Travis::Api.builder(resource, options) || raise_undefined_builder + resource = builder.new(self.resource, request.params).data resource = resource.to_json unless resource.is_a?(String) resource end @@ -17,5 +16,9 @@ module Travis::Api::App::Helpers::Responders def version request.accept.join =~ ACCEPT_VERSION && "v#{$1}" || DEFAULT_VERSION end + + def raise_undefined_builder + raise("could not determine a builder for #{resource}, #{options}") + end end end