factorix 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.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +20 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +105 -0
  5. data/completion/_factorix.bash +202 -0
  6. data/completion/_factorix.fish +197 -0
  7. data/completion/_factorix.zsh +376 -0
  8. data/doc/factorix.1 +377 -0
  9. data/exe/factorix +20 -0
  10. data/lib/factorix/api/category.rb +69 -0
  11. data/lib/factorix/api/image.rb +35 -0
  12. data/lib/factorix/api/license.rb +71 -0
  13. data/lib/factorix/api/mod_download_api.rb +66 -0
  14. data/lib/factorix/api/mod_info.rb +166 -0
  15. data/lib/factorix/api/mod_management_api.rb +237 -0
  16. data/lib/factorix/api/mod_portal_api.rb +204 -0
  17. data/lib/factorix/api/release.rb +49 -0
  18. data/lib/factorix/api/tag.rb +95 -0
  19. data/lib/factorix/api.rb +7 -0
  20. data/lib/factorix/api_credential.rb +54 -0
  21. data/lib/factorix/application.rb +218 -0
  22. data/lib/factorix/cache/file_system.rb +307 -0
  23. data/lib/factorix/cli/commands/backup_support.rb +46 -0
  24. data/lib/factorix/cli/commands/base.rb +90 -0
  25. data/lib/factorix/cli/commands/cache/evict.rb +180 -0
  26. data/lib/factorix/cli/commands/cache/stat.rb +201 -0
  27. data/lib/factorix/cli/commands/command_wrapper.rb +71 -0
  28. data/lib/factorix/cli/commands/completion.rb +83 -0
  29. data/lib/factorix/cli/commands/confirmable.rb +53 -0
  30. data/lib/factorix/cli/commands/download_support.rb +123 -0
  31. data/lib/factorix/cli/commands/launch.rb +79 -0
  32. data/lib/factorix/cli/commands/man.rb +29 -0
  33. data/lib/factorix/cli/commands/mod/check.rb +99 -0
  34. data/lib/factorix/cli/commands/mod/disable.rb +188 -0
  35. data/lib/factorix/cli/commands/mod/download.rb +291 -0
  36. data/lib/factorix/cli/commands/mod/edit.rb +114 -0
  37. data/lib/factorix/cli/commands/mod/enable.rb +216 -0
  38. data/lib/factorix/cli/commands/mod/image/add.rb +47 -0
  39. data/lib/factorix/cli/commands/mod/image/edit.rb +41 -0
  40. data/lib/factorix/cli/commands/mod/image/list.rb +74 -0
  41. data/lib/factorix/cli/commands/mod/install.rb +443 -0
  42. data/lib/factorix/cli/commands/mod/list.rb +372 -0
  43. data/lib/factorix/cli/commands/mod/search.rb +134 -0
  44. data/lib/factorix/cli/commands/mod/settings/dump.rb +88 -0
  45. data/lib/factorix/cli/commands/mod/settings/restore.rb +101 -0
  46. data/lib/factorix/cli/commands/mod/show.rb +202 -0
  47. data/lib/factorix/cli/commands/mod/sync.rb +299 -0
  48. data/lib/factorix/cli/commands/mod/uninstall.rb +325 -0
  49. data/lib/factorix/cli/commands/mod/update.rb +222 -0
  50. data/lib/factorix/cli/commands/mod/upload.rb +90 -0
  51. data/lib/factorix/cli/commands/path.rb +79 -0
  52. data/lib/factorix/cli/commands/requires_game_stopped.rb +32 -0
  53. data/lib/factorix/cli/commands/version.rb +25 -0
  54. data/lib/factorix/cli.rb +42 -0
  55. data/lib/factorix/dependency/edge.rb +89 -0
  56. data/lib/factorix/dependency/entry.rb +124 -0
  57. data/lib/factorix/dependency/graph/builder.rb +108 -0
  58. data/lib/factorix/dependency/graph.rb +210 -0
  59. data/lib/factorix/dependency/list.rb +244 -0
  60. data/lib/factorix/dependency/mod_version_requirement.rb +73 -0
  61. data/lib/factorix/dependency/node.rb +60 -0
  62. data/lib/factorix/dependency/parser.rb +148 -0
  63. data/lib/factorix/dependency/validation_result.rb +138 -0
  64. data/lib/factorix/dependency/validator.rb +190 -0
  65. data/lib/factorix/errors.rb +112 -0
  66. data/lib/factorix/formatting.rb +56 -0
  67. data/lib/factorix/game_version.rb +98 -0
  68. data/lib/factorix/http/cache_decorator.rb +106 -0
  69. data/lib/factorix/http/cached_response.rb +37 -0
  70. data/lib/factorix/http/client.rb +187 -0
  71. data/lib/factorix/http/response.rb +31 -0
  72. data/lib/factorix/http/retry_decorator.rb +59 -0
  73. data/lib/factorix/http/retry_strategy.rb +80 -0
  74. data/lib/factorix/info_json.rb +90 -0
  75. data/lib/factorix/installed_mod.rb +239 -0
  76. data/lib/factorix/mod.rb +55 -0
  77. data/lib/factorix/mod_list.rb +174 -0
  78. data/lib/factorix/mod_settings.rb +278 -0
  79. data/lib/factorix/mod_state.rb +34 -0
  80. data/lib/factorix/mod_version.rb +99 -0
  81. data/lib/factorix/portal.rb +185 -0
  82. data/lib/factorix/progress/download_handler.rb +46 -0
  83. data/lib/factorix/progress/multi_presenter.rb +45 -0
  84. data/lib/factorix/progress/presenter.rb +67 -0
  85. data/lib/factorix/progress/presenter_adapter.rb +46 -0
  86. data/lib/factorix/progress/scan_handler.rb +33 -0
  87. data/lib/factorix/progress/upload_handler.rb +33 -0
  88. data/lib/factorix/runtime/base.rb +233 -0
  89. data/lib/factorix/runtime/linux.rb +32 -0
  90. data/lib/factorix/runtime/mac_os.rb +53 -0
  91. data/lib/factorix/runtime/user_configurable.rb +69 -0
  92. data/lib/factorix/runtime/windows.rb +85 -0
  93. data/lib/factorix/runtime/wsl.rb +118 -0
  94. data/lib/factorix/runtime.rb +32 -0
  95. data/lib/factorix/save_file.rb +178 -0
  96. data/lib/factorix/ser_des/deserializer.rb +198 -0
  97. data/lib/factorix/ser_des/serializer.rb +231 -0
  98. data/lib/factorix/ser_des/signed_integer.rb +63 -0
  99. data/lib/factorix/ser_des/unsigned_integer.rb +65 -0
  100. data/lib/factorix/service_credential.rb +127 -0
  101. data/lib/factorix/transfer/downloader.rb +162 -0
  102. data/lib/factorix/transfer/uploader.rb +232 -0
  103. data/lib/factorix/version.rb +6 -0
  104. data/lib/factorix.rb +38 -0
  105. data/sig/dry/auto_inject.rbs +15 -0
  106. data/sig/dry/cli.rbs +19 -0
  107. data/sig/dry/configurable.rbs +13 -0
  108. data/sig/dry/core/container.rbs +17 -0
  109. data/sig/dry/events/publisher.rbs +22 -0
  110. data/sig/dry/logger.rbs +16 -0
  111. data/sig/factorix/api/category.rbs +15 -0
  112. data/sig/factorix/api/image.rbs +15 -0
  113. data/sig/factorix/api/license.rbs +20 -0
  114. data/sig/factorix/api/mod_download_api.rbs +18 -0
  115. data/sig/factorix/api/mod_info.rbs +67 -0
  116. data/sig/factorix/api/mod_management_api.rbs +25 -0
  117. data/sig/factorix/api/mod_portal_api.rbs +31 -0
  118. data/sig/factorix/api/release.rbs +27 -0
  119. data/sig/factorix/api/tag.rbs +15 -0
  120. data/sig/factorix/api.rbs +8 -0
  121. data/sig/factorix/api_credential.rbs +17 -0
  122. data/sig/factorix/application.rbs +86 -0
  123. data/sig/factorix/cache/file_system.rbs +35 -0
  124. data/sig/factorix/cli/commands/base.rbs +13 -0
  125. data/sig/factorix/cli/commands/cache/evict.rbs +17 -0
  126. data/sig/factorix/cli/commands/cache/stat.rbs +17 -0
  127. data/sig/factorix/cli/commands/command_wrapper.rbs +13 -0
  128. data/sig/factorix/cli/commands/completion/zsh.rbs +15 -0
  129. data/sig/factorix/cli/commands/confirmable.rbs +12 -0
  130. data/sig/factorix/cli/commands/download_support.rbs +12 -0
  131. data/sig/factorix/cli/commands/launch.rbs +15 -0
  132. data/sig/factorix/cli/commands/mod/check.rbs +18 -0
  133. data/sig/factorix/cli/commands/mod/disable.rbs +20 -0
  134. data/sig/factorix/cli/commands/mod/download.rbs +18 -0
  135. data/sig/factorix/cli/commands/mod/edit.rbs +30 -0
  136. data/sig/factorix/cli/commands/mod/enable.rbs +20 -0
  137. data/sig/factorix/cli/commands/mod/image/add.rbs +19 -0
  138. data/sig/factorix/cli/commands/mod/image/edit.rbs +19 -0
  139. data/sig/factorix/cli/commands/mod/image/list.rbs +19 -0
  140. data/sig/factorix/cli/commands/mod/install.rbs +19 -0
  141. data/sig/factorix/cli/commands/mod/list.rbs +30 -0
  142. data/sig/factorix/cli/commands/mod/search.rbs +18 -0
  143. data/sig/factorix/cli/commands/mod/settings/dump.rbs +17 -0
  144. data/sig/factorix/cli/commands/mod/settings/restore.rbs +17 -0
  145. data/sig/factorix/cli/commands/mod/sync.rbs +19 -0
  146. data/sig/factorix/cli/commands/mod/uninstall.rbs +20 -0
  147. data/sig/factorix/cli/commands/mod/update.rbs +19 -0
  148. data/sig/factorix/cli/commands/mod/upload.rbs +24 -0
  149. data/sig/factorix/cli/commands/path.rbs +18 -0
  150. data/sig/factorix/cli/commands/requires_game_stopped.rbs +13 -0
  151. data/sig/factorix/cli/commands/version.rbs +13 -0
  152. data/sig/factorix/cli.rbs +11 -0
  153. data/sig/factorix/dependency/edge.rbs +32 -0
  154. data/sig/factorix/dependency/entry.rbs +30 -0
  155. data/sig/factorix/dependency/graph/builder.rbs +17 -0
  156. data/sig/factorix/dependency/graph.rbs +39 -0
  157. data/sig/factorix/dependency/list.rbs +69 -0
  158. data/sig/factorix/dependency/mod_version_requirement.rbs +18 -0
  159. data/sig/factorix/dependency/node.rbs +24 -0
  160. data/sig/factorix/dependency/parser.rbs +11 -0
  161. data/sig/factorix/dependency/validation_result.rbs +56 -0
  162. data/sig/factorix/dependency/validator.rbs +13 -0
  163. data/sig/factorix/errors.rbs +132 -0
  164. data/sig/factorix/formatting.rbs +8 -0
  165. data/sig/factorix/game_version.rbs +24 -0
  166. data/sig/factorix/http/cache_decorator.rbs +64 -0
  167. data/sig/factorix/http/client.rbs +55 -0
  168. data/sig/factorix/http/response.rbs +28 -0
  169. data/sig/factorix/http/retry_decorator.rbs +44 -0
  170. data/sig/factorix/http/retry_strategy.rbs +42 -0
  171. data/sig/factorix/info_json.rbs +19 -0
  172. data/sig/factorix/installed_mod.rbs +34 -0
  173. data/sig/factorix/mod.rbs +20 -0
  174. data/sig/factorix/mod_list.rbs +44 -0
  175. data/sig/factorix/mod_settings.rbs +47 -0
  176. data/sig/factorix/mod_state.rbs +18 -0
  177. data/sig/factorix/mod_version.rbs +23 -0
  178. data/sig/factorix/portal.rbs +37 -0
  179. data/sig/factorix/progress/download_handler.rbs +19 -0
  180. data/sig/factorix/progress/multi_presenter.rbs +15 -0
  181. data/sig/factorix/progress/presenter.rbs +17 -0
  182. data/sig/factorix/progress/presenter_adapter.rbs +17 -0
  183. data/sig/factorix/progress/scan_handler.rbs +16 -0
  184. data/sig/factorix/progress/upload_handler.rbs +17 -0
  185. data/sig/factorix/runtime/base.rbs +45 -0
  186. data/sig/factorix/runtime/linux.rbs +15 -0
  187. data/sig/factorix/runtime/mac_os.rbs +15 -0
  188. data/sig/factorix/runtime/user_configurable.rbs +13 -0
  189. data/sig/factorix/runtime/windows.rbs +23 -0
  190. data/sig/factorix/runtime/wsl.rbs +19 -0
  191. data/sig/factorix/runtime.rbs +9 -0
  192. data/sig/factorix/save_file.rbs +40 -0
  193. data/sig/factorix/ser_des/deserializer.rbs +49 -0
  194. data/sig/factorix/ser_des/serializer.rbs +45 -0
  195. data/sig/factorix/ser_des/signed_integer.rbs +37 -0
  196. data/sig/factorix/ser_des/unsigned_integer.rbs +37 -0
  197. data/sig/factorix/service_credential.rbs +19 -0
  198. data/sig/factorix/transfer/downloader.rbs +15 -0
  199. data/sig/factorix/transfer/uploader.rbs +21 -0
  200. data/sig/factorix.rbs +9 -0
  201. data/sig/tty/progressbar.rbs +18 -0
  202. metadata +431 -0
