diff-suggester 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/README.md +49 -0
- data/lib/diff-suggester/client/requester.rb +9 -3
- data/lib/diff-suggester/suggester.rb +2 -2
- data/lib/diff-suggester/version.rb +1 -1
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e928ab5a56d9207124800a481c535dce74a443adf6746adf905facf6a00caff1
|
4
|
+
data.tar.gz: 03f2acbd5595b5c5d54ddac6696fe002ad0b0f72dad06c6bd0a752497151330e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9ea25ac11eaf22a19b105b472e9c6937eb8020aaad4b6a99c3af6f78b6ec0570fae48c50ad4e97ddc37bc96aa48a0e2e432d5374a7321c96a78906f502b3c13
|
7
|
+
data.tar.gz: 6be82ef0be2903514151234801695788b40feb8c2bade92c7f70467265e1648fcf6893b8f70d04e616f02918736457b1629934b0bac2efea764d462bb24f7215
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1 +1,50 @@
|
|
1
1
|
# diff-suggester
|
2
|
+
|
3
|
+
It collaborates with formatters to suggest the differences shown by 'git diff' for GitHub Pull Request.
|
4
|
+
|
5
|
+
## How to use
|
6
|
+
|
7
|
+
1. Install
|
8
|
+
|
9
|
+
```zsh
|
10
|
+
gem install diff-suggester
|
11
|
+
```
|
12
|
+
|
13
|
+
2. Usage
|
14
|
+
|
15
|
+
First, run the formatter. Example for Android using spotless and ktlint is:
|
16
|
+
|
17
|
+
```
|
18
|
+
./gradlew spotlessKotlinApply
|
19
|
+
```
|
20
|
+
|
21
|
+
Next, run the suggester. It will comment the suggested changes as a diff on the Pull Request.
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
suggester = DiffSuggester::Suggester.new(
|
25
|
+
repo: '<your-name/repo-name>',
|
26
|
+
pr_number: 0, # Pull Request number
|
27
|
+
access_token: '<Your PAT>'
|
28
|
+
)
|
29
|
+
suggester.suggest
|
30
|
+
```
|
31
|
+
|
32
|
+
If use GitHub Actions:
|
33
|
+
|
34
|
+
```yml
|
35
|
+
- name: Run suggester
|
36
|
+
env:
|
37
|
+
REPOSITORY: ${{ github.repository }}
|
38
|
+
PR_NUMBER: ${{ github.event.number }}
|
39
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
40
|
+
run: ruby suggest.rb
|
41
|
+
```
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
suggester = DiffSuggester::Suggester.new(
|
45
|
+
repo: ENV["REPOSITORY"],
|
46
|
+
pr_number: ENV["PR_NUMBER"],
|
47
|
+
access_token: ENV["GITHUB_TOKEN"]
|
48
|
+
)
|
49
|
+
suggester.suggest
|
50
|
+
```
|
@@ -5,11 +5,13 @@ require 'octokit'
|
|
5
5
|
module GitHubRequester
|
6
6
|
class PullRequest
|
7
7
|
|
8
|
-
def initialize(repo:, pr_number:, access_token:)
|
9
|
-
octokit_client = Octokit::Client.new(access_token: access_token)
|
8
|
+
def initialize(repo:, pr_number:, access_token:, base_url: nil)
|
9
|
+
octokit_client = base_url.nil? ? Octokit::Client.new(access_token: access_token) :
|
10
|
+
Octokit::Client.new(access_token: access_token, api_endpoint: base_url)
|
10
11
|
@pr = octokit_client.pull_request(repo, pr_number)
|
11
12
|
|
12
|
-
@uri = URI.parse("
|
13
|
+
@uri = URI.parse("#{base_url || default_base_url}/repos/#{repo}/pulls/#{@pr.number}/comments")
|
14
|
+
|
13
15
|
@request = Net::HTTP::Post.new(@uri)
|
14
16
|
@request['Accept'] = 'application/vnd.github+json'
|
15
17
|
@request['Authorization'] = "Bearer #{access_token}"
|
@@ -32,5 +34,9 @@ module GitHubRequester
|
|
32
34
|
end
|
33
35
|
return response
|
34
36
|
end
|
37
|
+
|
38
|
+
private def default_base_url
|
39
|
+
return 'https://api.github.com'
|
40
|
+
end
|
35
41
|
end
|
36
42
|
end
|
@@ -4,8 +4,8 @@ require_relative 'client/requester'
|
|
4
4
|
module DiffSuggester
|
5
5
|
class Suggester
|
6
6
|
|
7
|
-
def initialize(repo:, pr_number:, access_token:)
|
8
|
-
@pull_request = GitHubRequester::PullRequest.new(repo: repo, pr_number: pr_number, access_token: access_token)
|
7
|
+
def initialize(repo:, pr_number:, access_token:, base_url: nil)
|
8
|
+
@pull_request = GitHubRequester::PullRequest.new(repo: repo, pr_number: pr_number, access_token: access_token, base_url: base_url)
|
9
9
|
end
|
10
10
|
|
11
11
|
def suggest
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff-suggester
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tick-taku
|
@@ -9,7 +9,35 @@ autorequire:
|
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2023-04-28 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: git_diff
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: octokit
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
description:
|
14
42
|
email:
|
15
43
|
- tick.taku.77@gmail.com
|