itsi 0.1.7 → 0.1.8

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 (220) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +20 -0
  3. data/crates/itsi_error/src/from.rs +26 -29
  4. data/crates/itsi_server/Cargo.lock +2956 -0
  5. data/crates/itsi_server/Cargo.toml +1 -1
  6. data/crates/itsi_server/src/request/itsi_request.rs +7 -7
  7. data/crates/itsi_server/src/server/bind.rs +4 -3
  8. data/crates/itsi_server/src/server/itsi_server.rs +1 -8
  9. data/crates/itsi_server/src/server/listener.rs +98 -107
  10. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +22 -12
  11. data/crates/itsi_server/src/server/tls.rs +9 -5
  12. data/gems/scheduler/ext/itsi_error/src/from.rs +26 -29
  13. data/gems/scheduler/ext/itsi_server/Cargo.lock +2956 -0
  14. data/gems/scheduler/ext/itsi_server/Cargo.toml +1 -1
  15. data/gems/scheduler/ext/itsi_server/src/request/itsi_request.rs +7 -7
  16. data/gems/scheduler/ext/itsi_server/src/server/bind.rs +4 -3
  17. data/gems/scheduler/ext/itsi_server/src/server/itsi_server.rs +1 -8
  18. data/gems/scheduler/ext/itsi_server/src/server/listener.rs +98 -107
  19. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/single_mode.rs +22 -12
  20. data/gems/scheduler/ext/itsi_server/src/server/tls.rs +9 -5
  21. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  22. data/gems/server/Cargo.lock +2917 -0
  23. data/gems/server/Cargo.toml +7 -0
  24. data/gems/server/ext/itsi_error/src/from.rs +26 -29
  25. data/gems/server/ext/itsi_server/Cargo.lock +2956 -0
  26. data/gems/server/ext/itsi_server/Cargo.toml +1 -1
  27. data/gems/server/ext/itsi_server/src/request/itsi_request.rs +7 -7
  28. data/gems/server/ext/itsi_server/src/server/bind.rs +4 -3
  29. data/gems/server/ext/itsi_server/src/server/itsi_server.rs +1 -8
  30. data/gems/server/ext/itsi_server/src/server/listener.rs +98 -107
  31. data/gems/server/ext/itsi_server/src/server/serve_strategy/single_mode.rs +22 -12
  32. data/gems/server/ext/itsi_server/src/server/tls.rs +9 -5
  33. data/gems/server/lib/itsi/index.html.erb +91 -0
  34. data/gems/server/lib/itsi/server/scheduler_mode.rb +1 -1
  35. data/gems/server/lib/itsi/server/version.rb +1 -1
  36. data/gems/server/lib/itsi/server.rb +22 -2
  37. data/lib/itsi/version.rb +1 -1
  38. data/sandbox/deploy/main.tf +237 -0
  39. data/sandbox/deploy/outputs.tf +4 -0
  40. data/sandbox/deploy/vars.tf +11 -0
  41. data/sandbox/falcon_benchmark/Gemfile +10 -0
  42. data/sandbox/falcon_benchmark/Gemfile.lock +140 -0
  43. data/sandbox/falcon_benchmark/config.ru +54 -0
  44. data/sandbox/itsi_sandbox_async/Gemfile +10 -0
  45. data/sandbox/itsi_sandbox_async/Gemfile.lock +69 -0
  46. data/sandbox/itsi_sandbox_async/config.ru +10 -0
  47. data/sandbox/itsi_sandbox_hanami/.env +2 -0
  48. data/sandbox/itsi_sandbox_hanami/.gitignore +6 -0
  49. data/sandbox/itsi_sandbox_hanami/.rspec +1 -0
  50. data/sandbox/itsi_sandbox_hanami/Gemfile +49 -0
  51. data/sandbox/itsi_sandbox_hanami/Gemfile.lock +440 -0
  52. data/sandbox/itsi_sandbox_hanami/Guardfile +9 -0
  53. data/sandbox/itsi_sandbox_hanami/Procfile.dev +2 -0
  54. data/sandbox/itsi_sandbox_hanami/README.md +1 -0
  55. data/sandbox/itsi_sandbox_hanami/Rakefile +3 -0
  56. data/sandbox/itsi_sandbox_hanami/app/action.rb +12 -0
  57. data/sandbox/itsi_sandbox_hanami/app/actions/.keep +0 -0
  58. data/sandbox/itsi_sandbox_hanami/app/assets/css/app.css +5 -0
  59. data/sandbox/itsi_sandbox_hanami/app/assets/images/favicon.ico +0 -0
  60. data/sandbox/itsi_sandbox_hanami/app/assets/js/app.js +1 -0
  61. data/sandbox/itsi_sandbox_hanami/app/db/relation.rb +10 -0
  62. data/sandbox/itsi_sandbox_hanami/app/db/repo.rb +10 -0
  63. data/sandbox/itsi_sandbox_hanami/app/db/struct.rb +10 -0
  64. data/sandbox/itsi_sandbox_hanami/app/operation.rb +9 -0
  65. data/sandbox/itsi_sandbox_hanami/app/relations/.keep +0 -0
  66. data/sandbox/itsi_sandbox_hanami/app/repos/.keep +0 -0
  67. data/sandbox/itsi_sandbox_hanami/app/structs/.keep +0 -0
  68. data/sandbox/itsi_sandbox_hanami/app/templates/layouts/app.html.erb +14 -0
  69. data/sandbox/itsi_sandbox_hanami/app/view.rb +9 -0
  70. data/sandbox/itsi_sandbox_hanami/app/views/helpers.rb +10 -0
  71. data/sandbox/itsi_sandbox_hanami/bin/dev +8 -0
  72. data/sandbox/itsi_sandbox_hanami/config/app.rb +8 -0
  73. data/sandbox/itsi_sandbox_hanami/config/assets.js +16 -0
  74. data/sandbox/itsi_sandbox_hanami/config/db/migrate/.keep +0 -0
  75. data/sandbox/itsi_sandbox_hanami/config/db/seeds.rb +15 -0
  76. data/sandbox/itsi_sandbox_hanami/config/puma.rb +47 -0
  77. data/sandbox/itsi_sandbox_hanami/config/routes.rb +7 -0
  78. data/sandbox/itsi_sandbox_hanami/config/settings.rb +9 -0
  79. data/sandbox/itsi_sandbox_hanami/config.ru +5 -0
  80. data/sandbox/itsi_sandbox_hanami/db/.keep +0 -0
  81. data/sandbox/itsi_sandbox_hanami/lib/itsi_hanami/types.rb +11 -0
  82. data/sandbox/itsi_sandbox_hanami/lib/tasks/.keep +0 -0
  83. data/sandbox/itsi_sandbox_hanami/package-lock.json +946 -0
  84. data/sandbox/itsi_sandbox_hanami/package.json +8 -0
  85. data/sandbox/itsi_sandbox_hanami/spec/requests/root_spec.rb +11 -0
  86. data/sandbox/itsi_sandbox_hanami/spec/spec_helper.rb +9 -0
  87. data/sandbox/itsi_sandbox_hanami/spec/support/db/cleaning.rb +42 -0
  88. data/sandbox/itsi_sandbox_hanami/spec/support/db.rb +10 -0
  89. data/sandbox/itsi_sandbox_hanami/spec/support/features.rb +5 -0
  90. data/sandbox/itsi_sandbox_hanami/spec/support/operations.rb +8 -0
  91. data/sandbox/itsi_sandbox_hanami/spec/support/requests.rb +13 -0
  92. data/sandbox/itsi_sandbox_hanami/spec/support/rspec.rb +61 -0
  93. data/sandbox/itsi_sandbox_rack/Gemfile +17 -0
  94. data/sandbox/itsi_sandbox_rack/Gemfile.lock +153 -0
  95. data/sandbox/itsi_sandbox_rack/config.ru +18 -0
  96. data/sandbox/itsi_sandbox_rack_lint/Gemfile +7 -0
  97. data/sandbox/itsi_sandbox_rack_lint/Gemfile.lock +27 -0
  98. data/sandbox/itsi_sandbox_rack_lint/config.ru +3 -0
  99. data/sandbox/itsi_sandbox_rails/.dockerignore +51 -0
  100. data/sandbox/itsi_sandbox_rails/.gitattributes +9 -0
  101. data/sandbox/itsi_sandbox_rails/.github/dependabot.yml +12 -0
  102. data/sandbox/itsi_sandbox_rails/.github/workflows/ci.yml +90 -0
  103. data/sandbox/itsi_sandbox_rails/.gitignore +34 -0
  104. data/sandbox/itsi_sandbox_rails/.kamal/hooks/docker-setup.sample +3 -0
  105. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-app-boot.sample +3 -0
  106. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-deploy.sample +14 -0
  107. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-proxy-reboot.sample +3 -0
  108. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-app-boot.sample +3 -0
  109. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-build.sample +51 -0
  110. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-connect.sample +47 -0
  111. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-deploy.sample +109 -0
  112. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-proxy-reboot.sample +3 -0
  113. data/sandbox/itsi_sandbox_rails/.kamal/secrets +17 -0
  114. data/sandbox/itsi_sandbox_rails/.rubocop.yml +8 -0
  115. data/sandbox/itsi_sandbox_rails/.ruby-version +1 -0
  116. data/sandbox/itsi_sandbox_rails/Dockerfile +72 -0
  117. data/sandbox/itsi_sandbox_rails/Gemfile +72 -0
  118. data/sandbox/itsi_sandbox_rails/Gemfile.lock +480 -0
  119. data/sandbox/itsi_sandbox_rails/README.md +24 -0
  120. data/sandbox/itsi_sandbox_rails/Rakefile +6 -0
  121. data/sandbox/itsi_sandbox_rails/app/assets/images/.keep +0 -0
  122. data/sandbox/itsi_sandbox_rails/app/assets/stylesheets/application.css +10 -0
  123. data/sandbox/itsi_sandbox_rails/app/controllers/application_controller.rb +4 -0
  124. data/sandbox/itsi_sandbox_rails/app/controllers/concerns/.keep +0 -0
  125. data/sandbox/itsi_sandbox_rails/app/controllers/home_controller.rb +51 -0
  126. data/sandbox/itsi_sandbox_rails/app/controllers/live_controller.rb +41 -0
  127. data/sandbox/itsi_sandbox_rails/app/controllers/uploads_controller.rb +32 -0
  128. data/sandbox/itsi_sandbox_rails/app/helpers/application_helper.rb +2 -0
  129. data/sandbox/itsi_sandbox_rails/app/javascript/application.js +3 -0
  130. data/sandbox/itsi_sandbox_rails/app/javascript/controllers/application.js +9 -0
  131. data/sandbox/itsi_sandbox_rails/app/javascript/controllers/hello_controller.js +7 -0
  132. data/sandbox/itsi_sandbox_rails/app/javascript/controllers/index.js +4 -0
  133. data/sandbox/itsi_sandbox_rails/app/jobs/application_job.rb +7 -0
  134. data/sandbox/itsi_sandbox_rails/app/mailers/application_mailer.rb +4 -0
  135. data/sandbox/itsi_sandbox_rails/app/models/application_record.rb +3 -0
  136. data/sandbox/itsi_sandbox_rails/app/models/concerns/.keep +0 -0
  137. data/sandbox/itsi_sandbox_rails/app/models/post.rb +2 -0
  138. data/sandbox/itsi_sandbox_rails/app/views/layouts/application.html.erb +28 -0
  139. data/sandbox/itsi_sandbox_rails/app/views/layouts/mailer.html.erb +13 -0
  140. data/sandbox/itsi_sandbox_rails/app/views/layouts/mailer.text.erb +1 -0
  141. data/sandbox/itsi_sandbox_rails/app/views/pwa/manifest.json.erb +22 -0
  142. data/sandbox/itsi_sandbox_rails/app/views/pwa/service-worker.js +26 -0
  143. data/sandbox/itsi_sandbox_rails/bin/brakeman +7 -0
  144. data/sandbox/itsi_sandbox_rails/bin/bundle +109 -0
  145. data/sandbox/itsi_sandbox_rails/bin/dev +2 -0
  146. data/sandbox/itsi_sandbox_rails/bin/docker-entrypoint +14 -0
  147. data/sandbox/itsi_sandbox_rails/bin/importmap +4 -0
  148. data/sandbox/itsi_sandbox_rails/bin/jobs +6 -0
  149. data/sandbox/itsi_sandbox_rails/bin/kamal +27 -0
  150. data/sandbox/itsi_sandbox_rails/bin/rails +4 -0
  151. data/sandbox/itsi_sandbox_rails/bin/rake +4 -0
  152. data/sandbox/itsi_sandbox_rails/bin/rubocop +8 -0
  153. data/sandbox/itsi_sandbox_rails/bin/setup +34 -0
  154. data/sandbox/itsi_sandbox_rails/bin/thrust +5 -0
  155. data/sandbox/itsi_sandbox_rails/config/application.rb +61 -0
  156. data/sandbox/itsi_sandbox_rails/config/boot.rb +4 -0
  157. data/sandbox/itsi_sandbox_rails/config/cable.yml +17 -0
  158. data/sandbox/itsi_sandbox_rails/config/cache.yml +16 -0
  159. data/sandbox/itsi_sandbox_rails/config/credentials.yml.enc +1 -0
  160. data/sandbox/itsi_sandbox_rails/config/database.yml +40 -0
  161. data/sandbox/itsi_sandbox_rails/config/deploy.yml +116 -0
  162. data/sandbox/itsi_sandbox_rails/config/environment.rb +5 -0
  163. data/sandbox/itsi_sandbox_rails/config/environments/development.rb +72 -0
  164. data/sandbox/itsi_sandbox_rails/config/environments/production.rb +90 -0
  165. data/sandbox/itsi_sandbox_rails/config/environments/test.rb +53 -0
  166. data/sandbox/itsi_sandbox_rails/config/importmap.rb +7 -0
  167. data/sandbox/itsi_sandbox_rails/config/initializers/assets.rb +7 -0
  168. data/sandbox/itsi_sandbox_rails/config/initializers/content_security_policy.rb +25 -0
  169. data/sandbox/itsi_sandbox_rails/config/initializers/filter_parameter_logging.rb +8 -0
  170. data/sandbox/itsi_sandbox_rails/config/initializers/inflections.rb +16 -0
  171. data/sandbox/itsi_sandbox_rails/config/locales/en.yml +31 -0
  172. data/sandbox/itsi_sandbox_rails/config/puma.rb +41 -0
  173. data/sandbox/itsi_sandbox_rails/config/queue.yml +18 -0
  174. data/sandbox/itsi_sandbox_rails/config/recurring.yml +10 -0
  175. data/sandbox/itsi_sandbox_rails/config/routes.rb +21 -0
  176. data/sandbox/itsi_sandbox_rails/config/storage.yml +34 -0
  177. data/sandbox/itsi_sandbox_rails/config.ru +7 -0
  178. data/sandbox/itsi_sandbox_rails/db/cable_schema.rb +11 -0
  179. data/sandbox/itsi_sandbox_rails/db/cache_schema.rb +14 -0
  180. data/sandbox/itsi_sandbox_rails/db/migrate/20250301041554_create_posts.rb +10 -0
  181. data/sandbox/itsi_sandbox_rails/db/queue_schema.rb +129 -0
  182. data/sandbox/itsi_sandbox_rails/db/schema.rb +23 -0
  183. data/sandbox/itsi_sandbox_rails/db/seeds.rb +9 -0
  184. data/sandbox/itsi_sandbox_rails/lib/tasks/.keep +0 -0
  185. data/sandbox/itsi_sandbox_rails/log/.keep +0 -0
  186. data/sandbox/itsi_sandbox_rails/public/400.html +114 -0
  187. data/sandbox/itsi_sandbox_rails/public/404.html +114 -0
  188. data/sandbox/itsi_sandbox_rails/public/406-unsupported-browser.html +114 -0
  189. data/sandbox/itsi_sandbox_rails/public/422.html +114 -0
  190. data/sandbox/itsi_sandbox_rails/public/500.html +114 -0
  191. data/sandbox/itsi_sandbox_rails/public/icon.png +0 -0
  192. data/sandbox/itsi_sandbox_rails/public/icon.svg +3 -0
  193. data/sandbox/itsi_sandbox_rails/public/robots.txt +1 -0
  194. data/sandbox/itsi_sandbox_rails/script/.keep +0 -0
  195. data/sandbox/itsi_sandbox_rails/storage/.keep +0 -0
  196. data/sandbox/itsi_sandbox_rails/test/application_system_test_case.rb +5 -0
  197. data/sandbox/itsi_sandbox_rails/test/controllers/.keep +0 -0
  198. data/sandbox/itsi_sandbox_rails/test/fixtures/files/.keep +0 -0
  199. data/sandbox/itsi_sandbox_rails/test/fixtures/posts.yml +9 -0
  200. data/sandbox/itsi_sandbox_rails/test/helpers/.keep +0 -0
  201. data/sandbox/itsi_sandbox_rails/test/integration/.keep +0 -0
  202. data/sandbox/itsi_sandbox_rails/test/mailers/.keep +0 -0
  203. data/sandbox/itsi_sandbox_rails/test/models/.keep +0 -0
  204. data/sandbox/itsi_sandbox_rails/test/models/post_test.rb +7 -0
  205. data/sandbox/itsi_sandbox_rails/test/system/.keep +0 -0
  206. data/sandbox/itsi_sandbox_rails/test/test_helper.rb +15 -0
  207. data/sandbox/itsi_sandbox_rails/tmp/.keep +0 -0
  208. data/sandbox/itsi_sandbox_rails/tmp/pids/.keep +0 -0
  209. data/sandbox/itsi_sandbox_rails/tmp/storage/.keep +0 -0
  210. data/sandbox/itsi_sandbox_rails/vendor/.keep +0 -0
  211. data/sandbox/itsi_sandbox_rails/vendor/javascript/.keep +0 -0
  212. data/sandbox/itsi_sandbox_roda/Gemfile +5 -0
  213. data/sandbox/itsi_sandbox_roda/Gemfile.lock +44 -0
  214. data/sandbox/itsi_sandbox_roda/config.ru +39 -0
  215. data/sandbox/itsi_sinatra/Gemfile +9 -0
  216. data/sandbox/itsi_sinatra/Gemfile.lock +81 -0
  217. data/sandbox/itsi_sinatra/app.rb +9 -0
  218. data/sandbox/pebble/docker-compose.yml +11 -0
  219. data/tasks.txt +10 -4
  220. metadata +192 -5
