sashimi_tanpopo 0.1.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.
@@ -0,0 +1,66 @@
1
+ module SashimiTanpopo
2
+ module Provider
3
+ class GitHub < Base
4
+ DEFAULT_API_ENDPOINT: String
5
+ DEFAULT_GITHUB_HOST: String
6
+
7
+ @git_username: String
8
+ @git_email: String
9
+ @commit_message: String
10
+ @repository: String
11
+ @pr_title: String
12
+ @pr_body: String
13
+ @pr_source_branch: String
14
+ @pr_target_branch: String
15
+ @pr_assignees: Array[String]
16
+ @pr_reviewers: Array[String]
17
+ @pr_labels: Array[String]
18
+ @client: Octokit::Client
19
+ @is_draft_pr: bool
20
+
21
+ def initialize: (
22
+ recipe_paths: Array[String],
23
+ target_dir: String?,
24
+ params: Hash[Symbol, String],
25
+ dry_run: bool,
26
+ is_colored: bool,
27
+ git_username: String?,
28
+ git_email: String?,
29
+ commit_message: String,
30
+ repository: String,
31
+ access_token: String,
32
+ ?api_endpoint: String,
33
+ pr_title: String,
34
+ pr_body: String,
35
+ pr_source_branch: String,
36
+ pr_target_branch: String,
37
+ ?pr_assignees: Array[String],
38
+ ?pr_reviewers: Array[String],
39
+ ?pr_labels: Array[String],
40
+ is_draft_pr: bool,
41
+ ) -> void
42
+
43
+ def perform: () -> String?
44
+
45
+ def self.github_host: (String api_endpoint) -> String
46
+
47
+ private
48
+
49
+ def current_user_name: () -> String
50
+
51
+ def exists_branch?: (String branch) -> bool
52
+
53
+ def create_branch_and_push_changes: (changed_files changed_files) -> void
54
+
55
+ def create_tree_meta: (path: String, body: String, mode: String) -> { path: String, mode: String, type: String, sha: String }
56
+
57
+ def create_pull_request: () -> { number: Integer, html_url: String }
58
+
59
+ def add_pr_labels: (Integer pr_number) -> void
60
+
61
+ def add_pr_assignees: (Integer pr_number) -> void
62
+
63
+ def add_pr_reviewers: (Integer pr_number) -> void
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,72 @@
1
+ module SashimiTanpopo
2
+ module Provider
3
+ class GitLab < Base
4
+ DEFAULT_API_ENDPOINT: String
5
+ MAX_RETRY_COUNT: Integer
6
+
7
+ @git_username: String
8
+ @git_email: String
9
+ @commit_message: String
10
+ @repository: String
11
+ @mr_title: String
12
+ @mr_body: String
13
+ @mr_source_branch: String
14
+ @mr_target_branch: String
15
+ @mr_assignees: Array[String]
16
+ @mr_reviewers: Array[String]
17
+ @mr_labels: Array[String]
18
+ @gitlab: Gitlab::Client
19
+ @is_draft_mr: bool
20
+ @is_auto_merge: bool
21
+
22
+ def initialize: (
23
+ recipe_paths: Array[String],
24
+ target_dir: String?,
25
+ params: Hash[Symbol, String],
26
+ dry_run: bool,
27
+ is_colored: bool,
28
+ git_username: String?,
29
+ git_email: String?,
30
+ commit_message: String,
31
+ repository: String,
32
+ access_token: String,
33
+ ?api_endpoint: String,
34
+ mr_title: String,
35
+ mr_body: String,
36
+ mr_source_branch: String,
37
+ mr_target_branch: String,
38
+ ?mr_assignees: Array[String],
39
+ ?mr_reviewers: Array[String],
40
+ ?mr_labels: Array[String],
41
+ is_draft_mr: bool,
42
+ is_auto_merge: bool,
43
+ ) -> void
44
+
45
+ def perform: () -> String?
46
+
47
+ def get_user_id_from_user_name: (String username) -> Integer?
48
+
49
+ def get_user_id_from_user_name!: (String username) -> Integer
50
+
51
+ def get_user_ids_from_user_names!: (Array[String] usernames) -> Array[Integer]
52
+
53
+ def self.executable_mode?: (String mode) -> bool
54
+
55
+ def self.gitlab_host: (String api_endpoint) -> String
56
+
57
+ private
58
+
59
+ def with_retry: [T] { () -> T } -> T
60
+
61
+ def current_user_name: () -> String
62
+
63
+ def exists_branch?: (String branch) -> bool
64
+
65
+ def create_branch_and_push_changes: (Hash[String, { before_content: String, after_content: String, mode: String }] changed_files) -> void
66
+
67
+ def create_merge_request: () -> { iid: Integer, web_url: String }
68
+
69
+ def set_auto_merge: (Integer mr_iid) -> void
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,15 @@
1
+ module SashimiTanpopo
2
+ module Provider
3
+ class Local < Base
4
+ def initialize: (
5
+ recipe_paths: Array[String],
6
+ target_dir: String?,
7
+ params: Hash[Symbol, String],
8
+ dry_run: bool,
9
+ is_colored: bool
10
+ ) -> void
11
+
12
+ def perform: () -> void
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module SashimiTanpopo
2
+ VERSION: String
3
+
4
+ class Error < StandardError
5
+ end
6
+
7
+ class NotFoundUserError < Error
8
+ end
9
+
10
+ type changed_files = Hash[String, { before_content: String, after_content: String, mode: String }]
11
+
12
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
13
+ end
metadata ADDED
@@ -0,0 +1,307 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sashimi_tanpopo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - sue445
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: diffy
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.0'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '4.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '3.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '4.0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: faraday-retry
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '2.0'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.0'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '2.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '3.0'
52
+ - !ruby/object:Gem::Dependency
53
+ name: gitlab
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '6.0'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '7.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '6.0'
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '7.0'
72
+ - !ruby/object:Gem::Dependency
73
+ name: octokit
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '10.0'
79
+ - - "<"
80
+ - !ruby/object:Gem::Version
81
+ version: '11.0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '10.0'
89
+ - - "<"
90
+ - !ruby/object:Gem::Version
91
+ version: '11.0'
92
+ - !ruby/object:Gem::Dependency
93
+ name: parallel
94
+ requirement: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '1.0'
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: '2.0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '1.0'
109
+ - - "<"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: thor
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '1.0'
119
+ - - "<"
120
+ - !ruby/object:Gem::Version
121
+ version: '2.0'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '1.0'
129
+ - - "<"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.0'
132
+ - !ruby/object:Gem::Dependency
133
+ name: irb
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: rake
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '13.0'
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '13.0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: rbs
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: rspec
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '3.0'
181
+ type: :development
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '3.0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: rspec-temp_dir
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ - !ruby/object:Gem::Dependency
203
+ name: steep
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ - !ruby/object:Gem::Dependency
217
+ name: webmock
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ type: :development
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ - !ruby/object:Gem::Dependency
231
+ name: yard
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ description: Change files and create patches
245
+ email:
246
+ - sue445@sue445.net
247
+ executables:
248
+ - sashimi_tanpopo
249
+ extensions: []
250
+ extra_rdoc_files: []
251
+ files:
252
+ - ".rspec"
253
+ - ".yardopts"
254
+ - CHANGELOG.md
255
+ - LICENSE.txt
256
+ - README.md
257
+ - Rakefile
258
+ - Steepfile
259
+ - docs/RECIPE.md
260
+ - exe/sashimi_tanpopo
261
+ - lib/sashimi_tanpopo.rb
262
+ - lib/sashimi_tanpopo/cli.rb
263
+ - lib/sashimi_tanpopo/dsl.rb
264
+ - lib/sashimi_tanpopo/logger.rb
265
+ - lib/sashimi_tanpopo/provider.rb
266
+ - lib/sashimi_tanpopo/provider/base.rb
267
+ - lib/sashimi_tanpopo/provider/github.rb
268
+ - lib/sashimi_tanpopo/provider/gitlab.rb
269
+ - lib/sashimi_tanpopo/provider/local.rb
270
+ - lib/sashimi_tanpopo/version.rb
271
+ - rbs_collection.lock.yaml
272
+ - rbs_collection.yaml
273
+ - sig/sashimi_tanpopo.rbs
274
+ - sig/sashimi_tanpopo/cli.rbs
275
+ - sig/sashimi_tanpopo/dsl.rbs
276
+ - sig/sashimi_tanpopo/logger.rbs
277
+ - sig/sashimi_tanpopo/provider/base.rbs
278
+ - sig/sashimi_tanpopo/provider/github.rbs
279
+ - sig/sashimi_tanpopo/provider/gitlab.rbs
280
+ - sig/sashimi_tanpopo/provider/local.rbs
281
+ homepage: https://github.com/sue445/sashimi_tanpopo
282
+ licenses:
283
+ - MIT
284
+ metadata:
285
+ homepage_uri: https://github.com/sue445/sashimi_tanpopo
286
+ source_code_uri: https://github.com/sue445/sashimi_tanpopo
287
+ changelog_uri: https://github.com/sue445/sashimi_tanpopo/blob/main/CHANGELOG.md
288
+ documentation_uri: https://sue445.github.io/sashimi_tanpopo/
289
+ rubygems_mfa_required: 'true'
290
+ rdoc_options: []
291
+ require_paths:
292
+ - lib
293
+ required_ruby_version: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: 3.2.0
298
+ required_rubygems_version: !ruby/object:Gem::Requirement
299
+ requirements:
300
+ - - ">="
301
+ - !ruby/object:Gem::Version
302
+ version: '0'
303
+ requirements: []
304
+ rubygems_version: 3.6.9
305
+ specification_version: 4
306
+ summary: Change files and create patches
307
+ test_files: []