From 5ff58b1d6ce5fabac0eb1842243c0d0e62936d85 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Sat, 29 Sep 2012 18:12:41 +0200 Subject: [PATCH] adapt changes for split services --- lib/travis/api/app.rb | 5 +---- lib/travis/api/app/endpoint.rb | 4 +++- lib/travis/api/app/endpoint/accounts.rb | 2 +- lib/travis/api/app/endpoint/artifacts.rb | 2 +- lib/travis/api/app/endpoint/branches.rb | 4 +--- lib/travis/api/app/endpoint/builds.rb | 7 ++----- lib/travis/api/app/endpoint/hooks.rb | 8 +++----- lib/travis/api/app/endpoint/jobs.rb | 7 ++----- lib/travis/api/app/endpoint/repositories.rb | 7 ++----- lib/travis/api/app/endpoint/stats.rb | 7 ++----- lib/travis/api/app/endpoint/users.rb | 11 ++--------- lib/travis/api/app/endpoint/workers.rb | 4 +--- 12 files changed, 21 insertions(+), 47 deletions(-) diff --git a/lib/travis/api/app.rb b/lib/travis/api/app.rb index 200c1d6c..87ce1d97 100644 --- a/lib/travis/api/app.rb +++ b/lib/travis/api/app.rb @@ -87,10 +87,7 @@ class Travis::Api::App def self.setup_travis Travis::Amqp.config = Travis.config.amqp Travis::Database.connect - - Travis::Services.constants.each do |name| - Travis.services[name.to_s.underscore.to_sym] = Travis::Services.const_get(name) unless name == :Base - end + # Travis::Services.namespace = Travis::Services end def self.load_endpoints diff --git a/lib/travis/api/app/endpoint.rb b/lib/travis/api/app/endpoint.rb index 20c5822c..a00e0865 100644 --- a/lib/travis/api/app/endpoint.rb +++ b/lib/travis/api/app/endpoint.rb @@ -4,10 +4,12 @@ require 'addressable/uri' class Travis::Api::App # Superclass for HTTP endpoints. Takes care of prefixing. class Endpoint < Responder + include Travis::Services + set(:prefix) { "/" << name[/[^:]+$/].underscore } set disable_root_endpoint: false register :scoping - helpers :services, :current_user + helpers :current_user # :services before { content_type :json } error(ActiveRecord::RecordNotFound, Sinatra::NotFound) { not_found } diff --git a/lib/travis/api/app/endpoint/accounts.rb b/lib/travis/api/app/endpoint/accounts.rb index 40ea1dad..f84ba216 100644 --- a/lib/travis/api/app/endpoint/accounts.rb +++ b/lib/travis/api/app/endpoint/accounts.rb @@ -4,7 +4,7 @@ class Travis::Api::App class Endpoint class Accounts < Endpoint get '/', scope: :private do - body service(:account).find_all, type: :accounts + body all(params).run, type: :accounts end end end diff --git a/lib/travis/api/app/endpoint/artifacts.rb b/lib/travis/api/app/endpoint/artifacts.rb index 78fbe3cc..fa3d0743 100644 --- a/lib/travis/api/app/endpoint/artifacts.rb +++ b/lib/travis/api/app/endpoint/artifacts.rb @@ -7,7 +7,7 @@ class Travis::Api::App class Artifacts < Endpoint # Fetches an artifact by it's *id*. get('/:id') do |id| - body service(:artifacts).find_one(params) + body one(params).run end end end diff --git a/lib/travis/api/app/endpoint/branches.rb b/lib/travis/api/app/endpoint/branches.rb index 52d83a50..2f076482 100644 --- a/lib/travis/api/app/endpoint/branches.rb +++ b/lib/travis/api/app/endpoint/branches.rb @@ -2,11 +2,9 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Branches < Endpoint - # TODO: Add documentation. get('/') do - body service(:branches).find_all(params), type: :branches + body all(params).run, type: :branches end end end diff --git a/lib/travis/api/app/endpoint/builds.rb b/lib/travis/api/app/endpoint/builds.rb index cd74c36e..e7a5e957 100644 --- a/lib/travis/api/app/endpoint/builds.rb +++ b/lib/travis/api/app/endpoint/builds.rb @@ -2,16 +2,13 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Builds < Endpoint - # TODO: Add documentation. get '/' do - body service(:builds).find_all(params) + body all(params).run end - # TODO: Add documentation. get '/:id' do - body service(:builds).find_one(params) + body one(params).run end end end diff --git a/lib/travis/api/app/endpoint/hooks.rb b/lib/travis/api/app/endpoint/hooks.rb index e2ea4c78..19dc9a4e 100644 --- a/lib/travis/api/app/endpoint/hooks.rb +++ b/lib/travis/api/app/endpoint/hooks.rb @@ -2,16 +2,14 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Hooks < Endpoint - # TODO: Add implementation and documentation. get('/', scope: :private) do - body service(:hooks).find_all(params), type: :hooks + body all(params).run, type: :hooks end - # TODO: Add implementation and documentation. put('/:id', scope: :private) do - body service(:hooks).update(params[:hook]) + update(params[:hook]).run + 204 end end end diff --git a/lib/travis/api/app/endpoint/jobs.rb b/lib/travis/api/app/endpoint/jobs.rb index 66a70aff..bd2463ab 100644 --- a/lib/travis/api/app/endpoint/jobs.rb +++ b/lib/travis/api/app/endpoint/jobs.rb @@ -2,16 +2,13 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Jobs < Endpoint - # TODO: Add documentation. get('/') do - body service(:jobs).find_all(params) + body all(params).run end - # TODO: Add documentation. get('/:id') do - body service(:jobs).find_one(params) + body one(params).run end end end diff --git a/lib/travis/api/app/endpoint/repositories.rb b/lib/travis/api/app/endpoint/repositories.rb index 3053093d..a26161a9 100644 --- a/lib/travis/api/app/endpoint/repositories.rb +++ b/lib/travis/api/app/endpoint/repositories.rb @@ -2,16 +2,13 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Repositories < Endpoint - # TODO: Add documentation. get '/' do - body service(:repositories).find_all(params) + body all(params).run end - # TODO: Add documentation. get('/:id') do - body service(:repositories).find_one(params) + body one(params).run end # TODO make sure status images and cc.xml work diff --git a/lib/travis/api/app/endpoint/stats.rb b/lib/travis/api/app/endpoint/stats.rb index 4463dcdb..ac46bc7e 100644 --- a/lib/travis/api/app/endpoint/stats.rb +++ b/lib/travis/api/app/endpoint/stats.rb @@ -2,16 +2,13 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Stats < Endpoint - # TODO: Add documentation. get('/repos') do - { :stats => service(:stats).daily_repository_counts } + { :stats => service(:daily_repos) } end - # TODO: Add documentation. get('/tests') do - { :stats => service(:stats).daily_tests_counts } + { :stats => service(:daily_tests) } end end end diff --git a/lib/travis/api/app/endpoint/users.rb b/lib/travis/api/app/endpoint/users.rb index 60399ca1..3d2d90c2 100644 --- a/lib/travis/api/app/endpoint/users.rb +++ b/lib/travis/api/app/endpoint/users.rb @@ -23,21 +23,14 @@ class Travis::Api::App end put '/:id?', scope: :private do - service(:user).update_locale(locale) + update(params[:user]).run 204 end - # TODO: Add implementation and documentation. post '/sync', scope: :private do - service(:user).sync + service(:sync).run 204 end - - private - - def locale - params[:user][:locale] - end end end end diff --git a/lib/travis/api/app/endpoint/workers.rb b/lib/travis/api/app/endpoint/workers.rb index 47ff90c0..ea4c7729 100644 --- a/lib/travis/api/app/endpoint/workers.rb +++ b/lib/travis/api/app/endpoint/workers.rb @@ -2,11 +2,9 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - # TODO: Add documentation. class Workers < Endpoint - # TODO: Add implementation and documentation. get('/') do - body service(:workers).find_all(params) + body all(params).run end end end