diff-suggester 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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