factorix 0.6.0 → 0.8.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +3 -0
  4. data/completion/_factorix.bash +15 -1
  5. data/completion/_factorix.fish +15 -7
  6. data/completion/_factorix.zsh +22 -0
  7. data/exe/factorix +17 -0
  8. data/lib/factorix/api/game_download_api.rb +154 -0
  9. data/lib/factorix/api/mod_download_api.rb +10 -5
  10. data/lib/factorix/api/mod_info.rb +1 -1
  11. data/lib/factorix/api/mod_portal_api.rb +6 -49
  12. data/lib/factorix/cache/base.rb +116 -0
  13. data/lib/factorix/cache/entry.rb +25 -0
  14. data/lib/factorix/cache/file_system.rb +137 -57
  15. data/lib/factorix/cache/redis.rb +287 -0
  16. data/lib/factorix/cache/s3.rb +388 -0
  17. data/lib/factorix/cli/commands/cache/evict.rb +17 -22
  18. data/lib/factorix/cli/commands/cache/stat.rb +57 -58
  19. data/lib/factorix/cli/commands/download.rb +150 -0
  20. data/lib/factorix/cli/commands/download_support.rb +1 -6
  21. data/lib/factorix/cli/commands/mod/download.rb +2 -3
  22. data/lib/factorix/cli/commands/mod/edit.rb +1 -4
  23. data/lib/factorix/cli/commands/mod/image/add.rb +1 -4
  24. data/lib/factorix/cli/commands/mod/image/edit.rb +1 -4
  25. data/lib/factorix/cli/commands/mod/image/list.rb +1 -4
  26. data/lib/factorix/cli/commands/mod/install.rb +2 -3
  27. data/lib/factorix/cli/commands/mod/list.rb +3 -3
  28. data/lib/factorix/cli/commands/mod/search.rb +2 -3
  29. data/lib/factorix/cli/commands/mod/show.rb +2 -3
  30. data/lib/factorix/cli/commands/mod/sync.rb +2 -3
  31. data/lib/factorix/cli/commands/mod/update.rb +6 -39
  32. data/lib/factorix/cli/commands/mod/upload.rb +1 -4
  33. data/lib/factorix/cli/commands/portal_support.rb +27 -0
  34. data/lib/factorix/cli.rb +1 -0
  35. data/lib/factorix/container.rb +32 -13
  36. data/lib/factorix/dependency/graph/builder.rb +2 -2
  37. data/lib/factorix/dependency/graph.rb +2 -2
  38. data/lib/factorix/dependency/validation_result.rb +3 -3
  39. data/lib/factorix/errors.rb +3 -0
  40. data/lib/factorix/http/cache_decorator.rb +14 -7
  41. data/lib/factorix/http/cached_response.rb +4 -1
  42. data/lib/factorix/http/client.rb +13 -3
  43. data/lib/factorix/http/response.rb +4 -1
  44. data/lib/factorix/http/retry_decorator.rb +11 -0
  45. data/lib/factorix/info_json.rb +5 -5
  46. data/lib/factorix/portal.rb +3 -2
  47. data/lib/factorix/save_file.rb +2 -2
  48. data/lib/factorix/transfer/downloader.rb +19 -11
  49. data/lib/factorix/version.rb +1 -1
  50. data/lib/factorix.rb +46 -53
  51. data/sig/factorix/api/mod_download_api.rbs +1 -2
  52. data/sig/factorix/cache/base.rbs +28 -0
  53. data/sig/factorix/cache/entry.rbs +14 -0
  54. data/sig/factorix/cache/file_system.rbs +7 -6
  55. data/sig/factorix/cache/redis.rbs +36 -0
  56. data/sig/factorix/cache/s3.rbs +38 -0
  57. data/sig/factorix/errors.rbs +3 -0
  58. data/sig/factorix/portal.rbs +1 -1
  59. metadata +27 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factorix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OZAWA Sakuro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-01-18 00:00:00.000000000 Z
11
+ date: 2026-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: dry-inflector
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: dry-logger
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +226,7 @@ files:
212
226
  - lib/factorix.rb
213
227
  - lib/factorix/api.rb
214
228
  - lib/factorix/api/category.rb
229
+ - lib/factorix/api/game_download_api.rb
215
230
  - lib/factorix/api/image.rb
216
231
  - lib/factorix/api/license.rb
217
232
  - lib/factorix/api/mod_download_api.rb
@@ -221,7 +236,11 @@ files:
221
236
  - lib/factorix/api/release.rb
222
237
  - lib/factorix/api/tag.rb
223
238
  - lib/factorix/api_credential.rb
239
+ - lib/factorix/cache/base.rb
240
+ - lib/factorix/cache/entry.rb
224
241
  - lib/factorix/cache/file_system.rb
242
+ - lib/factorix/cache/redis.rb
243
+ - lib/factorix/cache/s3.rb
225
244
  - lib/factorix/cli.rb
226
245
  - lib/factorix/cli/commands/backup_support.rb
227
246
  - lib/factorix/cli/commands/base.rb
@@ -230,6 +249,7 @@ files:
230
249
  - lib/factorix/cli/commands/command_wrapper.rb
231
250
  - lib/factorix/cli/commands/completion.rb
232
251
  - lib/factorix/cli/commands/confirmable.rb
252
+ - lib/factorix/cli/commands/download.rb
233
253
  - lib/factorix/cli/commands/download_support.rb
234
254
  - lib/factorix/cli/commands/launch.rb
235
255
  - lib/factorix/cli/commands/man.rb
@@ -252,6 +272,7 @@ files:
252
272
  - lib/factorix/cli/commands/mod/update.rb
253
273
  - lib/factorix/cli/commands/mod/upload.rb
254
274
  - lib/factorix/cli/commands/path.rb
275
+ - lib/factorix/cli/commands/portal_support.rb
255
276
  - lib/factorix/cli/commands/requires_game_stopped.rb
256
277
  - lib/factorix/cli/commands/version.rb
257
278
  - lib/factorix/container.rb
@@ -322,7 +343,11 @@ files:
322
343
  - sig/factorix/api/release.rbs
323
344
  - sig/factorix/api/tag.rbs
324
345
  - sig/factorix/api_credential.rbs
346
+ - sig/factorix/cache/base.rbs
347
+ - sig/factorix/cache/entry.rbs
325
348
  - sig/factorix/cache/file_system.rbs
349
+ - sig/factorix/cache/redis.rbs
350
+ - sig/factorix/cache/s3.rbs
326
351
  - sig/factorix/cli.rbs
327
352
  - sig/factorix/cli/commands/base.rbs
328
353
  - sig/factorix/cli/commands/cache/evict.rbs