sashimi_tanpopo 0.3.4 → 0.5.0

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: 32c85eb518fc708ee605fc416ed159cdb54762a036fb62f2172cf7bb7f09253e
4
- data.tar.gz: e38e61ab6353d5160fa25683acb79bdacbfa612b41429fafae26d20675bd383c
3
+ metadata.gz: 4f5082df6a85952f9343981a3411dd5d22f068353eafde12f3d5c77ca79c3b93
4
+ data.tar.gz: df9717ef22489e1544d749a34381cf565a1872183cd917c623dbd6ce3c45e2b8
5
5
  SHA512:
6
- metadata.gz: 9f81582f540a40fb63aba094d8dfc9654116fddc1e42b792a94ccafa1556be4127811217cbd6a9c3d8f5399667348b152241fa8f0802bd9dd7abe5ad18a78135
7
- data.tar.gz: cba55fb39a6d0d0f5689e1064f0c721cc0e452b255f6719db0c41a75384f497ee914c8180d2d5f970950a8e0602b9c2e7e3229f9ba9e4fa5d4837df69bf47935
6
+ metadata.gz: b639c6ea789122964b4cecb6a322df113fed25029627533b4ae6f84fa0f6ef18b486fbdff8cf81c49c1d613df1c9a4e1285905f0e0631a4a80a29d4a075b368c
7
+ data.tar.gz: 79b503cb2579a13a0b3ee8fb71d176b8423b7e595b5e7c42ab055f3c29a54bc621992c9946d1a53c8bdacef06fc157d0e7a41e9d41a9016893cf7885e9a07c57
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ## [Unreleased]
2
- [full changelog](http://github.com/sue445/sashimi_tanpopo/compare/v0.3.4...main)
2
+ [full changelog](http://github.com/sue445/sashimi_tanpopo/compare/v0.5.0...main)
3
+
4
+ ## [v0.5.0](https://github.com/sue445/sashimi_tanpopo/releases/tag/v0.5.0) - 2025-12-07
5
+ [full changelog](http://github.com/sue445/sashimi_tanpopo/compare/v0.4.0...v0.5.0)
6
+
7
+ * Add `--only-changes-summary` to `sashimi_tanpopo github`
8
+ * https://github.com/sue445/sashimi_tanpopo/pull/84
9
+
10
+ ## [v0.4.0](https://github.com/sue445/sashimi_tanpopo/releases/tag/v0.4.0) - 2025-12-03
11
+ [full changelog](http://github.com/sue445/sashimi_tanpopo/compare/v0.3.4...v0.4.0)
12
+
13
+ * Add `create` arg to `update_file`
14
+ * https://github.com/sue445/sashimi_tanpopo/pull/80
3
15
 
4
16
  ## [v0.3.4](https://github.com/sue445/sashimi_tanpopo/releases/tag/v0.3.4) - 2025-11-30
5
17
  [full changelog](http://github.com/sue445/sashimi_tanpopo/compare/v0.3.3...v0.3.4)
data/Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
1
  ARG RUBY_VERSION=3.4
2
2
  FROM ruby:${RUBY_VERSION}-alpine
3
3
 
4
- ARG SASHIMI_TANPOPO_VERSION=0.3.3
4
+ ARG SASHIMI_TANPOPO_VERSION=0.4.0
5
5
 
6
6
  WORKDIR /work
7
7
 
data/README.md CHANGED
@@ -81,29 +81,31 @@ Usage:
81
81
  sashimi_tanpopo github RECIPE [RECIPE...] --pr-source-branch=pr_branch --pr-title=PR_TITLE -m, --message=COMMIT_MESSAGE
82
82
 
83
83
  Options:
84
- -d, [--target-dir=TARGET_DIR] # Target directory. Default: current directory
85
- -p, [--params=key:value] # Params passed to recipe file
86
- [--dry-run], [--no-dry-run], [--skip-dry-run] # Whether to run dry run
87
- # Default: false
88
- [--color], [--no-color], [--skip-color] # Whether to colorize output
89
- # Default: true
90
- [--git-user-name=GIT_USER_NAME] # user name for git commit. Default: username of user authenticated with token
91
- [--git-email=GIT_EMAIL] # email for git commit. Default: <git_user_name>@users.noreply.<github_host>
92
- -m, --message=COMMIT_MESSAGE # commit message
93
- [--github-repository=user/repo] # GitHub repository for Pull Request. One of --github--repository or $GITHUB_REPOSITORY is required [$GITHUB_REPOSITORY]
94
- [--github-api-url=GITHUB_API_URL] # GitHub API endpoint. One of --github-api-url or $GITHUB_API_URL is required [$GITHUB_API_URL]
95
- # Default: https://api.github.com
96
- [--github-token=GITHUB_TOKEN] # GitHub access token. One of --github-token or $GITHUB_TOKEN is required [$GITHUB_TOKEN]
97
- [--github-step-summary=GITHUB_STEP_SUMMARY] # Path to GitHub step summary file [$GITHUB_STEP_SUMMARY]
98
- --pr-title=PR_TITLE # Pull Request title
99
- [--pr-body=PR_BODY] # Pull Request body
100
- --pr-source-branch=pr_branch # Pull Request source branch (a.k.a. head branch)
101
- [--pr-target-branch=main] # Pull Request target branch (a.k.a. base branch). Default: default branch of repository (e.g. main, master)
102
- [--pr-assignees=one two three] # Pull Request assignees
103
- [--pr-reviewers=one two three] # Pull Request reviewers
104
- [--pr-labels=one two three] # Pull Request labels
105
- [--pr-draft], [--no-pr-draft], [--skip-pr-draft] # Whether to create draft Pull Request
106
- # Default: false
84
+ -d, [--target-dir=TARGET_DIR] # Target directory. Default: current directory
85
+ -p, [--params=key:value] # Params passed to recipe file
86
+ [--dry-run], [--no-dry-run], [--skip-dry-run] # Whether to run dry run
87
+ # Default: false
88
+ [--color], [--no-color], [--skip-color] # Whether to colorize output
89
+ # Default: true
90
+ [--git-user-name=GIT_USER_NAME] # user name for git commit. Default: username of user authenticated with token
91
+ [--git-email=GIT_EMAIL] # email for git commit. Default: <git_user_name>@users.noreply.<github_host>
92
+ -m, --message=COMMIT_MESSAGE # commit message
93
+ [--github-repository=user/repo] # GitHub repository for Pull Request. One of --github--repository or $GITHUB_REPOSITORY is required [$GITHUB_REPOSITORY]
94
+ [--github-api-url=GITHUB_API_URL] # GitHub API endpoint. One of --github-api-url or $GITHUB_API_URL is required [$GITHUB_API_URL]
95
+ # Default: https://api.github.com
96
+ [--github-token=GITHUB_TOKEN] # GitHub access token. One of --github-token or $GITHUB_TOKEN is required [$GITHUB_TOKEN]
97
+ [--github-step-summary=GITHUB_STEP_SUMMARY] # Path to GitHub step summary file [$GITHUB_STEP_SUMMARY]
98
+ [--only-changes-summary], [--no-only-changes-summary], [--skip-only-changes-summary] # Whether to write only file changes to step summary file
99
+ # Default: false
100
+ --pr-title=PR_TITLE # Pull Request title
101
+ [--pr-body=PR_BODY] # Pull Request body
102
+ --pr-source-branch=pr_branch # Pull Request source branch (a.k.a. head branch)
103
+ [--pr-target-branch=main] # Pull Request target branch (a.k.a. base branch). Default: default branch of repository (e.g. main, master)
104
+ [--pr-assignees=one two three] # Pull Request assignees
105
+ [--pr-reviewers=one two three] # Pull Request reviewers
106
+ [--pr-labels=one two three] # Pull Request labels
107
+ [--pr-draft], [--no-pr-draft], [--skip-pr-draft] # Whether to create draft Pull Request
108
+ # Default: false
107
109
  ```
108
110
 
109
111
  `--github-token` requires followings repository permissions
data/docs/RECIPE.md CHANGED
@@ -53,11 +53,17 @@ end
53
53
  update_file ".github/workflows/*.yml" do |content|
54
54
  content.gsub!(/ruby-version: "(.+)"/, %Q{ruby-version: "#{params[:ruby_version]}"})
55
55
  end
56
+
57
+ # Create new file if file doesn’t exist
58
+ update_file "new_file.txt", create: true do |content|
59
+ content.replace("My name is " + params[:name])
60
+ end
56
61
  ```
57
62
 
58
63
  Parameters:
59
64
 
60
65
  * `pattern`: Path to target file (relative path from `--target-dir`). This supports [`Dir.glob`](https://ruby-doc.org/current/Dir.html#method-c-glob) pattern. (e.g. `.github/workflows/*.yml`)
66
+ * `create` (defaults to `false`): Whether create new file if file doesn’t exist
61
67
 
62
68
  Yield Parameters:
63
69
 
@@ -35,49 +35,51 @@ module SashimiTanpopo
35
35
 
36
36
  desc "github RECIPE [RECIPE...]", "Change local files using recipe files and create Pull Request"
37
37
  define_exec_common_options
38
- option :git_user_name, type: :string, desc: "user name for git commit. Default: username of user authenticated with token"
39
- option :git_email, type: :string, desc: "email for git commit. Default: <git_user_name>@users.noreply.<github_host>"
40
- option :message, type: :string, desc: "commit message", required: true, aliases: "-m", banner: "COMMIT_MESSAGE"
41
- option :github_repository, type: :string, desc: "GitHub repository for Pull Request. One of --github--repository or $GITHUB_REPOSITORY is required [$GITHUB_REPOSITORY]", banner: "user/repo"
42
- option :github_api_url, type: :string, desc: "GitHub API endpoint. One of --github-api-url or $GITHUB_API_URL is required [$GITHUB_API_URL]", default: "https://api.github.com"
43
- option :github_token, type: :string, desc: "GitHub access token. One of --github-token or $GITHUB_TOKEN is required [$GITHUB_TOKEN]"
44
- option :github_step_summary, type: :string, desc: "Path to GitHub step summary file [$GITHUB_STEP_SUMMARY]"
45
- option :pr_title, type: :string, desc: "Pull Request title", required: true
46
- option :pr_body, type: :string, desc: "Pull Request body"
47
- option :pr_source_branch, type: :string, desc: "Pull Request source branch (a.k.a. head branch)", required: true, banner: "pr_branch"
48
- option :pr_target_branch, type: :string, desc: "Pull Request target branch (a.k.a. base branch). Default: default branch of repository (e.g. main, master)", banner: "main"
49
- option :pr_assignees, type: :array, desc: "Pull Request assignees", default: []
50
- option :pr_reviewers, type: :array, desc: "Pull Request reviewers", default: []
51
- option :pr_labels, type: :array, desc: "Pull Request labels", default: []
52
- option :pr_draft, type: :boolean, desc: "Whether to create draft Pull Request", default: false
38
+ option :git_user_name, type: :string, desc: "user name for git commit. Default: username of user authenticated with token"
39
+ option :git_email, type: :string, desc: "email for git commit. Default: <git_user_name>@users.noreply.<github_host>"
40
+ option :message, type: :string, desc: "commit message", required: true, aliases: "-m", banner: "COMMIT_MESSAGE"
41
+ option :github_repository, type: :string, desc: "GitHub repository for Pull Request. One of --github--repository or $GITHUB_REPOSITORY is required [$GITHUB_REPOSITORY]", banner: "user/repo"
42
+ option :github_api_url, type: :string, desc: "GitHub API endpoint. One of --github-api-url or $GITHUB_API_URL is required [$GITHUB_API_URL]", default: "https://api.github.com"
43
+ option :github_token, type: :string, desc: "GitHub access token. One of --github-token or $GITHUB_TOKEN is required [$GITHUB_TOKEN]"
44
+ option :github_step_summary, type: :string, desc: "Path to GitHub step summary file [$GITHUB_STEP_SUMMARY]"
45
+ option :only_changes_summary, type: :boolean, desc: "Whether to write only file changes to step summary file", default: false
46
+ option :pr_title, type: :string, desc: "Pull Request title", required: true
47
+ option :pr_body, type: :string, desc: "Pull Request body"
48
+ option :pr_source_branch, type: :string, desc: "Pull Request source branch (a.k.a. head branch)", required: true, banner: "pr_branch"
49
+ option :pr_target_branch, type: :string, desc: "Pull Request target branch (a.k.a. base branch). Default: default branch of repository (e.g. main, master)", banner: "main"
50
+ option :pr_assignees, type: :array, desc: "Pull Request assignees", default: []
51
+ option :pr_reviewers, type: :array, desc: "Pull Request reviewers", default: []
52
+ option :pr_labels, type: :array, desc: "Pull Request labels", default: []
53
+ option :pr_draft, type: :boolean, desc: "Whether to create draft Pull Request", default: false
53
54
  def github(*recipe_files)
54
- repository = option_or_env!(option_name: :github_repository, env_name: "GITHUB_REPOSITORY")
55
- api_endpoint = option_or_env!(option_name: :github_api_url, env_name: "GITHUB_API_URL")
56
- access_token = option_or_env!(option_name: :github_token, env_name: "GITHUB_TOKEN")
55
+ repository = option_or_env!(option_name: :github_repository, env_name: "GITHUB_REPOSITORY")
56
+ api_endpoint = option_or_env!(option_name: :github_api_url, env_name: "GITHUB_API_URL")
57
+ access_token = option_or_env!(option_name: :github_token, env_name: "GITHUB_TOKEN")
57
58
 
58
59
  summary_path = option_or_env(option_name: :github_step_summary, env_name: "GITHUB_STEP_SUMMARY")
59
60
 
60
61
  Provider::GitHub.new(
61
- recipe_paths: recipe_files,
62
- target_dir: options[:target_dir],
63
- params: self.class.normalize_params(options[:params]),
64
- dry_run: options[:dry_run],
65
- is_colored: options[:color],
66
- git_username: options[:git_user_name],
67
- git_email: options[:git_email],
68
- commit_message: options[:message],
69
- repository: repository,
70
- api_endpoint: api_endpoint,
71
- access_token: access_token,
72
- pr_title: options[:pr_title],
73
- pr_body: options[:pr_body],
74
- pr_source_branch: options[:pr_source_branch],
75
- pr_target_branch: options[:pr_target_branch],
76
- pr_assignees: options[:pr_assignees],
77
- pr_reviewers: options[:pr_reviewers],
78
- pr_labels: options[:pr_labels],
79
- is_draft_pr: options[:pr_draft],
80
- summary_path: summary_path,
62
+ recipe_paths: recipe_files,
63
+ target_dir: options[:target_dir],
64
+ params: self.class.normalize_params(options[:params]),
65
+ dry_run: options[:dry_run],
66
+ is_colored: options[:color],
67
+ git_username: options[:git_user_name],
68
+ git_email: options[:git_email],
69
+ commit_message: options[:message],
70
+ repository: repository,
71
+ api_endpoint: api_endpoint,
72
+ access_token: access_token,
73
+ pr_title: options[:pr_title],
74
+ pr_body: options[:pr_body],
75
+ pr_source_branch: options[:pr_source_branch],
76
+ pr_target_branch: options[:pr_target_branch],
77
+ pr_assignees: options[:pr_assignees],
78
+ pr_reviewers: options[:pr_reviewers],
79
+ pr_labels: options[:pr_labels],
80
+ is_draft_pr: options[:pr_draft],
81
+ summary_path: summary_path,
82
+ only_changes_summary: options[:only_changes_summary],
81
83
  ).perform
82
84
  end
83
85
 
@@ -116,6 +116,7 @@ module SashimiTanpopo
116
116
  # Update files if exists
117
117
  #
118
118
  # @param pattern [String] Path to target file (relative path from `--target-dir`). This supports [`Dir.glob`](https://ruby-doc.org/current/Dir.html#method-c-glob) pattern. (e.g. `.github/workflows/*.yml`)
119
+ # @param create [Boolean] Whether create new file if file doesn't exist
119
120
  #
120
121
  # @yieldparam content [String] Content of file. If `content` is changed in block, file will be changed.
121
122
  #
@@ -128,7 +129,21 @@ module SashimiTanpopo
128
129
  # update_file ".github/workflows/*.yml" do |content|
129
130
  # content.gsub!(/ruby-version: "(.+)"/, %Q{ruby-version: "#{params[:ruby_version]}"})
130
131
  # end
131
- def update_file(pattern, &block)
132
+ #
133
+ # @example Create new file if file doesn't exist
134
+ # update_file "new_file.txt", create: true do |content|
135
+ # content.replace("My name is " + params[:name])
136
+ # end
137
+ def update_file(pattern, create: false, &block)
138
+ update_file_with_glob(pattern, &block)
139
+ create_new_file(pattern, &block) if create
140
+ end
141
+
142
+ private
143
+
144
+ # @param pattern [String]
145
+ # @yieldparam content [String] Content of file. If `content` is changed in block, file will be changed.
146
+ def update_file_with_glob(pattern, &block)
132
147
  Dir.glob(pattern).each do |path|
133
148
  full_file_path = File.join(@__target_dir__, path)
134
149
 
@@ -170,7 +185,49 @@ module SashimiTanpopo
170
185
  end
171
186
  end
172
187
 
173
- private
188
+ # @param path [String]
189
+ # @yieldparam content [String] Content of file. If `content` is changed in block, file will be changed.
190
+ def create_new_file(path, &block)
191
+ return if glob_pattern?(path)
192
+
193
+ full_file_path = File.join(@__target_dir__, path)
194
+
195
+ return if File.exist?(full_file_path)
196
+
197
+ SashimiTanpopo.logger.info "Checking #{full_file_path}"
198
+
199
+ before_content = ""
200
+ after_content = update_single_file(before_content, &block)
201
+
202
+ unless after_content
203
+ SashimiTanpopo.logger.info "#{full_file_path} isn't created"
204
+ return
205
+ end
206
+
207
+ File.write(full_file_path, after_content) if !dry_run? && @__is_update_local__
208
+
209
+ if changed_files[path]
210
+ changed_files[path][:after_content] = after_content
211
+ else
212
+ changed_files[path] = {
213
+ before_content: before_content,
214
+ after_content: after_content,
215
+ mode: File.stat(full_file_path).mode.to_s(8)
216
+ }
217
+ end
218
+
219
+ if dry_run?
220
+ SashimiTanpopo.logger.info "#{full_file_path} will be created (dryrun)"
221
+ else
222
+ SashimiTanpopo.logger.info "#{full_file_path} is created"
223
+ end
224
+ end
225
+
226
+ # @param pattern [String]
227
+ # @return [Boolean]
228
+ def glob_pattern?(pattern)
229
+ ["*", "?", "[", "]", "{", "}", "**/"].any? { |str| pattern.include?(str) }
230
+ end
174
231
 
175
232
  # @param content [String]
176
233
  #
@@ -28,12 +28,13 @@ module SashimiTanpopo
28
28
  # @param pr_labels [Array<String>]
29
29
  # @param is_draft_pr [Boolean] Whether create draft Pull Request
30
30
  # @param summary_path [String,nil]
31
+ # @param only_changes_summary [Boolean]
31
32
  def initialize(recipe_paths:, target_dir:, params:, dry_run:, is_colored:,
32
33
  git_username:, git_email:, commit_message:,
33
34
  repository:, access_token:, api_endpoint: DEFAULT_API_ENDPOINT,
34
35
  pr_title:, pr_body:, pr_source_branch:, pr_target_branch:,
35
36
  pr_assignees: [], pr_reviewers: [], pr_labels: [], is_draft_pr:,
36
- summary_path:)
37
+ summary_path:, only_changes_summary:)
37
38
  super(
38
39
  recipe_paths: recipe_paths,
39
40
  target_dir: target_dir,
@@ -57,6 +58,7 @@ module SashimiTanpopo
57
58
  @git_email = git_email
58
59
  @api_endpoint = api_endpoint
59
60
  @summary_path = summary_path || ""
61
+ @only_changes_summary = only_changes_summary
60
62
 
61
63
  @client = Octokit::Client.new(api_endpoint: api_endpoint, access_token: access_token)
62
64
  end
@@ -168,6 +170,8 @@ module SashimiTanpopo
168
170
  def write_summary_file(changed_files)
169
171
  return if @summary_path.empty?
170
172
 
173
+ return if changed_files.empty? && @only_changes_summary
174
+
171
175
  summary = self.class.generate_summary(changed_files: changed_files, dry_run: @dry_run)
172
176
 
173
177
  File.open(@summary_path, "a") do |f|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SashimiTanpopo
4
- VERSION = "0.3.4"
4
+ VERSION = "0.5.0"
5
5
  end
@@ -6,7 +6,7 @@ gems:
6
6
  source:
7
7
  type: git
8
8
  name: ruby/gem_rbs_collection
9
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
9
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
10
10
  remote: https://github.com/ruby/gem_rbs_collection.git
11
11
  repo_dir: gems
12
12
  - name: base64
@@ -14,7 +14,7 @@ gems:
14
14
  source:
15
15
  type: git
16
16
  name: ruby/gem_rbs_collection
17
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
17
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
18
18
  remote: https://github.com/ruby/gem_rbs_collection.git
19
19
  repo_dir: gems
20
20
  - name: bigdecimal
@@ -22,7 +22,7 @@ gems:
22
22
  source:
23
23
  type: git
24
24
  name: ruby/gem_rbs_collection
25
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
25
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
26
26
  remote: https://github.com/ruby/gem_rbs_collection.git
27
27
  repo_dir: gems
28
28
  - name: csv
@@ -30,7 +30,7 @@ gems:
30
30
  source:
31
31
  type: git
32
32
  name: ruby/gem_rbs_collection
33
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
33
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
34
34
  remote: https://github.com/ruby/gem_rbs_collection.git
35
35
  repo_dir: gems
36
36
  - name: date
@@ -46,7 +46,7 @@ gems:
46
46
  source:
47
47
  type: git
48
48
  name: ruby/gem_rbs_collection
49
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
49
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
50
50
  remote: https://github.com/ruby/gem_rbs_collection.git
51
51
  repo_dir: gems
52
52
  - name: diffy
@@ -54,7 +54,7 @@ gems:
54
54
  source:
55
55
  type: git
56
56
  name: ruby/gem_rbs_collection
57
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
57
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
58
58
  remote: https://github.com/ruby/gem_rbs_collection.git
59
59
  repo_dir: gems
60
60
  - name: erb
@@ -66,7 +66,7 @@ gems:
66
66
  source:
67
67
  type: git
68
68
  name: ruby/gem_rbs_collection
69
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
69
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
70
70
  remote: https://github.com/ruby/gem_rbs_collection.git
71
71
  repo_dir: gems
72
72
  - name: fileutils
@@ -82,7 +82,7 @@ gems:
82
82
  source:
83
83
  type: git
84
84
  name: ruby/gem_rbs_collection
85
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
85
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
86
86
  remote: https://github.com/ruby/gem_rbs_collection.git
87
87
  repo_dir: gems
88
88
  - name: hashdiff
@@ -90,7 +90,7 @@ gems:
90
90
  source:
91
91
  type: git
92
92
  name: ruby/gem_rbs_collection
93
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
93
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
94
94
  remote: https://github.com/ruby/gem_rbs_collection.git
95
95
  repo_dir: gems
96
96
  - name: httparty
@@ -98,7 +98,7 @@ gems:
98
98
  source:
99
99
  type: git
100
100
  name: ruby/gem_rbs_collection
101
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
101
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
102
102
  remote: https://github.com/ruby/gem_rbs_collection.git
103
103
  repo_dir: gems
104
104
  - name: io-console
@@ -118,7 +118,7 @@ gems:
118
118
  source:
119
119
  type: git
120
120
  name: ruby/gem_rbs_collection
121
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
121
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
122
122
  remote: https://github.com/ruby/gem_rbs_collection.git
123
123
  repo_dir: gems
124
124
  - name: monitor
@@ -138,7 +138,7 @@ gems:
138
138
  source:
139
139
  type: git
140
140
  name: ruby/gem_rbs_collection
141
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
141
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
142
142
  remote: https://github.com/ruby/gem_rbs_collection.git
143
143
  repo_dir: gems
144
144
  - name: parallel
@@ -146,7 +146,7 @@ gems:
146
146
  source:
147
147
  type: git
148
148
  name: ruby/gem_rbs_collection
149
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
149
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
150
150
  remote: https://github.com/ruby/gem_rbs_collection.git
151
151
  repo_dir: gems
152
152
  - name: pp
@@ -170,7 +170,7 @@ gems:
170
170
  source:
171
171
  type: git
172
172
  name: ruby/gem_rbs_collection
173
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
173
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
174
174
  remote: https://github.com/ruby/gem_rbs_collection.git
175
175
  repo_dir: gems
176
176
  - name: rdoc
@@ -186,7 +186,7 @@ gems:
186
186
  source:
187
187
  type: git
188
188
  name: ruby/gem_rbs_collection
189
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
189
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
190
190
  remote: https://github.com/ruby/gem_rbs_collection.git
191
191
  repo_dir: gems
192
192
  - name: timeout
@@ -206,7 +206,7 @@ gems:
206
206
  source:
207
207
  type: git
208
208
  name: ruby/gem_rbs_collection
209
- revision: 04ed82d7df5d5ee825d7864abfa29d624b52e549
209
+ revision: f1d2dae32fe8d46683fbc79bbd0f1ca391d5e11a
210
210
  remote: https://github.com/ruby/gem_rbs_collection.git
211
211
  repo_dir: gems
212
212
  gemfile_lock_path: Gemfile.lock
@@ -41,10 +41,16 @@ module SashimiTanpopo
41
41
 
42
42
  def dry_run?: () -> bool
43
43
 
44
- def update_file: (String pattern) { (String) -> void } -> void
44
+ def update_file: (String pattern, ?create: bool) { (String) -> void } -> void
45
45
 
46
46
  private
47
47
 
48
+ def update_file_with_glob: (String pattern) { (String) -> void } -> void
49
+
50
+ def create_new_file: (String path) { (String) -> void } -> void
51
+
52
+ def glob_pattern?: (String pattern) -> bool
53
+
48
54
  def update_single_file: (String content) { (String) -> void } -> String?
49
55
 
50
56
  def show_diff: (String str1, String str2) -> void
@@ -19,6 +19,7 @@ module SashimiTanpopo
19
19
  @is_draft_pr: bool
20
20
  @api_endpoint: String
21
21
  @summary_path: String
22
+ @only_changes_summary: bool
22
23
 
23
24
  def initialize: (
24
25
  recipe_paths: Array[String],
@@ -40,7 +41,8 @@ module SashimiTanpopo
40
41
  ?pr_reviewers: Array[String],
41
42
  ?pr_labels: Array[String],
42
43
  is_draft_pr: bool,
43
- summary_path: String?
44
+ summary_path: String?,
45
+ only_changes_summary: bool,
44
46
  ) -> void
45
47
 
46
48
  def perform: () -> String?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sashimi_tanpopo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
@@ -304,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
304
  - !ruby/object:Gem::Version
305
305
  version: '0'
306
306
  requirements: []
307
- rubygems_version: 3.6.7
307
+ rubygems_version: 3.6.9
308
308
  specification_version: 4
309
309
  summary: Change files and create patches
310
310
  test_files: []