fix requests endpoint, routes order for permissions, raise on undefined builder

This commit is contained in:
Sven Fuchs 2012-10-07 16:58:01 +02:00
parent 8abc330937
commit 2b290b9571
3 changed files with 12 additions and 9 deletions

View File

@ -4,7 +4,7 @@ class Travis::Api::App
class Endpoint class Endpoint
class Requests < Endpoint class Requests < Endpoint
post '/' do post '/' do
service(:requests, :requeue).run service(:requests, :requeue, params).run
204 204
end end
end end

View File

@ -19,19 +19,19 @@ class Travis::Api::App
# "synced_at": "2012-08-14T22:11:21Z" # "synced_at": "2012-08-14T22:11:21Z"
# } # }
# } # }
get '/:id?', scope: :private do get '/', scope: :private do
respond_with current_user respond_with current_user
end end
get '/permissions', scope: :private do
respond_with service(:users, :permissions).run, type: :permissions
end
put '/:id?', scope: :private do put '/:id?', scope: :private do
update(params[:user]).run update(params[:user]).run
204 204
end end
get '/:id?/permissions', scope: :private do
respond_with service(:users, :permissions).run
end
post '/sync', scope: :private do post '/sync', scope: :private do
service(:users, :sync).run service(:users, :sync).run
204 204

View File

@ -5,9 +5,8 @@ module Travis::Api::App::Helpers::Responders
def render def render
options[:version] ||= version options[:version] ||= version
builder = Travis::Api.builder(resource, options) # || raise("could not determine a builder for #{resource}, #{options}") builder = Travis::Api.builder(resource, options) || raise_undefined_builder
resource = builder.new(self.resource, request.params).data
resource = builder.new(self.resource, request.params).data if builder
resource = resource.to_json unless resource.is_a?(String) resource = resource.to_json unless resource.is_a?(String)
resource resource
end end
@ -17,5 +16,9 @@ module Travis::Api::App::Helpers::Responders
def version def version
request.accept.join =~ ACCEPT_VERSION && "v#{$1}" || DEFAULT_VERSION request.accept.join =~ ACCEPT_VERSION && "v#{$1}" || DEFAULT_VERSION
end end
def raise_undefined_builder
raise("could not determine a builder for #{resource}, #{options}")
end
end end
end end