Skip to content

Commit ac0a8e4

Browse files
committed
use the service api for fetch_config and find_admin services
1 parent 8c7f1e8 commit ac0a8e4

File tree

9 files changed

+18
-22
lines changed

9 files changed

+18
-22
lines changed

lib/travis.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ module Travis
5454
autoload :Task, 'travis/task'
5555
autoload :Testing, 'travis/testing'
5656

57+
extend Services
58+
5759
class UnknownRepository < StandardError; end
5860
class GithubApiError < StandardError; end
5961
class AdminMissing < StandardError; end

lib/travis/model/repository.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def counts_by_owner_names(owner_names)
9494
end
9595

9696
def admin
97-
@admin ||= Travis::Services::Github::FindAdmin.new(self).run # TODO check who's using this
97+
@admin ||= Travis.service(:github, :find_admin, repository: self).run # TODO check who's using this
9898
end
9999

100100
def slug

lib/travis/model/request/states.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def approval
3838
end
3939

4040
def fetch_config
41-
Travis::Services::Github::FetchConfig.new(self).run
41+
Travis.service(:github, :fetch_config, request: self).run
4242
end
4343

4444
def add_build

lib/travis/services/github/fetch_config.rb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,10 @@ module Travis
44
module Services
55
module Github
66
# encapsulates fetching a .travis.yml from a given commit's config_url
7-
class FetchConfig
7+
class FetchConfig < Base
88
include Logging
99
extend Instrumentation
1010

11-
attr_accessor :request
12-
13-
def initialize(request)
14-
@request = request
15-
end
16-
1711
def run
1812
parse(fetch) || { '.result' => 'not_found' }
1913
rescue GH::Error => e
@@ -25,6 +19,10 @@ def run
2519
end
2620
instrument :run
2721

22+
def request
23+
params[:request]
24+
end
25+
2826
def config_url
2927
request.config_url
3028
end

lib/travis/services/github/find_admin.rb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module Travis
44
module Services
55
module Github
6-
class FindAdmin
6+
class FindAdmin < Base
77
extend Travis::Instrumentation
88
include Travis::Logging
99

@@ -13,18 +13,16 @@ def for_repository(repository)
1313
end
1414
end
1515

16-
attr_reader :repository
17-
18-
def initialize(repository)
19-
@repository = repository
20-
end
21-
2216
def run
2317
admin = candidates.detect { |user| validate(user) }
2418
admin || raise_admin_missing
2519
end
2620
instrument :run
2721

22+
def repository
23+
params[:repository]
24+
end
25+
2826
private
2927

3028
def candidates

spec/travis/notification/instrument/services/github/fetch_config_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
include Travis::Testing::Stubs
55

66
let(:body) { { 'content' => ['foo: Foo'].pack('m') } }
7-
let(:service) { Travis::Services::Github::FetchConfig.new(request) }
7+
let(:service) { Travis::Services::Github::FetchConfig.new(nil, request: request) }
88
let(:publisher) { Travis::Notification::Publisher::Memory.new }
99
let(:event) { publisher.events[1] }
1010

spec/travis/notification/instrument/services/github/find_admin_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
let(:publisher) { Travis::Notification::Publisher::Memory.new }
77
let(:event) { publisher.events[1] }
8-
let(:service) { Travis::Services::Github::FindAdmin.new(repository) }
8+
let(:service) { Travis::Services::Github::FindAdmin.new(nil, repository: repository) }
99

1010
before :each do
1111
Travis::Notification.publishers.replace([publisher])

spec/travis/services/github/fetch_config_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
let(:subject) { Travis::Services::Github::FetchConfig }
77
let(:body) { { 'content' => ['foo: Foo'].pack('m') } }
8-
let(:service) { subject.new(request) }
8+
let(:service) { subject.new(nil, request: request) }
99
let(:result) { service.run }
1010
let(:exception) { GH::Error.new }
1111

spec/travis/services/github/find_admin_spec.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
describe Travis::Services::Github::FindAdmin do
44
include Travis::Testing::Stubs
55

6-
let(:subject) { Travis::Services::Github::FindAdmin }
7-
86
describe 'find' do
9-
let(:result) { subject.new(repository).run }
7+
let(:result) { described_class.new(nil, repository: repository).run }
108

119
before :each do
1210
User.stubs(:with_permissions).with(:repository_id => repository.id, :admin => true).returns [user]

0 commit comments

Comments
 (0)