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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7b607ca09b45ce7add2558237deed9d31fee26d4b3ad13c2fb7f29b0afee357
4
- data.tar.gz: 701bdeeae497c20b37f30dea56e4565f78142ea623067c9081841384b1e3eff0
3
+ metadata.gz: e928ab5a56d9207124800a481c535dce74a443adf6746adf905facf6a00caff1
4
+ data.tar.gz: 03f2acbd5595b5c5d54ddac6696fe002ad0b0f72dad06c6bd0a752497151330e
5
5
  SHA512:
6
- metadata.gz: 7f12a83ec6ae1d5cacf2c7903546aada163ba23db8b3626e312f35a5fbf3103be006da8a9a15caa91dd3c07853d8ec1a6c4321ee4afe01d16d725cf042593022
7
- data.tar.gz: e7641b38ba0813c3d5eec2824866ed10c16906ceb47276181aa0efed195e569e47339527c3fd1b0b2bd499f9f815e8fdf3b81e57bf41d63ee8b3c295a1793734
6
+ metadata.gz: d9ea25ac11eaf22a19b105b472e9c6937eb8020aaad4b6a99c3af6f78b6ec0570fae48c50ad4e97ddc37bc96aa48a0e2e432d5374a7321c96a78906f502b3c13
7
+ data.tar.gz: 6be82ef0be2903514151234801695788b40feb8c2bade92c7f70467265e1648fcf6893b8f70d04e616f02918736457b1629934b0bac2efea764d462bb24f7215
data/Gemfile CHANGED
@@ -9,6 +9,5 @@ gem "rspec", "~> 3.0"
9
9
 
10
10
  gem "rubocop", "~> 1.21"
11
11
 
12
- gem "danger"
13
12
  gem "git_diff"
14
13
  gem "octokit"
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("https://api.github.com/repos/#{repo}/pulls/#{@pr.number}/comments")
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
@@ -1,3 +1,3 @@
1
1
  module DiffSuggester
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
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.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