From fe9a6536d7c836d5ce6857bbec289c2679980e12 Mon Sep 17 00:00:00 2001 From: carlad Date: Fri, 21 Aug 2015 13:38:07 +0200 Subject: [PATCH 1/2] add builds --- lib/travis/api/v3/queries/builds.rb | 13 +++++++++++++ lib/travis/api/v3/renderer/builds.rb | 6 ++++++ lib/travis/api/v3/routes.rb | 5 +++++ lib/travis/api/v3/services.rb | 1 + lib/travis/api/v3/services/builds/find.rb | 7 +++++++ 5 files changed, 32 insertions(+) create mode 100644 lib/travis/api/v3/queries/builds.rb create mode 100644 lib/travis/api/v3/renderer/builds.rb create mode 100644 lib/travis/api/v3/services/builds/find.rb diff --git a/lib/travis/api/v3/queries/builds.rb b/lib/travis/api/v3/queries/builds.rb new file mode 100644 index 00000000..0991f1b1 --- /dev/null +++ b/lib/travis/api/v3/queries/builds.rb @@ -0,0 +1,13 @@ +module Travis::API::V3 + class Queries::Builds < Query + def find(repository) + repository.builds + end + + def count(repository, time_frame) + find(repository). + where(event_type: 'api'.freeze, result: 'accepted'.freeze). + where('created_at > ?'.freeze, time_frame.ago).count + end + end +end diff --git a/lib/travis/api/v3/renderer/builds.rb b/lib/travis/api/v3/renderer/builds.rb new file mode 100644 index 00000000..d8aede4c --- /dev/null +++ b/lib/travis/api/v3/renderer/builds.rb @@ -0,0 +1,6 @@ +module Travis::API::V3 + class Renderer::Builds < Renderer::CollectionRenderer + type :builds + collection_key :builds + end +end diff --git a/lib/travis/api/v3/routes.rb b/lib/travis/api/v3/routes.rb index a828f295..49afbee0 100644 --- a/lib/travis/api/v3/routes.rb +++ b/lib/travis/api/v3/routes.rb @@ -39,6 +39,11 @@ module Travis::API::V3 get :for_current_user end + resource :builds do + route '/builds' + get :find + end + resource :build do capture id: :digit route '/build/{build.id}' diff --git a/lib/travis/api/v3/services.rb b/lib/travis/api/v3/services.rb index 9df67da4..4aabfb7c 100644 --- a/lib/travis/api/v3/services.rb +++ b/lib/travis/api/v3/services.rb @@ -5,6 +5,7 @@ module Travis::API::V3 Accounts = Module.new { extend Services } Branch = Module.new { extend Services } Build = Module.new { extend Services } + Builds = Module.new { extend Services } Organization = Module.new { extend Services } Organizations = Module.new { extend Services } Owner = Module.new { extend Services } diff --git a/lib/travis/api/v3/services/builds/find.rb b/lib/travis/api/v3/services/builds/find.rb new file mode 100644 index 00000000..b91029cd --- /dev/null +++ b/lib/travis/api/v3/services/builds/find.rb @@ -0,0 +1,7 @@ +module Travis::API::V3 + class Services::Builds::Find < Service + def run! + find(:builds, find(:repository)) + end + end +end From f7634f0f39ca966a786ccd2828c786c0aa5c40ab Mon Sep 17 00:00:00 2001 From: carlad Date: Fri, 21 Aug 2015 13:48:47 +0200 Subject: [PATCH 2/2] update routes for builds --- lib/travis/api/v3/queries/builds.rb | 6 ------ lib/travis/api/v3/routes.rb | 10 +++++----- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/travis/api/v3/queries/builds.rb b/lib/travis/api/v3/queries/builds.rb index 0991f1b1..0877bac5 100644 --- a/lib/travis/api/v3/queries/builds.rb +++ b/lib/travis/api/v3/queries/builds.rb @@ -3,11 +3,5 @@ module Travis::API::V3 def find(repository) repository.builds end - - def count(repository, time_frame) - find(repository). - where(event_type: 'api'.freeze, result: 'accepted'.freeze). - where('created_at > ?'.freeze, time_frame.ago).count - end end end diff --git a/lib/travis/api/v3/routes.rb b/lib/travis/api/v3/routes.rb index 49afbee0..710621b0 100644 --- a/lib/travis/api/v3/routes.rb +++ b/lib/travis/api/v3/routes.rb @@ -28,6 +28,11 @@ module Travis::API::V3 post :create end + resource :builds do + route '/builds' + get :find + end + resource :branch do route '/branch/{branch.name}' get :find @@ -39,11 +44,6 @@ module Travis::API::V3 get :for_current_user end - resource :builds do - route '/builds' - get :find - end - resource :build do capture id: :digit route '/build/{build.id}'