Read about our upcoming Code of Conduct on this issue

This instance will be upgraded to Heptapod 0.28.0 on 2022-01-18 at 14:00 UTC+1 (a few minutes of down time)

Commit 67b7637e authored by Valery Sizov's avatar Valery Sizov
Browse files

Apply review comments. Iteration 1

parent 8245eac13643
......@@ -5,40 +5,39 @@ def initialize(options = {})
end
def issues(repo)
relative_path = "/repositories/#{repo}/issues"
paginator = Paginator.new(connection, relative_path, :issue)
path = "/repositories/#{repo}/issues"
paginator = Paginator.new(connection, path, :issue)
Collection.new(paginator)
end
def issue_comments(repo, number)
relative_path = "/repositories/#{repo}/issues/#{number}/comments"
paginator = Paginator.new(connection, relative_path, :url)
def issue_comments(repo, issue_id)
path = "/repositories/#{repo}/issues/#{issue_id}/comments"
paginator = Paginator.new(connection, path, :url)
Collection.new(paginator).map do |comment_url|
parsed_response = connection.get(comment_url.to_s)
Representation::Comment.new(parsed_response)
Representation::Comment.new(connection.get(comment_url.to_s))
end
end
def pull_requests(repo)
relative_path = "/repositories/#{repo}/pullrequests?state=ALL"
paginator = Paginator.new(connection, relative_path, :pull_request)
path = "/repositories/#{repo}/pullrequests?state=ALL"
paginator = Paginator.new(connection, path, :pull_request)
Collection.new(paginator)
end
def pull_request_comments(repo, pull_request)
relative_path = "/repositories/#{repo}/pullrequests/#{pull_request}/comments"
paginator = Paginator.new(connection, relative_path, :pull_request_comment)
path = "/repositories/#{repo}/pullrequests/#{pull_request}/comments"
paginator = Paginator.new(connection, path, :pull_request_comment)
Collection.new(paginator)
end
def pull_request_diff(repo, pull_request)
relative_path = "/repositories/#{repo}/pullrequests/#{pull_request}/diff"
path = "/repositories/#{repo}/pullrequests/#{pull_request}/diff"
connection.get(relative_path)
connection.get(path)
end
def repo(name)
......@@ -47,8 +46,8 @@ def repo(name)
end
def repos
relative_path = "/repositories/#{user.username}"
paginator = Paginator.new(connection, relative_path, :repo)
path = "/repositories/#{user.username}"
paginator = Paginator.new(connection, path, :repo)
Collection.new(paginator)
end
......
......@@ -5,8 +5,8 @@ class Connection
DEFAULT_QUERY = {}
def initialize(options = {})
@api_version = options.fetch(:api_version, DEFAULT_API_VERSION)
@base_uri = options.fetch(:base_uri, DEFAULT_BASE_URI)
@api_version = options.fetch(:api_version, DEFAULT_API_VERSION)
@base_uri = options.fetch(:base_uri, DEFAULT_BASE_URI)
@default_query = options.fetch(:query, DEFAULT_QUERY)
@token = options[:token]
......@@ -23,7 +23,7 @@ def connection
@connection ||= OAuth2::AccessToken.new(client, @token, refresh_token: @refresh_token, expires_at: @expires_at, expires_in: @expires_in)
end
def query(params = {})
def set_default_query_parameters(params = {})
@default_query.merge!(params)
end
......@@ -63,7 +63,7 @@ def root_url
end
def provider
Gitlab.config.omniauth.providers.find { |provider| provider.name == 'bitbucket' }
Gitlab::OAuth::Provider.config_for('bitbucket')
end
def options
......
......@@ -8,7 +8,7 @@ def initialize(connection, url, type)
@url = url
@page = nil
connection.query(pagelen: PAGE_LENGTH, sort: :created_on)
connection.set_default_query_parameters(pagelen: PAGE_LENGTH, sort: :created_on)
end
def next
......
......@@ -8,7 +8,7 @@ def iid
end
def author
reporter.fetch('username', 'Anonymous')
raw.dig('reporter', 'username') || 'Anonymous'
end
def description
......@@ -40,10 +40,6 @@ def to_s
def closed?
CLOSED_STATUS.include?(raw['state'])
end
def reporter
raw.fetch('reporter', {})
end
end
end
end
......@@ -18,7 +18,7 @@ def new_pos
end
def parent_id
raw.fetch('parent', {}).fetch('id', nil)
raw.dig('parent', 'id')
end
def inline?
......
......@@ -23,7 +23,9 @@ def clone_url(token = nil)
url = raw['links']['clone'].find { |link| link['name'] == 'https' }.fetch('href')
if token.present?
url.sub(/^[^\@]*/, "https://x-token-auth:#{token}")
clone_url = URI::parse(url)
clone_url.user = "x-token-auth:#{token}"
clone_url.to_s
else
url
end
......@@ -37,7 +39,7 @@ def full_name
raw['full_name']
end
def has_issues?
def issues_enabled?
raw['has_issues']
end
......
......@@ -32,7 +32,7 @@ def repo
end
def import_issues
return unless repo.has_issues?
return unless repo.issues_enabled?
client.issues(repo).each do |issue|
description = @formatter.author_line(issue.author)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment