diff --git a/lib/travis/api/v3/routes.rb b/lib/travis/api/v3/routes.rb index e911ac78..83343ad8 100644 --- a/lib/travis/api/v3/routes.rb +++ b/lib/travis/api/v3/routes.rb @@ -7,6 +7,9 @@ module Travis::API::V3 route '/repo/{repository.id}' get :find + post :enable, '/enable' + post :disable, '/disable' + resource :requests do route '/requests' get :find diff --git a/lib/travis/api/v3/services/repository/disable.rb b/lib/travis/api/v3/services/repository/disable.rb new file mode 100644 index 00000000..9e5103ac --- /dev/null +++ b/lib/travis/api/v3/services/repository/disable.rb @@ -0,0 +1,7 @@ +module Travis::API::V3 + class Services::Repository::Disable < Service + def run!(activate = false) + not_implemented + end + end +end diff --git a/lib/travis/api/v3/services/repository/enable.rb b/lib/travis/api/v3/services/repository/enable.rb new file mode 100644 index 00000000..5d85439b --- /dev/null +++ b/lib/travis/api/v3/services/repository/enable.rb @@ -0,0 +1,7 @@ +module Travis::API::V3 + class Services::Repository::Enable < Services::Repository::Disable + def run! + super(true) + end + end +end diff --git a/spec/v3/service_index_spec.rb b/spec/v3/service_index_spec.rb index ce53c2e4..325392e0 100644 --- a/spec/v3/service_index_spec.rb +++ b/spec/v3/service_index_spec.rb @@ -9,7 +9,9 @@ describe Travis::API::V3::ServiceIndex do describe "custom json entry point" do let(:expected_resources) {{ "repository" => { - "find" => [{"request-method"=>"GET", "uri-template"=>"#{path}repo/{repository.id}"}] }, + "find" => [{"request-method"=>"GET", "uri-template"=>"#{path}repo/{repository.id}"}], + "enable" => [{"request-method"=>"POST", "uri-template"=>"#{path}repo/{repository.id}/enable"}], + "disable" => [{"request-method"=>"POST", "uri-template"=>"#{path}repo/{repository.id}/disable"}] }, "repositories" => { "for_current_user" => [{"request-method"=>"GET", "uri-template"=>"#{path}repos"}] }, "build" => {