@@ -0,0 +1,440 @@
1
+ PATH
2
+ remote: ../../gems/scheduler
3
+ specs:
4
+ itsi-scheduler (0.1.7)
5
+ rb_sys (~> 0.9.91)
6
+
7
+ PATH
8
+ remote: ../../gems/server
9
+ specs:
10
+ itsi-server (0.1.7)
11
+ rack (>= 1.6)
12
+ rb_sys (~> 0.9.91)
13
+
14
+ GEM
15
+ remote: https://rubygems.org/
16
+ specs:
17
+ addressable (2.8.7)
18
+ public_suffix (>= 2.0.2, < 7.0)
19
+ async (2.23.1)
20
+ console (~> 1.29)
21
+ fiber-annotation
22
+ io-event (~> 1.9)
23
+ metrics (~> 0.12)
24
+ traces (~> 0.15)
25
+ async-container (0.24.0)
26
+ async (~> 2.22)
27
+ async-container-supervisor (0.5.1)
28
+ async-container (~> 0.22)
29
+ async-service
30
+ io-endpoint
31
+ memory-leak (~> 0.5)
32
+ async-http (0.87.0)
33
+ async (>= 2.10.2)
34
+ async-pool (~> 0.9)
35
+ io-endpoint (~> 0.14)
36
+ io-stream (~> 0.6)
37
+ metrics (~> 0.12)
38
+ protocol-http (~> 0.49)
39
+ protocol-http1 (~> 0.30)
40
+ protocol-http2 (~> 0.22)
41
+ traces (~> 0.10)
42
+ async-http-cache (0.4.5)
43
+ async-http (~> 0.56)
44
+ async-pool (0.10.3)
45
+ async (>= 1.25)
46
+ async-service (0.13.0)
47
+ async
48
+ async-container (~> 0.16)
49
+ better_errors (2.10.1)
50
+ erubi (>= 1.0.0)
51
+ rack (>= 0.9.0)
52
+ rouge (>= 1.0.0)
53
+ bigdecimal (3.1.9)
54
+ binding_of_caller (1.0.1)
55
+ debug_inspector (>= 1.2.0)
56
+ capybara (3.40.0)
57
+ addressable
58
+ matrix
59
+ mini_mime (>= 0.1.3)
60
+ nokogiri (~> 1.11)
61
+ rack (>= 1.6.0)
62
+ rack-test (>= 0.6.3)
63
+ regexp_parser (>= 1.5, < 3.0)
64
+ xpath (~> 3.2)
65
+ coderay (1.1.3)
66
+ concurrent-ruby (1.3.5)
67
+ console (1.30.2)
68
+ fiber-annotation
69
+ fiber-local (~> 1.1)
70
+ json
71
+ database_cleaner-core (2.0.1)
72
+ database_cleaner-sequel (2.0.2)
73
+ database_cleaner-core (~> 2.0.0)
74
+ sequel
75
+ debug_inspector (1.2.0)
76
+ diff-lcs (1.6.0)
77
+ dotenv (3.1.7)
78
+ dry-auto_inject (1.1.0)
79
+ dry-core (~> 1.1)
80
+ zeitwerk (~> 2.6)
81
+ dry-cli (1.2.0)
82
+ dry-configurable (1.3.0)
83
+ dry-core (~> 1.1)
84
+ zeitwerk (~> 2.6)
85
+ dry-core (1.1.0)
86
+ concurrent-ruby (~> 1.0)
87
+ logger
88
+ zeitwerk (~> 2.6)
89
+ dry-events (1.1.0)
90
+ concurrent-ruby (~> 1.0)
91
+ dry-core (~> 1.1)
92
+ dry-files (1.1.0)
93
+ dry-inflector (1.2.0)
94
+ dry-initializer (3.2.0)
95
+ dry-logger (1.0.4)
96
+ dry-logic (1.6.0)
97
+ bigdecimal
98
+ concurrent-ruby (~> 1.0)
99
+ dry-core (~> 1.1)
100
+ zeitwerk (~> 2.6)
101
+ dry-monads (1.8.1)
102
+ concurrent-ruby (~> 1.0)
103
+ dry-core (~> 1.1)
104
+ zeitwerk (~> 2.6)
105
+ dry-monitor (1.0.1)
106
+ dry-configurable (~> 1.0, < 2)
107
+ dry-core (~> 1.0, < 2)
108
+ dry-events (~> 1.0, < 2)
109
+ dry-operation (1.0.0)
110
+ dry-monads (~> 1.6)
111
+ zeitwerk (~> 2.6)
112
+ dry-schema (1.14.1)
113
+ concurrent-ruby (~> 1.0)
114
+ dry-configurable (~> 1.0, >= 1.0.1)
115
+ dry-core (~> 1.1)
116
+ dry-initializer (~> 3.2)
117
+ dry-logic (~> 1.5)
118
+ dry-types (~> 1.8)
119
+ zeitwerk (~> 2.6)
120
+ dry-struct (1.8.0)
121
+ dry-core (~> 1.1)
122
+ dry-types (~> 1.8, >= 1.8.2)
123
+ ice_nine (~> 0.11)
124
+ zeitwerk (~> 2.6)
125
+ dry-system (1.2.2)
126
+ dry-auto_inject (~> 1.1)
127
+ dry-configurable (~> 1.3)
128
+ dry-core (~> 1.1)
129
+ dry-inflector (~> 1.1)
130
+ dry-transformer (1.0.1)
131
+ zeitwerk (~> 2.6)
132
+ dry-types (1.8.2)
133
+ bigdecimal (~> 3.0)
134
+ concurrent-ruby (~> 1.0)
135
+ dry-core (~> 1.0)
136
+ dry-inflector (~> 1.0)
137
+ dry-logic (~> 1.4)
138
+ zeitwerk (~> 2.6)
139
+ dry-validation (1.11.1)
140
+ concurrent-ruby (~> 1.0)
141
+ dry-core (~> 1.1)
142
+ dry-initializer (~> 3.2)
143
+ dry-schema (~> 1.14)
144
+ zeitwerk (~> 2.6)
145
+ erubi (1.13.1)
146
+ falcon (0.51.1)
147
+ async
148
+ async-container (~> 0.20)
149
+ async-container-supervisor (~> 0.5.0)
150
+ async-http (~> 0.75)
151
+ async-http-cache (~> 0.4)
152
+ async-service (~> 0.10)
153
+ bundler
154
+ localhost (~> 1.1)
155
+ openssl (~> 3.0)
156
+ protocol-http (~> 0.31)
157
+ protocol-rack (~> 0.7)
158
+ samovar (~> 2.3)
159
+ ffi (1.17.1-aarch64-linux-gnu)
160
+ ffi (1.17.1-aarch64-linux-musl)
161
+ ffi (1.17.1-arm-linux-gnu)
162
+ ffi (1.17.1-arm-linux-musl)
163
+ ffi (1.17.1-arm64-darwin)
164
+ ffi (1.17.1-x86-linux-gnu)
165
+ ffi (1.17.1-x86-linux-musl)
166
+ ffi (1.17.1-x86_64-darwin)
167
+ ffi (1.17.1-x86_64-linux-gnu)
168
+ ffi (1.17.1-x86_64-linux-musl)
169
+ fiber-annotation (0.2.0)
170
+ fiber-local (1.1.0)
171
+ fiber-storage
172
+ fiber-storage (1.0.0)
173
+ formatador (1.1.0)
174
+ guard (2.19.1)
175
+ formatador (>= 0.2.4)
176
+ listen (>= 2.7, < 4.0)
177
+ logger (~> 1.6)
178
+ lumberjack (>= 1.0.12, < 2.0)
179
+ nenv (~> 0.1)
180
+ notiffany (~> 0.0)
181
+ ostruct (~> 0.6)
182
+ pry (>= 0.13.0)
183
+ shellany (~> 0.0)
184
+ thor (>= 0.18.1)
185
+ guard-compat (1.2.1)
186
+ guard-puma (0.8.1)
187
+ guard (~> 2.14)
188
+ guard-compat (~> 1.2)
189
+ puma (>= 4.0, < 7)
190
+ hanami (2.2.1)
191
+ bundler (>= 1.16, < 3)
192
+ dry-configurable (~> 1.0, >= 1.2.0, < 2)
193
+ dry-core (~> 1.0, < 2)
194
+ dry-inflector (~> 1.0, >= 1.1.0, < 2)
195
+ dry-logger (~> 1.0, < 2)
196
+ dry-monitor (~> 1.0, >= 1.0.1, < 2)
197
+ dry-system (~> 1.1)
198
+ hanami-cli (~> 2.2.1)
199
+ hanami-utils (~> 2.2)
200
+ json (>= 2.7.2)
201
+ zeitwerk (~> 2.6)
202
+ hanami-assets (2.2.0)
203
+ zeitwerk (~> 2.6)
204
+ hanami-cli (2.2.1)
205
+ bundler (~> 2.1)
206
+ dry-cli (~> 1.0, >= 1.1.0)
207
+ dry-files (~> 1.0, >= 1.0.2, < 2)
208
+ dry-inflector (~> 1.0, < 2)
209
+ rake (~> 13.0)
210
+ zeitwerk (~> 2.6)
211
+ hanami-controller (2.2.0)
212
+ dry-configurable (~> 1.0, < 2)
213
+ dry-core (~> 1.0)
214
+ hanami-utils (~> 2.2)
215
+ rack (~> 2.0)
216
+ zeitwerk (~> 2.6)
217
+ hanami-db (2.2.1)
218
+ rom (~> 5.4, >= 5.4.1)
219
+ rom-sql (~> 3.7)
220
+ zeitwerk (~> 2.6)
221
+ hanami-reloader (2.2.0)
222
+ guard (~> 2.19)
223
+ guard-puma (~> 0.8)
224
+ hanami-cli (~> 2.2)
225
+ zeitwerk (~> 2.6)
226
+ hanami-router (2.2.0)
227
+ mustermann (~> 3.0)
228
+ mustermann-contrib (~> 3.0)
229
+ rack (~> 2.0)
230
+ hanami-rspec (2.2.1)
231
+ hanami-cli (~> 2.2)
232
+ rake (~> 13.0)
233
+ rspec (~> 3.12)
234
+ zeitwerk (~> 2.6)
235
+ hanami-utils (2.2.0)
236
+ concurrent-ruby (~> 1.0)
237
+ dry-core (~> 1.0, < 2)
238
+ dry-transformer (~> 1.0, < 2)
239
+ hanami-validations (2.2.0)
240
+ dry-validation (>= 1.10, < 2)
241
+ hanami-view (2.2.0)
242
+ dry-configurable (~> 1.0)
243
+ dry-core (~> 1.0)
244
+ dry-inflector (~> 1.0, < 2)
245
+ temple (~> 0.10.0, >= 0.10.2)
246
+ tilt (~> 2.3)
247
+ zeitwerk (~> 2.6)
248
+ hanami-webconsole (2.2.0)
249
+ better_errors (~> 2.10, >= 2.10.1)
250
+ binding_of_caller (~> 1.0)
251
+ hansi (0.2.1)
252
+ ice_nine (0.11.2)
253
+ io-endpoint (0.15.2)
254
+ io-event (1.10.0)
255
+ io-stream (0.6.1)
256
+ iodine (0.7.58)
257
+ json (2.10.2)
258
+ kgio (2.11.4)
259
+ listen (3.9.0)
260
+ rb-fsevent (~> 0.10, >= 0.10.3)
261
+ rb-inotify (~> 0.9, >= 0.9.10)
262
+ localhost (1.3.1)
263
+ logger (1.6.6)
264
+ lumberjack (1.2.10)
265
+ mapping (1.1.1)
266
+ matrix (0.4.2)
267
+ memory-leak (0.5.2)
268
+ method_source (1.1.0)
269
+ metrics (0.12.2)
270
+ mini_mime (1.1.5)
271
+ mini_portile2 (2.8.8)
272
+ mustermann (3.0.3)
273
+ ruby2_keywords (~> 0.0.1)
274
+ mustermann-contrib (3.0.3)
275
+ hansi (~> 0.2.0)
276
+ mustermann (= 3.0.3)
277
+ nenv (0.3.0)
278
+ nio4r (2.7.4)
279
+ nokogiri (1.18.3)
280
+ mini_portile2 (~> 2.8.2)
281
+ racc (~> 1.4)
282
+ nokogiri (1.18.3-aarch64-linux-gnu)
283
+ racc (~> 1.4)
284
+ nokogiri (1.18.3-aarch64-linux-musl)
285
+ racc (~> 1.4)
286
+ nokogiri (1.18.3-arm-linux-gnu)
287
+ racc (~> 1.4)
288
+ nokogiri (1.18.3-arm-linux-musl)
289
+ racc (~> 1.4)
290
+ nokogiri (1.18.3-arm64-darwin)
291
+ racc (~> 1.4)
292
+ nokogiri (1.18.3-x86_64-darwin)
293
+ racc (~> 1.4)
294
+ nokogiri (1.18.3-x86_64-linux-gnu)
295
+ racc (~> 1.4)
296
+ nokogiri (1.18.3-x86_64-linux-musl)
297
+ racc (~> 1.4)
298
+ notiffany (0.1.3)
299
+ nenv (~> 0.1)
300
+ shellany (~> 0.0)
301
+ openssl (3.3.0)
302
+ ostruct (0.6.1)
303
+ protocol-hpack (1.5.1)
304
+ protocol-http (0.49.0)
305
+ protocol-http1 (0.30.0)
306
+ protocol-http (~> 0.22)
307
+ protocol-http2 (0.22.1)
308
+ protocol-hpack (~> 1.4)
309
+ protocol-http (~> 0.47)
310
+ protocol-rack (0.11.2)
311
+ protocol-http (~> 0.43)
312
+ rack (>= 1.0)
313
+ pry (0.15.2)
314
+ coderay (~> 1.1)
315
+ method_source (~> 1.0)
316
+ public_suffix (6.0.1)
317
+ puma (6.6.0)
318
+ nio4r (~> 2.0)
319
+ racc (1.8.1)
320
+ rack (2.2.13)
321
+ rack-test (2.2.0)
322
+ rack (>= 1.3)
323
+ raindrops (0.20.1)
324
+ rake (13.2.1)
325
+ rake-compiler-dock (1.9.1)
326
+ rb-fsevent (0.11.2)
327
+ rb-inotify (0.11.1)
328
+ ffi (~> 1.0)
329
+ rb_sys (0.9.111)
330
+ rake-compiler-dock (= 1.9.1)
331
+ regexp_parser (2.10.0)
332
+ rom (5.4.2)
333
+ rom-changeset (~> 5.4)
334
+ rom-core (~> 5.4)
335
+ rom-repository (~> 5.4, >= 5.4.2)
336
+ rom-changeset (5.4.0)
337
+ dry-core (~> 1.0)
338
+ rom-core (~> 5.4)
339
+ transproc (~> 1.1)
340
+ rom-core (5.4.0)
341
+ concurrent-ruby (~> 1.1)
342
+ dry-configurable (~> 1.0)
343
+ dry-core (~> 1.0)
344
+ dry-inflector (~> 1.0)
345
+ dry-initializer (~> 3.2)
346
+ dry-struct (~> 1.0)
347
+ dry-types (~> 1.6)
348
+ transproc (~> 1.1)
349
+ rom-repository (5.4.2)
350
+ dry-core (~> 1.0)
351
+ dry-initializer (~> 3.2)
352
+ rom-core (~> 5.4)
353
+ rom-sql (3.7.0)
354
+ dry-core (~> 1.1)
355
+ dry-types (~> 1.8)
356
+ rom (~> 5.4)
357
+ sequel (>= 4.49)
358
+ rouge (4.5.1)
359
+ rspec (3.13.0)
360
+ rspec-core (~> 3.13.0)
361
+ rspec-expectations (~> 3.13.0)
362
+ rspec-mocks (~> 3.13.0)
363
+ rspec-core (3.13.3)
364
+ rspec-support (~> 3.13.0)
365
+ rspec-expectations (3.13.3)
366
+ diff-lcs (>= 1.2.0, < 2.0)
367
+ rspec-support (~> 3.13.0)
368
+ rspec-mocks (3.13.2)
369
+ diff-lcs (>= 1.2.0, < 2.0)
370
+ rspec-support (~> 3.13.0)
371
+ rspec-support (3.13.2)
372
+ ruby2_keywords (0.0.5)
373
+ samovar (2.3.0)
374
+ console (~> 1.0)
375
+ mapping (~> 1.0)
376
+ sequel (5.90.0)
377
+ bigdecimal
378
+ shellany (0.0.1)
379
+ sqlite3 (2.6.0-aarch64-linux-gnu)
380
+ sqlite3 (2.6.0-aarch64-linux-musl)
381
+ sqlite3 (2.6.0-arm-linux-gnu)
382
+ sqlite3 (2.6.0-arm-linux-musl)
383
+ sqlite3 (2.6.0-arm64-darwin)
384
+ sqlite3 (2.6.0-x86-linux-gnu)
385
+ sqlite3 (2.6.0-x86-linux-musl)
386
+ sqlite3 (2.6.0-x86_64-darwin)
387
+ sqlite3 (2.6.0-x86_64-linux-gnu)
388
+ sqlite3 (2.6.0-x86_64-linux-musl)
389
+ temple (0.10.3)
390
+ thor (1.3.2)
391
+ tilt (2.6.0)
392
+ traces (0.15.2)
393
+ transproc (1.1.1)
394
+ unicorn (6.1.0)
395
+ kgio (~> 2.6)
396
+ raindrops (~> 0.7)
397
+ xpath (3.2.0)
398
+ nokogiri (~> 1.8)
399
+ zeitwerk (2.7.2)
400
+
401
+ PLATFORMS
402
+ aarch64-linux-gnu
403
+ aarch64-linux-musl
404
+ arm-linux-gnu
405
+ arm-linux-musl
406
+ arm64-darwin
407
+ x86-linux-gnu
408
+ x86-linux-musl
409
+ x86_64-darwin
410
+ x86_64-linux-gnu
411
+ x86_64-linux-musl
412
+
413
+ DEPENDENCIES
414
+ capybara
415
+ database_cleaner-sequel
416
+ dotenv
417
+ dry-operation
418
+ dry-types (~> 1.7)
419
+ falcon
420
+ hanami (~> 2.2)
421
+ hanami-assets (~> 2.2)
422
+ hanami-controller (~> 2.2)
423
+ hanami-db (~> 2.2)
424
+ hanami-reloader (~> 2.2)
425
+ hanami-router (~> 2.2)
426
+ hanami-rspec (~> 2.2)
427
+ hanami-validations (~> 2.2)
428
+ hanami-view (~> 2.2)
429
+ hanami-webconsole (~> 2.2)
430
+ iodine
431
+ itsi-scheduler!
432
+ itsi-server!
433
+ puma
434
+ rack-test
435
+ rake
436
+ sqlite3
437
+ unicorn
438
+
439
+ BUNDLED WITH
440
+ 2.6.3
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ group :server do
4
+ guard "puma", port: ENV.fetch("HANAMI_PORT", 2300) do
5
+ # Edit the following regular expression for your needs.
6
+ # See: https://guides.hanamirb.org/app/code-reloading/
7
+ watch(%r{^(app|config|lib|slices)([\/][^\/]+)*.(rb|erb|haml|slim)$}i)
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ web: bundle exec hanami server
2
+ assets: bundle exec hanami assets watch
@@ -0,0 +1 @@
1
+ # ItsiHanami
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hanami/rake_tasks"
@@ -0,0 +1,12 @@
1
+ # auto_register: false
2
+ # frozen_string_literal: true
3
+
4
+ require "hanami/action"
5
+ require "dry/monads"
6
+
7
+ module ItsiHanami
8
+ class Action < Hanami::Action
9
+ # Provide `Success` and `Failure` for pattern matching on operation results
10
+ include Dry::Monads[:result]
11
+ end
12
+ end
File without changes
@@ -0,0 +1,5 @@
1
+ body {
2
+ background-color: #fff;
3
+ color: #000;
4
+ font-family: sans-serif;
5
+ }
@@ -0,0 +1 @@
1
+ import "../css/app.css";
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hanami/db/relation"
4
+
5
+ module ItsiHanami
6
+ module DB
7
+ class Relation < Hanami::DB::Relation
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hanami/db/repo"
4
+
5
+ module ItsiHanami
6
+ module DB
7
+ class Repo < Hanami::DB::Repo
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hanami/db/struct"
4
+
5
+ module ItsiHanami
6
+ module DB
7
+ class Struct < Hanami::DB::Struct
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ # auto_register: false
2
+ # frozen_string_literal: true
3
+
4
+ require "dry/operation"
5
+
6
+ module ItsiHanami
7
+ class Operation < Dry::Operation
8
+ end
9
+ end
File without changes
File without changes
File without changes
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Itsi hanami</title>
7
+ <%= favicon_tag %>
8
+ <%= stylesheet_tag "app" %>
9
+ </head>
10
+ <body>
11
+ <%= yield %>
12
+ <%= javascript_tag "app" %>
13
+ </body>
14
+ </html>
@@ -0,0 +1,9 @@
1
+ # auto_register: false
2
+ # frozen_string_literal: true
3
+
4
+ require "hanami/view"
5
+
6
+ module ItsiHanami
7
+ class View < Hanami::View
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ # auto_register: false
2
+ # frozen_string_literal: true
3
+
4
+ module ItsiHanami
5
+ module Views
6
+ module Helpers
7
+ # Add your view helpers here
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env sh
2
+
3
+ if ! gem list foreman -i --silent; then
4
+ echo "Installing foreman..."
5
+ gem install foreman
6
+ fi
7
+
8
+ exec foreman start -f Procfile.dev "$@"
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hanami"
4
+
5
+ module ItsiHanami
6
+ class App < Hanami::App
7
+ end
8
+ end
@@ -0,0 +1,16 @@
1
+ import * as assets from "hanami-assets";
2
+
3
+ await assets.run();
4
+
5
+ // To provide additional esbuild (https://esbuild.github.io) options, use the following:
6
+ //
7
+ // Read more at: https://guides.hanamirb.org/assets/customization/
8
+ //
9
+ // await assets.run({
10
+ // esbuildOptionsFn: (args, esbuildOptions) => {
11
+ // // Add to esbuildOptions here. Use `args.watch` as a condition for different options for
12
+ // // compile vs watch.
13
+ //
14
+ // return esbuildOptions;
15
+ // }
16
+ // });
@@ -0,0 +1,15 @@
1
+ # This seeds file should create the database records required to run the app.
2
+ #
3
+ # The code should be idempotent so that it can be executed at any time.
4
+ #
5
+ # To load the seeds, run `hanami db seed`. Seeds are also loaded as part of `hanami db prepare`.
6
+
7
+ # For example, if you have appropriate repos available:
8
+ #
9
+ # category_repo = Hanami.app["repos.category_repo"]
10
+ # category_repo.create(title: "General")
11
+ #
12
+ # Alternatively, you can use relations directly:
13
+ #
14
+ # categories = Hanami.app["relations.categories"]
15
+ # categories.insert(title: "General")
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Environment and port
5
+ #
6
+ port ENV.fetch("HANAMI_PORT", 2300)
7
+ environment ENV.fetch("HANAMI_ENV", "development")
8
+
9
+ #
10
+ # Threads within each Puma/Ruby process (aka worker)
11
+ #
12
+
13
+ # Configure the minimum and maximum number of threads to use to answer requests.
14
+ max_threads_count = ENV.fetch("HANAMI_MAX_THREADS", 5)
15
+ min_threads_count = ENV.fetch("HANAMI_MIN_THREADS") { max_threads_count }
16
+
17
+ threads min_threads_count, max_threads_count
18
+
19
+ #
20
+ # Workers (aka Puma/Ruby processes)
21
+ #
22
+
23
+ puma_concurrency = Integer(ENV.fetch("HANAMI_WEB_CONCURRENCY", 0))
24
+ puma_cluster_mode = puma_concurrency > 1
25
+
26
+ # How many worker (Puma/Ruby) processes to run.
27
+ # Typically this is set to the number of available cores.
28
+ workers puma_concurrency
29
+
30
+ #
31
+ # Cluster mode (aka multiple workers)
32
+ #
33
+
34
+ if puma_cluster_mode
35
+ # Preload the application before starting the workers. Only in cluster mode.
36
+ preload_app!
37
+
38
+ # Code to run immediately before master process forks workers (once on boot).
39
+ #
40
+ # These hooks can block if necessary to wait for background operations unknown
41
+ # to puma to finish before the process terminates. This can be used to close
42
+ # any connections to remote servers (database, redis, …) that were opened when
43
+ # preloading the code.
44
+ before_fork do
45
+ Hanami.shutdown
46
+ end
47
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ItsiHanami
4
+ class Routes < Hanami::Routes
5
+ # Add your routes here. See https://guides.hanamirb.org/routing/overview/ for details.
6
+ end
7
+ end