@@ -0,0 +1,45 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ module SerDes
7
+ class Serializer
8
+ def initialize: (untyped stream) -> void
9
+
10
+ def write_bytes: (String data) -> void
11
+
12
+ def write_u8: (Integer uint8) -> void
13
+
14
+ def write_u16: (Integer uint16) -> void
15
+
16
+ def write_u32: (Integer uint32) -> void
17
+
18
+ def write_optim_u16: (Integer uint16) -> void
19
+
20
+ def write_optim_u32: (Integer uint32) -> void
21
+
22
+ def write_bool: (bool bool) -> void
23
+
24
+ def write_str: (String str) -> void
25
+
26
+ def write_str_property: (String str) -> void
27
+
28
+ def write_double: (Float dbl) -> void
29
+
30
+ def write_game_version: (GameVersion game_version) -> void
31
+
32
+ def write_mod_version: (MODVersion mod_version) -> void
33
+
34
+ def write_list: (Array[untyped] list) -> void
35
+
36
+ def write_dictionary: (Hash[String, untyped] dict) -> void
37
+
38
+ def write_long: (Integer long) -> void
39
+
40
+ def write_unsigned_long: (Integer ulong) -> void
41
+
42
+ def write_property_tree: (nil | bool | Float | String | Array[untyped] | Hash[String, untyped] | Integer obj) -> void
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,37 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ module SerDes
7
+ class SignedInteger
8
+ def initialize: (Integer value) -> void
9
+
10
+ def value: () -> Integer
11
+
12
+ def ==: (untyped other) -> bool
13
+
14
+ def hash: () -> Integer
15
+
16
+ def eql?: (untyped other) -> bool
17
+
18
+ def inspect: () -> String
19
+
20
+ # Delegated Integer methods
21
+ def +: (Numeric other) -> Numeric
22
+ def -: (Numeric other) -> Numeric
23
+ def *: (Numeric other) -> Numeric
24
+ def /: (Numeric other) -> Numeric
25
+ def %: (Numeric other) -> Numeric
26
+ def **: (Numeric other) -> Numeric
27
+ def <=>: (untyped other) -> Integer?
28
+ def <: (Numeric other) -> bool
29
+ def <=: (Numeric other) -> bool
30
+ def >: (Numeric other) -> bool
31
+ def >=: (Numeric other) -> bool
32
+ def to_s: () -> String
33
+ def to_i: () -> Integer
34
+ def to_f: () -> Float
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ module SerDes
7
+ class UnsignedInteger
8
+ def initialize: (Integer value) -> void
9
+
10
+ def value: () -> Integer
11
+
12
+ def ==: (untyped other) -> bool
13
+
14
+ def hash: () -> Integer
15
+
16
+ def eql?: (untyped other) -> bool
17
+
18
+ def inspect: () -> String
19
+
20
+ # Delegated Integer methods
21
+ def +: (Numeric other) -> Numeric
22
+ def -: (Numeric other) -> Numeric
23
+ def *: (Numeric other) -> Numeric
24
+ def /: (Numeric other) -> Numeric
25
+ def %: (Numeric other) -> Numeric
26
+ def **: (Numeric other) -> Numeric
27
+ def <=>: (untyped other) -> Integer?
28
+ def <: (Numeric other) -> bool
29
+ def <=: (Numeric other) -> bool
30
+ def >: (Numeric other) -> bool
31
+ def >=: (Numeric other) -> bool
32
+ def to_s: () -> String
33
+ def to_i: () -> Integer
34
+ def to_f: () -> Float
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,19 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ class ServiceCredential
7
+ def self.load: () -> ServiceCredential
8
+
9
+ def username: () -> String
10
+
11
+ def token: () -> String
12
+
13
+ def inspect: () -> String
14
+
15
+ def to_s: () -> String
16
+
17
+ def pretty_print: (untyped pp) -> void
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ module Transfer
7
+ class Downloader
8
+ attr_reader logger: Dry::Logger::Dispatcher
9
+ attr_reader cache: Cache::FileSystem
10
+ attr_reader client: HTTP::Client
11
+
12
+ def download: (URI::HTTPS url, Pathname output, ?expected_sha1: String?) -> void
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ module Transfer
7
+ class Uploader
8
+ attr_reader logger: Dry::Logger::Dispatcher
9
+ attr_reader client: HTTP::Client
10
+
11
+ def initialize: (**untyped deps) -> void
12
+
13
+ def upload: (
14
+ URI::HTTPS | String url,
15
+ Pathname | String file_path,
16
+ ?field_name: String,
17
+ ?fields: Hash[String | Symbol, String]
18
+ ) -> void
19
+ end
20
+ end
21
+ end
data/sig/factorix.rbs ADDED
@@ -0,0 +1,9 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module Factorix
6
+ VERSION: String
7
+
8
+ Import: Dry::AutoInject::_Builder
9
+ end
@@ -0,0 +1,18 @@
1
+ # RBS type signature file
2
+ # NOTE: Do not include private method definitions in RBS files.
3
+ # Only public interfaces should be documented here.
4
+
5
+ module TTY
6
+ class ProgressBar
7
+ def initialize: (String format, **untyped options) -> void
8
+ def start: () -> void
9
+ def update: (**untyped options) -> void
10
+ def current=: (Integer value) -> void
11
+ def finish: () -> void
12
+ end
13
+
14
+ class ProgressBar::Multi
15
+ def initialize: (String title, **untyped options) -> void
16
+ def register: (String format, **untyped options) -> ProgressBar
17
+ end
18
+ end
metadata ADDED
@@ -0,0 +1,431 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: factorix
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: ruby
6
+ authors:
7
+ - OZAWA Sakuro
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2025-12-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: concurrent-ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-auto_inject
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dry-cli
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-configurable
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: dry-core
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: dry-events
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: dry-logger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.2'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.2'
111
+ - !ruby/object:Gem::Dependency
112
+ name: parslet
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: retriable
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.1'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubyzip
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.2'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.2'
153
+ - !ruby/object:Gem::Dependency
154
+ name: tint_me
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.1'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.1'
167
+ - !ruby/object:Gem::Dependency
168
+ name: tty-progressbar
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.18'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.18'
181
+ - !ruby/object:Gem::Dependency
182
+ name: zeitwerk
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '2.7'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '2.7'
195
+ description: Manage Factorio MODs with dependency resolution, sync settings from saves,
196
+ and launch the game
197
+ email:
198
+ - 10973+sakuro@users.noreply.github.com
199
+ executables:
200
+ - factorix
201
+ extensions: []
202
+ extra_rdoc_files: []
203
+ files:
204
+ - CHANGELOG.md
205
+ - LICENSE.txt
206
+ - README.md
207
+ - completion/_factorix.bash
208
+ - completion/_factorix.fish
209
+ - completion/_factorix.zsh
210
+ - doc/factorix.1
211
+ - exe/factorix
212
+ - lib/factorix.rb
213
+ - lib/factorix/api.rb
214
+ - lib/factorix/api/category.rb
215
+ - lib/factorix/api/image.rb
216
+ - lib/factorix/api/license.rb
217
+ - lib/factorix/api/mod_download_api.rb
218
+ - lib/factorix/api/mod_info.rb
219
+ - lib/factorix/api/mod_management_api.rb
220
+ - lib/factorix/api/mod_portal_api.rb
221
+ - lib/factorix/api/release.rb
222
+ - lib/factorix/api/tag.rb
223
+ - lib/factorix/api_credential.rb
224
+ - lib/factorix/application.rb
225
+ - lib/factorix/cache/file_system.rb
226
+ - lib/factorix/cli.rb
227
+ - lib/factorix/cli/commands/backup_support.rb
228
+ - lib/factorix/cli/commands/base.rb
229
+ - lib/factorix/cli/commands/cache/evict.rb
230
+ - lib/factorix/cli/commands/cache/stat.rb
231
+ - lib/factorix/cli/commands/command_wrapper.rb
232
+ - lib/factorix/cli/commands/completion.rb
233
+ - lib/factorix/cli/commands/confirmable.rb
234
+ - lib/factorix/cli/commands/download_support.rb
235
+ - lib/factorix/cli/commands/launch.rb
236
+ - lib/factorix/cli/commands/man.rb
237
+ - lib/factorix/cli/commands/mod/check.rb
238
+ - lib/factorix/cli/commands/mod/disable.rb
239
+ - lib/factorix/cli/commands/mod/download.rb
240
+ - lib/factorix/cli/commands/mod/edit.rb
241
+ - lib/factorix/cli/commands/mod/enable.rb
242
+ - lib/factorix/cli/commands/mod/image/add.rb
243
+ - lib/factorix/cli/commands/mod/image/edit.rb
244
+ - lib/factorix/cli/commands/mod/image/list.rb
245
+ - lib/factorix/cli/commands/mod/install.rb
246
+ - lib/factorix/cli/commands/mod/list.rb
247
+ - lib/factorix/cli/commands/mod/search.rb
248
+ - lib/factorix/cli/commands/mod/settings/dump.rb
249
+ - lib/factorix/cli/commands/mod/settings/restore.rb
250
+ - lib/factorix/cli/commands/mod/show.rb
251
+ - lib/factorix/cli/commands/mod/sync.rb
252
+ - lib/factorix/cli/commands/mod/uninstall.rb
253
+ - lib/factorix/cli/commands/mod/update.rb
254
+ - lib/factorix/cli/commands/mod/upload.rb
255
+ - lib/factorix/cli/commands/path.rb
256
+ - lib/factorix/cli/commands/requires_game_stopped.rb
257
+ - lib/factorix/cli/commands/version.rb
258
+ - lib/factorix/dependency/edge.rb
259
+ - lib/factorix/dependency/entry.rb
260
+ - lib/factorix/dependency/graph.rb
261
+ - lib/factorix/dependency/graph/builder.rb
262
+ - lib/factorix/dependency/list.rb
263
+ - lib/factorix/dependency/mod_version_requirement.rb
264
+ - lib/factorix/dependency/node.rb
265
+ - lib/factorix/dependency/parser.rb
266
+ - lib/factorix/dependency/validation_result.rb
267
+ - lib/factorix/dependency/validator.rb
268
+ - lib/factorix/errors.rb
269
+ - lib/factorix/formatting.rb
270
+ - lib/factorix/game_version.rb
271
+ - lib/factorix/http/cache_decorator.rb
272
+ - lib/factorix/http/cached_response.rb
273
+ - lib/factorix/http/client.rb
274
+ - lib/factorix/http/response.rb
275
+ - lib/factorix/http/retry_decorator.rb
276
+ - lib/factorix/http/retry_strategy.rb
277
+ - lib/factorix/info_json.rb
278
+ - lib/factorix/installed_mod.rb
279
+ - lib/factorix/mod.rb
280
+ - lib/factorix/mod_list.rb
281
+ - lib/factorix/mod_settings.rb
282
+ - lib/factorix/mod_state.rb
283
+ - lib/factorix/mod_version.rb
284
+ - lib/factorix/portal.rb
285
+ - lib/factorix/progress/download_handler.rb
286
+ - lib/factorix/progress/multi_presenter.rb
287
+ - lib/factorix/progress/presenter.rb
288
+ - lib/factorix/progress/presenter_adapter.rb
289
+ - lib/factorix/progress/scan_handler.rb
290
+ - lib/factorix/progress/upload_handler.rb
291
+ - lib/factorix/runtime.rb
292
+ - lib/factorix/runtime/base.rb
293
+ - lib/factorix/runtime/linux.rb
294
+ - lib/factorix/runtime/mac_os.rb
295
+ - lib/factorix/runtime/user_configurable.rb
296
+ - lib/factorix/runtime/windows.rb
297
+ - lib/factorix/runtime/wsl.rb
298
+ - lib/factorix/save_file.rb
299
+ - lib/factorix/ser_des/deserializer.rb
300
+ - lib/factorix/ser_des/serializer.rb
301
+ - lib/factorix/ser_des/signed_integer.rb
302
+ - lib/factorix/ser_des/unsigned_integer.rb
303
+ - lib/factorix/service_credential.rb
304
+ - lib/factorix/transfer/downloader.rb
305
+ - lib/factorix/transfer/uploader.rb
306
+ - lib/factorix/version.rb
307
+ - sig/dry/auto_inject.rbs
308
+ - sig/dry/cli.rbs
309
+ - sig/dry/configurable.rbs
310
+ - sig/dry/core/container.rbs
311
+ - sig/dry/events/publisher.rbs
312
+ - sig/dry/logger.rbs
313
+ - sig/factorix.rbs
314
+ - sig/factorix/api.rbs
315
+ - sig/factorix/api/category.rbs
316
+ - sig/factorix/api/image.rbs
317
+ - sig/factorix/api/license.rbs
318
+ - sig/factorix/api/mod_download_api.rbs
319
+ - sig/factorix/api/mod_info.rbs
320
+ - sig/factorix/api/mod_management_api.rbs
321
+ - sig/factorix/api/mod_portal_api.rbs
322
+ - sig/factorix/api/release.rbs
323
+ - sig/factorix/api/tag.rbs
324
+ - sig/factorix/api_credential.rbs
325
+ - sig/factorix/application.rbs
326
+ - sig/factorix/cache/file_system.rbs
327
+ - sig/factorix/cli.rbs
328
+ - sig/factorix/cli/commands/base.rbs
329
+ - sig/factorix/cli/commands/cache/evict.rbs
330
+ - sig/factorix/cli/commands/cache/stat.rbs
331
+ - sig/factorix/cli/commands/command_wrapper.rbs
332
+ - sig/factorix/cli/commands/completion/zsh.rbs
333
+ - sig/factorix/cli/commands/confirmable.rbs
334
+ - sig/factorix/cli/commands/download_support.rbs
335
+ - sig/factorix/cli/commands/launch.rbs
336
+ - sig/factorix/cli/commands/mod/check.rbs
337
+ - sig/factorix/cli/commands/mod/disable.rbs
338
+ - sig/factorix/cli/commands/mod/download.rbs
339
+ - sig/factorix/cli/commands/mod/edit.rbs
340
+ - sig/factorix/cli/commands/mod/enable.rbs
341
+ - sig/factorix/cli/commands/mod/image/add.rbs
342
+ - sig/factorix/cli/commands/mod/image/edit.rbs
343
+ - sig/factorix/cli/commands/mod/image/list.rbs
344
+ - sig/factorix/cli/commands/mod/install.rbs
345
+ - sig/factorix/cli/commands/mod/list.rbs
346
+ - sig/factorix/cli/commands/mod/search.rbs
347
+ - sig/factorix/cli/commands/mod/settings/dump.rbs
348
+ - sig/factorix/cli/commands/mod/settings/restore.rbs
349
+ - sig/factorix/cli/commands/mod/sync.rbs
350
+ - sig/factorix/cli/commands/mod/uninstall.rbs
351
+ - sig/factorix/cli/commands/mod/update.rbs
352
+ - sig/factorix/cli/commands/mod/upload.rbs
353
+ - sig/factorix/cli/commands/path.rbs
354
+ - sig/factorix/cli/commands/requires_game_stopped.rbs
355
+ - sig/factorix/cli/commands/version.rbs
356
+ - sig/factorix/dependency/edge.rbs
357
+ - sig/factorix/dependency/entry.rbs
358
+ - sig/factorix/dependency/graph.rbs
359
+ - sig/factorix/dependency/graph/builder.rbs
360
+ - sig/factorix/dependency/list.rbs
361
+ - sig/factorix/dependency/mod_version_requirement.rbs
362
+ - sig/factorix/dependency/node.rbs
363
+ - sig/factorix/dependency/parser.rbs
364
+ - sig/factorix/dependency/validation_result.rbs
365
+ - sig/factorix/dependency/validator.rbs
366
+ - sig/factorix/errors.rbs
367
+ - sig/factorix/formatting.rbs
368
+ - sig/factorix/game_version.rbs
369
+ - sig/factorix/http/cache_decorator.rbs
370
+ - sig/factorix/http/client.rbs
371
+ - sig/factorix/http/response.rbs
372
+ - sig/factorix/http/retry_decorator.rbs
373
+ - sig/factorix/http/retry_strategy.rbs
374
+ - sig/factorix/info_json.rbs
375
+ - sig/factorix/installed_mod.rbs
376
+ - sig/factorix/mod.rbs
377
+ - sig/factorix/mod_list.rbs
378
+ - sig/factorix/mod_settings.rbs
379
+ - sig/factorix/mod_state.rbs
380
+ - sig/factorix/mod_version.rbs
381
+ - sig/factorix/portal.rbs
382
+ - sig/factorix/progress/download_handler.rbs
383
+ - sig/factorix/progress/multi_presenter.rbs
384
+ - sig/factorix/progress/presenter.rbs
385
+ - sig/factorix/progress/presenter_adapter.rbs
386
+ - sig/factorix/progress/scan_handler.rbs
387
+ - sig/factorix/progress/upload_handler.rbs
388
+ - sig/factorix/runtime.rbs
389
+ - sig/factorix/runtime/base.rbs
390
+ - sig/factorix/runtime/linux.rbs
391
+ - sig/factorix/runtime/mac_os.rbs
392
+ - sig/factorix/runtime/user_configurable.rbs
393
+ - sig/factorix/runtime/windows.rbs
394
+ - sig/factorix/runtime/wsl.rbs
395
+ - sig/factorix/save_file.rbs
396
+ - sig/factorix/ser_des/deserializer.rbs
397
+ - sig/factorix/ser_des/serializer.rbs
398
+ - sig/factorix/ser_des/signed_integer.rbs
399
+ - sig/factorix/ser_des/unsigned_integer.rbs
400
+ - sig/factorix/service_credential.rbs
401
+ - sig/factorix/transfer/downloader.rbs
402
+ - sig/factorix/transfer/uploader.rbs
403
+ - sig/tty/progressbar.rbs
404
+ homepage: https://github.com/sakuro/factorix
405
+ licenses:
406
+ - MIT
407
+ metadata:
408
+ homepage_uri: https://github.com/sakuro/factorix
409
+ source_code_uri: https://github.com/sakuro/factorix.git
410
+ changelog_uri: https://github.com/sakuro/factorix/blob/main/CHANGELOG.md
411
+ rubygems_mfa_required: 'true'
412
+ post_install_message:
413
+ rdoc_options: []
414
+ require_paths:
415
+ - lib
416
+ required_ruby_version: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '3.2'
421
+ required_rubygems_version: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - ">="
424
+ - !ruby/object:Gem::Version
425
+ version: '0'
426
+ requirements: []
427
+ rubygems_version: 3.4.19
428
+ signing_key:
429
+ specification_version: 4
430
+ summary: CLI for Factorio MOD management, settings, and game control
431
+ test_files: []