lacci 0.2.1 → 0.2.2

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 (570) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -2
  3. data/Gemfile.lock +72 -0
  4. data/Rakefile +1 -4
  5. data/lib/lacci/scarpe_cli.rb +70 -0
  6. data/lib/lacci/scarpe_core.rb +21 -0
  7. data/lib/lacci/version.rb +13 -0
  8. data/lib/shoes/app.rb +91 -14
  9. data/lib/{scarpe → shoes}/background.rb +1 -1
  10. data/lib/{scarpe → shoes}/border.rb +1 -1
  11. data/lib/{scarpe → shoes}/colors.rb +1 -1
  12. data/lib/shoes/constants.rb +5 -2
  13. data/lib/{scarpe → shoes}/display_service.rb +8 -9
  14. data/lib/{scarpe → shoes}/download.rb +5 -5
  15. data/lib/shoes/log.rb +71 -0
  16. data/lib/{scarpe → shoes}/spacing.rb +1 -1
  17. data/lib/shoes/widget.rb +28 -19
  18. data/lib/{scarpe → shoes/widgets}/alert.rb +2 -2
  19. data/lib/{scarpe → shoes/widgets}/arc.rb +6 -4
  20. data/lib/{scarpe → shoes/widgets}/button.rb +2 -2
  21. data/lib/shoes/widgets/check.rb +28 -0
  22. data/lib/{scarpe → shoes/widgets}/document_root.rb +3 -3
  23. data/lib/{scarpe → shoes/widgets}/edit_box.rb +1 -1
  24. data/lib/{scarpe → shoes/widgets}/edit_line.rb +1 -1
  25. data/lib/{scarpe → shoes/widgets}/flow.rb +6 -2
  26. data/lib/{scarpe → shoes/widgets}/font.rb +1 -1
  27. data/lib/{scarpe → shoes/widgets}/image.rb +2 -8
  28. data/lib/shoes/widgets/line.rb +18 -0
  29. data/lib/{scarpe → shoes/widgets}/link.rb +1 -1
  30. data/lib/{scarpe → shoes/widgets}/list_box.rb +1 -1
  31. data/lib/{scarpe → shoes/widgets}/para.rb +1 -25
  32. data/lib/shoes/widgets/radio.rb +35 -0
  33. data/lib/shoes/widgets/shape.rb +37 -0
  34. data/lib/shoes/widgets/slot.rb +75 -0
  35. data/lib/{scarpe → shoes/widgets}/span.rb +1 -1
  36. data/lib/{scarpe → shoes/widgets}/stack.rb +5 -1
  37. data/lib/{scarpe → shoes/widgets}/star.rb +5 -8
  38. data/lib/{scarpe → shoes/widgets}/subscription_item.rb +1 -1
  39. data/lib/shoes/{text_widget.rb → widgets/text_widget.rb} +2 -3
  40. data/lib/{scarpe → shoes/widgets}/video.rb +1 -1
  41. data/lib/shoes/widgets.rb +29 -0
  42. data/lib/shoes.rb +71 -9
  43. metadata +38 -555
  44. data/.rubocop.yml +0 -85
  45. data/.ruby-version +0 -1
  46. data/.vscode/extensions.json +0 -5
  47. data/.yardopts +0 -12
  48. data/CHANGELOG.md +0 -19
  49. data/CODE_OF_CONDUCT.md +0 -84
  50. data/CONTRIBUTING.md +0 -20
  51. data/LICENSE.txt +0 -21
  52. data/README.md +0 -178
  53. data/bin/console +0 -15
  54. data/bin/setup +0 -8
  55. data/dev.yml +0 -7
  56. data/docs/static/PKGBUILD +0 -47
  57. data/docs/static/Shoes.icns +0 -0
  58. data/docs/static/avatar.png +0 -0
  59. data/docs/static/code_highlighter.js +0 -188
  60. data/docs/static/code_highlighter_ruby.js +0 -26
  61. data/docs/static/icon-debug.png +0 -0
  62. data/docs/static/icon-error.png +0 -0
  63. data/docs/static/icon-info.png +0 -0
  64. data/docs/static/icon-warn.png +0 -0
  65. data/docs/static/listbox_button1.png +0 -0
  66. data/docs/static/listbox_button2.png +0 -0
  67. data/docs/static/man-app.png +0 -0
  68. data/docs/static/man-builds.png +0 -0
  69. data/docs/static/man-builds1.png +0 -0
  70. data/docs/static/man-editor-notepad.png +0 -0
  71. data/docs/static/man-editor-osx.png +0 -0
  72. data/docs/static/man-ele-background.png +0 -0
  73. data/docs/static/man-ele-border.png +0 -0
  74. data/docs/static/man-ele-button.png +0 -0
  75. data/docs/static/man-ele-check.png +0 -0
  76. data/docs/static/man-ele-editbox.png +0 -0
  77. data/docs/static/man-ele-editline.png +0 -0
  78. data/docs/static/man-ele-image.png +0 -0
  79. data/docs/static/man-ele-listbox.png +0 -0
  80. data/docs/static/man-ele-progress.png +0 -0
  81. data/docs/static/man-ele-radio.png +0 -0
  82. data/docs/static/man-ele-shape.png +0 -0
  83. data/docs/static/man-ele-textblock.png +0 -0
  84. data/docs/static/man-ele-video.png +0 -0
  85. data/docs/static/man-intro-dmg.png +0 -0
  86. data/docs/static/man-intro-exe.png +0 -0
  87. data/docs/static/man-look-tiger.png +0 -0
  88. data/docs/static/man-look-ubuntu.png +0 -0
  89. data/docs/static/man-look-vista.png +0 -0
  90. data/docs/static/man-run-osx.png +0 -0
  91. data/docs/static/man-run-vista.png +0 -0
  92. data/docs/static/man-run-xp.png +0 -0
  93. data/docs/static/man-shot1.png +0 -0
  94. data/docs/static/manual-en.txt +0 -3529
  95. data/docs/static/manual-ja.txt +0 -2829
  96. data/docs/static/manual.css +0 -171
  97. data/docs/static/manual.md +0 -3528
  98. data/docs/static/menu-corner1.png +0 -0
  99. data/docs/static/menu-corner2.png +0 -0
  100. data/docs/static/menu-gray.png +0 -0
  101. data/docs/static/menu-left.png +0 -0
  102. data/docs/static/menu-right.png +0 -0
  103. data/docs/static/menu-top.png +0 -0
  104. data/docs/static/shoes-dmg.jpg +0 -0
  105. data/docs/static/shoes-icon-blue.png +0 -0
  106. data/docs/static/shoes-icon.png +0 -0
  107. data/docs/static/shoes-manual-apps.gif +0 -0
  108. data/docs/static/shoes_main_window.png +0 -0
  109. data/docs/static/stripe.png +0 -0
  110. data/docs/static/stubs/blank.exe +0 -0
  111. data/docs/static/stubs/blank.hfz +0 -0
  112. data/docs/static/stubs/blank.run +0 -375
  113. data/docs/static/stubs/cocoa-install +0 -0
  114. data/docs/static/stubs/sh-install +0 -49
  115. data/docs/static/stubs/shoes-stub-inject.exe +0 -0
  116. data/docs/static/stubs/shoes-stub.exe +0 -0
  117. data/docs/static/tutor-back.png +0 -0
  118. data/docs/yard/catscradle.md +0 -44
  119. data/docs/yard/template/default/fulldoc/html/setup.rb +0 -13
  120. data/docs/yard/template/default/layout/html/setup.rb +0 -9
  121. data/examples/backdround_with_image.rb +0 -16
  122. data/examples/bloopsaphone/working/1901_by_Aanand_Prasad.rb +0 -478
  123. data/examples/bloopsaphone/working/b1.rb +0 -64
  124. data/examples/bloopsaphone/working/b2.rb +0 -36
  125. data/examples/bloopsaphone/working/bloops_test.rb +0 -41
  126. data/examples/bloopsaphone/working/bloopsaphone_theme_song_by_why.rb +0 -31
  127. data/examples/bloopsaphone/working/feepogram.rb +0 -67
  128. data/examples/bloopsaphone/working/simpsons_theme_song_by_why.rb +0 -14
  129. data/examples/bloopsaphone/working/tune_cheeky_drat.rb +0 -210
  130. data/examples/button.rb +0 -10
  131. data/examples/button_alert.rb +0 -6
  132. data/examples/button_go_away.rb +0 -6
  133. data/examples/button_with_position_and_size.rb +0 -7
  134. data/examples/coffee.rb +0 -14
  135. data/examples/download.rb +0 -5
  136. data/examples/download_and_show_image.rb +0 -28
  137. data/examples/edit_box.rb +0 -8
  138. data/examples/edit_line.rb +0 -8
  139. data/examples/fill.rb +0 -25
  140. data/examples/flow.rb +0 -11
  141. data/examples/fonts.rb +0 -6
  142. data/examples/gen.rb +0 -140
  143. data/examples/get_headers.rb +0 -10
  144. data/examples/hello_world.rb +0 -3
  145. data/examples/highlander.rb +0 -87
  146. data/examples/image/clickable_image.rb +0 -5
  147. data/examples/image/image.rb +0 -3
  148. data/examples/image/image_size.rb +0 -7
  149. data/examples/image/image_with_position_and_size.rb +0 -3
  150. data/examples/info.rb +0 -9
  151. data/examples/legacy/not_checked/expert/colours.rb +0 -105
  152. data/examples/legacy/not_checked/expert/curve-animation.rb +0 -31
  153. data/examples/legacy/not_checked/expert/curve-control-point.rb +0 -51
  154. data/examples/legacy/not_checked/expert/custom-list-box.rb +0 -53
  155. data/examples/legacy/not_checked/expert/definr.rb +0 -23
  156. data/examples/legacy/not_checked/expert/funnies.rb +0 -56
  157. data/examples/legacy/not_checked/expert/minesweeper.rb +0 -267
  158. data/examples/legacy/not_checked/expert/othello.rb +0 -318
  159. data/examples/legacy/not_checked/expert/pong.rb +0 -62
  160. data/examples/legacy/not_checked/expert/tankspank.rb +0 -385
  161. data/examples/legacy/not_checked/expert/tooltips.rb +0 -45
  162. data/examples/legacy/not_checked/expert/url.rb +0 -37
  163. data/examples/legacy/not_checked/expert/video-player.rb +0 -256
  164. data/examples/legacy/not_checked/good/_why-stories.rb +0 -44
  165. data/examples/legacy/not_checked/good/_why-stories.yaml +0 -387
  166. data/examples/legacy/not_checked/good/arc.rb +0 -37
  167. data/examples/legacy/not_checked/good/cardflip.rb +0 -141
  168. data/examples/legacy/not_checked/good/clock.rb +0 -51
  169. data/examples/legacy/not_checked/good/console.rb +0 -21
  170. data/examples/legacy/not_checked/good/follow.rb +0 -26
  171. data/examples/legacy/not_checked/good/image-rotate.rb +0 -14
  172. data/examples/legacy/not_checked/good/paris.svg +0 -7236
  173. data/examples/legacy/not_checked/good/path-animation.rb +0 -46
  174. data/examples/legacy/not_checked/good/plots.rb +0 -100
  175. data/examples/legacy/not_checked/good/reminder.rb +0 -174
  176. data/examples/legacy/not_checked/good/svgview.rb +0 -113
  177. data/examples/legacy/not_checked/good/vjot.rb +0 -56
  178. data/examples/legacy/not_checked/shoes-contrib/.gitignore +0 -2
  179. data/examples/legacy/not_checked/shoes-contrib/README.md +0 -34
  180. data/examples/legacy/not_checked/shoes-contrib/animation/animate-ovals.rb +0 -21
  181. data/examples/legacy/not_checked/shoes-contrib/animation/flowers.rb +0 -59
  182. data/examples/legacy/not_checked/shoes-contrib/animation/happy-trails.rb +0 -31
  183. data/examples/legacy/not_checked/shoes-contrib/animation/mice-satellites.rb +0 -27
  184. data/examples/legacy/not_checked/shoes-contrib/animation/oval-motion.rb +0 -12
  185. data/examples/legacy/not_checked/shoes-contrib/animation/pink-bubbles.rb +0 -34
  186. data/examples/legacy/not_checked/shoes-contrib/animation/pulsate.rb +0 -18
  187. data/examples/legacy/not_checked/shoes-contrib/animation/rotating-star.rb +0 -18
  188. data/examples/legacy/not_checked/shoes-contrib/app/download-and-save.rb +0 -11
  189. data/examples/legacy/not_checked/shoes-contrib/app/download.rb +0 -10
  190. data/examples/legacy/not_checked/shoes-contrib/app/get-google.rb +0 -11
  191. data/examples/legacy/not_checked/shoes-contrib/app/mouse-detection.rb +0 -7
  192. data/examples/legacy/not_checked/shoes-contrib/app/resizeable-false.rb +0 -6
  193. data/examples/legacy/not_checked/shoes-contrib/art/bubble-bullseye.rb +0 -23
  194. data/examples/legacy/not_checked/shoes-contrib/art/faded.rb +0 -17
  195. data/examples/legacy/not_checked/shoes-contrib/art/fill-oval.rb +0 -5
  196. data/examples/legacy/not_checked/shoes-contrib/art/mask.rb +0 -15
  197. data/examples/legacy/not_checked/shoes-contrib/art/oval-gradient.rb +0 -6
  198. data/examples/legacy/not_checked/shoes-contrib/art/star-gradient.rb +0 -4
  199. data/examples/legacy/not_checked/shoes-contrib/basic/basic-edit-box.rb +0 -8
  200. data/examples/legacy/not_checked/shoes-contrib/basic/basic-new-window.rb +0 -8
  201. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-image.rb +0 -8
  202. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-shape.rb +0 -8
  203. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval.rb +0 -6
  204. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.rb +0 -43
  205. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.yaml +0 -387
  206. data/examples/legacy/not_checked/shoes-contrib/basic/clock.rb +0 -6
  207. data/examples/legacy/not_checked/shoes-contrib/basic/edit-stack +0 -14
  208. data/examples/legacy/not_checked/shoes-contrib/basic/gradient-shoes.rb +0 -7
  209. data/examples/legacy/not_checked/shoes-contrib/basic/list_box-shape-report.rb +0 -19
  210. data/examples/legacy/not_checked/shoes-contrib/basic/rect-arrow.rb +0 -7
  211. data/examples/legacy/not_checked/shoes-contrib/basic/scribble.rb +0 -8
  212. data/examples/legacy/not_checked/shoes-contrib/basic/search.rb +0 -32
  213. data/examples/legacy/not_checked/shoes-contrib/basic/shoes-notes.rb +0 -16
  214. data/examples/legacy/not_checked/shoes-contrib/basic/url-shoes-subclassing.rb +0 -24
  215. data/examples/legacy/not_checked/shoes-contrib/browser.rb +0 -21
  216. data/examples/legacy/not_checked/shoes-contrib/elements/background-column.rb +0 -3
  217. data/examples/legacy/not_checked/shoes-contrib/elements/background.rb +0 -4
  218. data/examples/legacy/not_checked/shoes-contrib/elements/basic-fps.rb +0 -6
  219. data/examples/legacy/not_checked/shoes-contrib/elements/border-cat.rb +0 -6
  220. data/examples/legacy/not_checked/shoes-contrib/elements/button-block.rb +0 -8
  221. data/examples/legacy/not_checked/shoes-contrib/elements/check-mate.rb +0 -15
  222. data/examples/legacy/not_checked/shoes-contrib/elements/common-styles.rb +0 -13
  223. data/examples/legacy/not_checked/shoes-contrib/elements/displace-animation.rb +0 -13
  224. data/examples/legacy/not_checked/shoes-contrib/elements/edit_box-character-count.rb +0 -7
  225. data/examples/legacy/not_checked/shoes-contrib/elements/edit_line-character-count.rb +0 -7
  226. data/examples/legacy/not_checked/shoes-contrib/elements/image-icon.rb +0 -3
  227. data/examples/legacy/not_checked/shoes-contrib/elements/list_box-select-class.rb +0 -13
  228. data/examples/legacy/not_checked/shoes-contrib/elements/list_box.rb +0 -6
  229. data/examples/legacy/not_checked/shoes-contrib/elements/move-flow-animate.rb +0 -13
  230. data/examples/legacy/not_checked/shoes-contrib/elements/phat-button.rb +0 -7
  231. data/examples/legacy/not_checked/shoes-contrib/elements/popup.rb +0 -7
  232. data/examples/legacy/not_checked/shoes-contrib/elements/progress-bar.rb +0 -10
  233. data/examples/legacy/not_checked/shoes-contrib/elements/radio-dreamcast-favs.rb +0 -17
  234. data/examples/legacy/not_checked/shoes-contrib/elements/timer.rb +0 -6
  235. data/examples/legacy/not_checked/shoes-contrib/elements/width-introspec.rb +0 -8
  236. data/examples/legacy/not_checked/shoes-contrib/events/background-hover.rb +0 -11
  237. data/examples/legacy/not_checked/shoes-contrib/events/motion-detect.rb +0 -9
  238. data/examples/legacy/not_checked/shoes-contrib/events/pressed-key.rb +0 -6
  239. data/examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb +0 -51
  240. data/examples/legacy/not_checked/shoes-contrib/expert/expert-irb.rb +0 -112
  241. data/examples/legacy/not_checked/shoes-contrib/expert/expert-othello.rb +0 -319
  242. data/examples/legacy/not_checked/shoes-contrib/good/good-arc.rb +0 -37
  243. data/examples/legacy/not_checked/shoes-contrib/good/good-clock.rb +0 -51
  244. data/examples/legacy/not_checked/shoes-contrib/good/good-follow.rb +0 -26
  245. data/examples/legacy/not_checked/shoes-contrib/good/good-reminder.rb +0 -174
  246. data/examples/legacy/not_checked/shoes-contrib/good/good-vjot.rb +0 -56
  247. data/examples/legacy/not_checked/shoes-contrib/kernel/ask.rb +0 -4
  248. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_color.rb +0 -4
  249. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_open_file.rb +0 -4
  250. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_save_file.rb +0 -7
  251. data/examples/legacy/not_checked/shoes-contrib/kernel/confirm.rb +0 -3
  252. data/examples/legacy/not_checked/shoes-contrib/kernel/debug.rb +0 -4
  253. data/examples/legacy/not_checked/shoes-contrib/kernel/exit.rb +0 -5
  254. data/examples/legacy/not_checked/shoes-contrib/kernel/font.rb +0 -5
  255. data/examples/legacy/not_checked/shoes-contrib/kernel/fonts.rb +0 -3
  256. data/examples/legacy/not_checked/shoes-contrib/manipulation/append-slot.rb +0 -9
  257. data/examples/legacy/not_checked/shoes-contrib/manipulation/clear-slot.rb +0 -6
  258. data/examples/legacy/not_checked/shoes-contrib/manipulation/prepend-slot.rb +0 -6
  259. data/examples/legacy/not_checked/shoes-contrib/manipulation/roll.rb +0 -17
  260. data/examples/legacy/not_checked/shoes-contrib/position/gutter-margin.rb +0 -5
  261. data/examples/legacy/not_checked/shoes-contrib/position/stack-width.rb +0 -3
  262. data/examples/legacy/not_checked/shoes-contrib/simple/simple-accordion.rb +0 -75
  263. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-shapes.rb +0 -17
  264. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-text.rb +0 -13
  265. data/examples/legacy/not_checked/shoes-contrib/simple/simple-arc.rb +0 -23
  266. data/examples/legacy/not_checked/shoes-contrib/simple/simple-bounce.rb +0 -24
  267. data/examples/legacy/not_checked/shoes-contrib/simple/simple-calc.rb +0 -70
  268. data/examples/legacy/not_checked/shoes-contrib/simple/simple-chipmunk.rb +0 -26
  269. data/examples/legacy/not_checked/shoes-contrib/simple/simple-control-sizes.rb +0 -24
  270. data/examples/legacy/not_checked/shoes-contrib/simple/simple-curve.rb +0 -26
  271. data/examples/legacy/not_checked/shoes-contrib/simple/simple-dialogs.rb +0 -29
  272. data/examples/legacy/not_checked/shoes-contrib/simple/simple-downloader.rb +0 -27
  273. data/examples/legacy/not_checked/shoes-contrib/simple/simple-draw.rb +0 -13
  274. data/examples/legacy/not_checked/shoes-contrib/simple/simple-editor.rb +0 -28
  275. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.rb +0 -28
  276. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.shy +0 -0
  277. data/examples/legacy/not_checked/shoes-contrib/simple/simple-mask.rb +0 -21
  278. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu.rb +0 -31
  279. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu1.rb +0 -35
  280. data/examples/legacy/not_checked/shoes-contrib/simple/simple-rubygems.rb +0 -29
  281. data/examples/legacy/not_checked/shoes-contrib/simple/simple-slide.rb +0 -45
  282. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sphere.rb +0 -28
  283. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sqlite3.rb +0 -13
  284. data/examples/legacy/not_checked/shoes-contrib/simple/simple-timer.rb +0 -13
  285. data/examples/legacy/not_checked/shoes-contrib/simple/simple-video.rb +0 -13
  286. data/examples/legacy/not_checked/shoes-contrib/styles/alignment.rb +0 -4
  287. data/examples/legacy/not_checked/shoes-contrib/styles/attachment.rb +0 -5
  288. data/examples/legacy/not_checked/shoes-contrib/styles/emphasis.rb +0 -3
  289. data/examples/legacy/not_checked/shoes-contrib/styles/gradient-angle.rb +0 -3
  290. data/examples/legacy/not_checked/shoes-contrib/styles/para-methods.rb +0 -5
  291. data/examples/legacy/not_checked/shoes-contrib/styles/para-red-underlined.rb +0 -3
  292. data/examples/legacy/not_checked/shoes-contrib/styles/para-style-method.rb +0 -4
  293. data/examples/legacy/not_checked/shoes-dep-samples/expert-game-of-life.rb +0 -243
  294. data/examples/legacy/not_checked/shoes-dep-samples/expert-othello.rb +0 -319
  295. data/examples/legacy/not_checked/shoes-dep-samples/good-clock.rb +0 -51
  296. data/examples/legacy/not_checked/shoes-dep-samples/good-follow.rb +0 -26
  297. data/examples/legacy/not_checked/shoes-dep-samples/good-reminder.rb +0 -174
  298. data/examples/legacy/not_checked/shoes-dep-samples/good-vjot.rb +0 -56
  299. data/examples/legacy/not_checked/shoes-dep-samples/simple-accordion.rb +0 -75
  300. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-shapes.rb +0 -17
  301. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-text.rb +0 -13
  302. data/examples/legacy/not_checked/shoes-dep-samples/simple-arc.rb +0 -23
  303. data/examples/legacy/not_checked/shoes-dep-samples/simple-bounce.rb +0 -24
  304. data/examples/legacy/not_checked/shoes-dep-samples/simple-calc.rb +0 -70
  305. data/examples/legacy/not_checked/shoes-dep-samples/simple-chipmunk.rb +0 -26
  306. data/examples/legacy/not_checked/shoes-dep-samples/simple-control-sizes.rb +0 -24
  307. data/examples/legacy/not_checked/shoes-dep-samples/simple-curve.rb +0 -26
  308. data/examples/legacy/not_checked/shoes-dep-samples/simple-dialogs.rb +0 -29
  309. data/examples/legacy/not_checked/shoes-dep-samples/simple-draw.rb +0 -13
  310. data/examples/legacy/not_checked/shoes-dep-samples/simple-editor.rb +0 -28
  311. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.rb +0 -28
  312. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.shy +0 -0
  313. data/examples/legacy/not_checked/shoes-dep-samples/simple-mask.rb +0 -21
  314. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu.rb +0 -31
  315. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu1.rb +0 -35
  316. data/examples/legacy/not_checked/shoes-dep-samples/simple-rubygems.rb +0 -29
  317. data/examples/legacy/not_checked/shoes-dep-samples/simple-slide.rb +0 -45
  318. data/examples/legacy/not_checked/shoes-dep-samples/simple-sphere.rb +0 -28
  319. data/examples/legacy/not_checked/shoes-dep-samples/simple-sqlite3.rb +0 -13
  320. data/examples/legacy/not_checked/shoes-dep-samples/simple-timer.rb +0 -13
  321. data/examples/legacy/not_checked/shoes-dep-samples/simple-video.rb +0 -13
  322. data/examples/legacy/not_checked/shoes3-tests/AnemicCinema1926marcelDuchampCut.mp4 +0 -0
  323. data/examples/legacy/not_checked/shoes3-tests/button/button.rb +0 -53
  324. data/examples/legacy/not_checked/shoes3-tests/cache/cache.rb +0 -41
  325. data/examples/legacy/not_checked/shoes3-tests/combo/combo.rb +0 -24
  326. data/examples/legacy/not_checked/shoes3-tests/curl/bare.rb +0 -34
  327. data/examples/legacy/not_checked/shoes3-tests/curl/downloader.rb +0 -40
  328. data/examples/legacy/not_checked/shoes3-tests/curl/m1.rb +0 -11
  329. data/examples/legacy/not_checked/shoes3-tests/curl/m2.rb +0 -12
  330. data/examples/legacy/not_checked/shoes3-tests/curl/m3.rb +0 -11
  331. data/examples/legacy/not_checked/shoes3-tests/curl/m4.rb +0 -5
  332. data/examples/legacy/not_checked/shoes3-tests/curl/typ.rb +0 -30
  333. data/examples/legacy/not_checked/shoes3-tests/cursor/c1.rb +0 -21
  334. data/examples/legacy/not_checked/shoes3-tests/decoration.rb +0 -14
  335. data/examples/legacy/not_checked/shoes3-tests/dialogs/ask.rb +0 -6
  336. data/examples/legacy/not_checked/shoes3-tests/dialogs/confirm.rb +0 -6
  337. data/examples/legacy/not_checked/shoes3-tests/editbox/editbox.rb +0 -36
  338. data/examples/legacy/not_checked/shoes3-tests/editline/editline.rb +0 -27
  339. data/examples/legacy/not_checked/shoes3-tests/events/button.rb +0 -32
  340. data/examples/legacy/not_checked/shoes3-tests/events/button.yaml +0 -40
  341. data/examples/legacy/not_checked/shoes3-tests/events/capture.rb +0 -57
  342. data/examples/legacy/not_checked/shoes3-tests/events/chipmunk.yaml +0 -47
  343. data/examples/legacy/not_checked/shoes3-tests/events/event0.rb +0 -8
  344. data/examples/legacy/not_checked/shoes3-tests/events/event1.rb +0 -51
  345. data/examples/legacy/not_checked/shoes3-tests/events/event1.yaml +0 -26
  346. data/examples/legacy/not_checked/shoes3-tests/events/event2.rb +0 -46
  347. data/examples/legacy/not_checked/shoes3-tests/events/event3.rb +0 -44
  348. data/examples/legacy/not_checked/shoes3-tests/events/event4.rb +0 -65
  349. data/examples/legacy/not_checked/shoes3-tests/events/event5.rb +0 -17
  350. data/examples/legacy/not_checked/shoes3-tests/events/event6.rb +0 -51
  351. data/examples/legacy/not_checked/shoes3-tests/events/replay.rb +0 -60
  352. data/examples/legacy/not_checked/shoes3-tests/gapp/fullscreen.rb +0 -38
  353. data/examples/legacy/not_checked/shoes3-tests/gapp/icon.rb +0 -56
  354. data/examples/legacy/not_checked/shoes3-tests/gapp/mon1.rb +0 -46
  355. data/examples/legacy/not_checked/shoes3-tests/gapp/settings1.rb +0 -22
  356. data/examples/legacy/not_checked/shoes3-tests/gapp/title1.rb +0 -34
  357. data/examples/legacy/not_checked/shoes3-tests/indian.m4a +0 -0
  358. data/examples/legacy/not_checked/shoes3-tests/menus/event.rb +0 -33
  359. data/examples/legacy/not_checked/shoes3-tests/menus/menu1.rb +0 -8
  360. data/examples/legacy/not_checked/shoes3-tests/menus/menu2.rb +0 -25
  361. data/examples/legacy/not_checked/shoes3-tests/menus/menu3.rb +0 -103
  362. data/examples/legacy/not_checked/shoes3-tests/menus/menu4.rb +0 -41
  363. data/examples/legacy/not_checked/shoes3-tests/menus/tests.txt +0 -42
  364. data/examples/legacy/not_checked/shoes3-tests/opacity.rb +0 -13
  365. data/examples/legacy/not_checked/shoes3-tests/plot/^IRX.R +0 -5219
  366. data/examples/legacy/not_checked/shoes3-tests/plot/^SPX +0 -5219
  367. data/examples/legacy/not_checked/shoes3-tests/plot/cstest.rb +0 -51
  368. data/examples/legacy/not_checked/shoes3-tests/plot/gr1.rb +0 -73
  369. data/examples/legacy/not_checked/shoes3-tests/plot/gr2.rb +0 -40
  370. data/examples/legacy/not_checked/shoes3-tests/plot/gr3.rb +0 -47
  371. data/examples/legacy/not_checked/shoes3-tests/plot/gr4.rb +0 -35
  372. data/examples/legacy/not_checked/shoes3-tests/plot/gr5.rb +0 -31
  373. data/examples/legacy/not_checked/shoes3-tests/plot/gr6.rb +0 -35
  374. data/examples/legacy/not_checked/shoes3-tests/plot/gr7.rb +0 -37
  375. data/examples/legacy/not_checked/shoes3-tests/plot/grcsv.rb +0 -219
  376. data/examples/legacy/not_checked/shoes3-tests/plot/manual.rb +0 -40
  377. data/examples/legacy/not_checked/shoes3-tests/progress/progress.rb +0 -29
  378. data/examples/legacy/not_checked/shoes3-tests/radio/clear.rb +0 -20
  379. data/examples/legacy/not_checked/shoes3-tests/radio/group.rb +0 -18
  380. data/examples/legacy/not_checked/shoes3-tests/radio/multiple.rb +0 -32
  381. data/examples/legacy/not_checked/shoes3-tests/radio/nogroup.rb +0 -9
  382. data/examples/legacy/not_checked/shoes3-tests/simpletest.svg +0 -14
  383. data/examples/legacy/not_checked/shoes3-tests/spinner.rb +0 -15
  384. data/examples/legacy/not_checked/shoes3-tests/svg.rb +0 -208
  385. data/examples/legacy/not_checked/shoes3-tests/switch/switch.rb +0 -28
  386. data/examples/legacy/not_checked/shoes3-tests/systray/back.rb +0 -20
  387. data/examples/legacy/not_checked/shoes3-tests/systray/note.rb +0 -17
  388. data/examples/legacy/not_checked/shoes3-tests/terminal/cursor.rb +0 -27
  389. data/examples/legacy/not_checked/shoes3-tests/terminal/ed.rb +0 -65
  390. data/examples/legacy/not_checked/shoes3-tests/terminal/el.rb +0 -50
  391. data/examples/legacy/not_checked/shoes3-tests/terminal/logattr.rb +0 -31
  392. data/examples/legacy/not_checked/shoes3-tests/tests_color.rb +0 -138
  393. data/examples/legacy/not_checked/shoes3-tests/tests_svg.rb +0 -228
  394. data/examples/legacy/not_checked/shoes3-tests/tests_video_vlc.rb +0 -186
  395. data/examples/legacy/not_checked/shoes3-tests/tooltips.rb +0 -20
  396. data/examples/legacy/not_checked/shoes3-tests/video_vlc.rb +0 -242
  397. data/examples/legacy/not_checked/shoes3-tests/wheel/wheel1.rb +0 -21
  398. data/examples/legacy/not_checked/simple/accordion.rb +0 -81
  399. data/examples/legacy/not_checked/simple/anim-shapes.rb +0 -17
  400. data/examples/legacy/not_checked/simple/anim-text.rb +0 -13
  401. data/examples/legacy/not_checked/simple/arc.rb +0 -23
  402. data/examples/legacy/not_checked/simple/bounce.rb +0 -24
  403. data/examples/legacy/not_checked/simple/chipmunk.rb +0 -26
  404. data/examples/legacy/not_checked/simple/control-sizes.rb +0 -24
  405. data/examples/legacy/not_checked/simple/curve-control-points.rb +0 -24
  406. data/examples/legacy/not_checked/simple/curve.rb +0 -26
  407. data/examples/legacy/not_checked/simple/dialogs.rb +0 -29
  408. data/examples/legacy/not_checked/simple/downloader.rb +0 -40
  409. data/examples/legacy/not_checked/simple/downloader1.rb +0 -31
  410. data/examples/legacy/not_checked/simple/draw.rb +0 -13
  411. data/examples/legacy/not_checked/simple/editor.rb +0 -28
  412. data/examples/legacy/not_checked/simple/form.rb +0 -30
  413. data/examples/legacy/not_checked/simple/image.rb +0 -21
  414. data/examples/legacy/not_checked/simple/info.rb +0 -78
  415. data/examples/legacy/not_checked/simple/mask.rb +0 -21
  416. data/examples/legacy/not_checked/simple/mask2.rb +0 -27
  417. data/examples/legacy/not_checked/simple/menu.rb +0 -31
  418. data/examples/legacy/not_checked/simple/menu1.rb +0 -35
  419. data/examples/legacy/not_checked/simple/slide.rb +0 -45
  420. data/examples/legacy/not_checked/simple/sphere.rb +0 -28
  421. data/examples/legacy/not_checked/superleg.rb +0 -244
  422. data/examples/legacy/working/shoes-contrib/basic/a-poem.rb +0 -24
  423. data/examples/legacy/working/shoes-contrib/basic/basic-blocks-instances.rb +0 -7
  424. data/examples/legacy/working/shoes-contrib/basic/basic-blocks.rb +0 -7
  425. data/examples/legacy/working/shoes-contrib/basic/basic-slot.rb +0 -8
  426. data/examples/legacy/working/shoes-contrib/basic/intro.rb +0 -20
  427. data/examples/legacy/working/shoes-contrib/basic/two-column.rb +0 -12
  428. data/examples/legacy/working/shoes-contrib/elements/edit_box.rb +0 -6
  429. data/examples/legacy/working/shoes-contrib/kernel/alert.rb +0 -3
  430. data/examples/legacy/working/simple/calc.rb +0 -71
  431. data/examples/legacy/working/simple/sqlite3.rb +0 -27
  432. data/examples/legacy/working/simple/timer.rb +0 -13
  433. data/examples/line.rb +0 -5
  434. data/examples/link.rb +0 -20
  435. data/examples/list_box.rb +0 -8
  436. data/examples/local_fonts.rb +0 -4
  437. data/examples/local_images.rb +0 -4
  438. data/examples/motion_events.rb +0 -20
  439. data/examples/para/collection_of_arguments.rb +0 -9
  440. data/examples/para/hello_world.rb +0 -5
  441. data/examples/para/hide_and_show.rb +0 -9
  442. data/examples/para/rainbow.rb +0 -11
  443. data/examples/para/rainbow_2.rb +0 -11
  444. data/examples/para/sizes.rb +0 -11
  445. data/examples/para/sizes_2.rb +0 -12
  446. data/examples/para/strong.rb +0 -3
  447. data/examples/para_text_widgets.rb +0 -4
  448. data/examples/parse_xl_funnies.rb +0 -58
  449. data/examples/pirate.png +0 -0
  450. data/examples/raw_flow.rb +0 -11
  451. data/examples/ruby_racer.rb +0 -50
  452. data/examples/selfitude.rb +0 -18
  453. data/examples/shapes/arc.rb +0 -8
  454. data/examples/shapes/shapes.rb +0 -8
  455. data/examples/shapes/shapes_fill.rb +0 -10
  456. data/examples/shapes/star.rb +0 -5
  457. data/examples/shoes_school.rb +0 -66
  458. data/examples/shoes_splorer.rb +0 -150
  459. data/examples/simple_slides.rb +0 -73
  460. data/examples/skip_ci/parrot.rb +0 -22
  461. data/examples/skip_ci/say.rb +0 -20
  462. data/examples/sleepless.rb +0 -26
  463. data/examples/slots.rb +0 -10
  464. data/examples/spacing.rb +0 -18
  465. data/examples/span.rb +0 -6
  466. data/examples/stack/background.rb +0 -35
  467. data/examples/stack/border.rb +0 -11
  468. data/examples/stack/gradients.rb +0 -6
  469. data/examples/stack/raw_stack.rb +0 -8
  470. data/examples/stack/stack.rb +0 -27
  471. data/examples/text_change.rb +0 -4
  472. data/examples/text_sizes.rb +0 -10
  473. data/examples/timmy.rb +0 -109
  474. data/examples/title_and_resize.rb +0 -3
  475. data/examples/video.rb +0 -10
  476. data/exe/scarpe +0 -107
  477. data/fonts/Pacifico.ttf +0 -0
  478. data/lib/scarpe/base64.rb +0 -27
  479. data/lib/scarpe/cats_cradle.rb +0 -255
  480. data/lib/scarpe/fill.rb +0 -23
  481. data/lib/scarpe/glibui/README.md +0 -34
  482. data/lib/scarpe/glibui/alert.rb +0 -65
  483. data/lib/scarpe/glibui/app.rb +0 -27
  484. data/lib/scarpe/glibui/background.rb +0 -18
  485. data/lib/scarpe/glibui/border.rb +0 -22
  486. data/lib/scarpe/glibui/button.rb +0 -38
  487. data/lib/scarpe/glibui/dimensions.rb +0 -22
  488. data/lib/scarpe/glibui/document_root.rb +0 -33
  489. data/lib/scarpe/glibui/edit_box.rb +0 -44
  490. data/lib/scarpe/glibui/edit_line.rb +0 -43
  491. data/lib/scarpe/glibui/flow.rb +0 -33
  492. data/lib/scarpe/glibui/html.rb +0 -77
  493. data/lib/scarpe/glibui/image.rb +0 -36
  494. data/lib/scarpe/glibui/link.rb +0 -29
  495. data/lib/scarpe/glibui/local_display.rb +0 -62
  496. data/lib/scarpe/glibui/para.rb +0 -84
  497. data/lib/scarpe/glibui/spacing.rb +0 -41
  498. data/lib/scarpe/glibui/stack.rb +0 -33
  499. data/lib/scarpe/glibui/text_widget.rb +0 -30
  500. data/lib/scarpe/glibui/widget.rb +0 -81
  501. data/lib/scarpe/glibui.rb +0 -29
  502. data/lib/scarpe/libui/alert.rb +0 -9
  503. data/lib/scarpe/libui/button.rb +0 -18
  504. data/lib/scarpe/libui/colors.rb +0 -157
  505. data/lib/scarpe/libui/core.rb +0 -66
  506. data/lib/scarpe/libui/flow.rb +0 -16
  507. data/lib/scarpe/libui/libui.rb +0 -45
  508. data/lib/scarpe/libui/notepad.md +0 -26
  509. data/lib/scarpe/libui/para.rb +0 -154
  510. data/lib/scarpe/libui/stack.rb +0 -34
  511. data/lib/scarpe/line.rb +0 -25
  512. data/lib/scarpe/logger.rb +0 -159
  513. data/lib/scarpe/promises.rb +0 -405
  514. data/lib/scarpe/shape.rb +0 -20
  515. data/lib/scarpe/slot.rb +0 -7
  516. data/lib/scarpe/unit_test_helpers.rb +0 -236
  517. data/lib/scarpe/version.rb +0 -5
  518. data/lib/scarpe/widgets.rb +0 -35
  519. data/lib/scarpe/wv/alert.rb +0 -65
  520. data/lib/scarpe/wv/app.rb +0 -104
  521. data/lib/scarpe/wv/arc.rb +0 -57
  522. data/lib/scarpe/wv/background.rb +0 -27
  523. data/lib/scarpe/wv/border.rb +0 -24
  524. data/lib/scarpe/wv/button.rb +0 -50
  525. data/lib/scarpe/wv/control_interface.rb +0 -147
  526. data/lib/scarpe/wv/control_interface_test.rb +0 -234
  527. data/lib/scarpe/wv/dimensions.rb +0 -22
  528. data/lib/scarpe/wv/document_root.rb +0 -8
  529. data/lib/scarpe/wv/edit_box.rb +0 -44
  530. data/lib/scarpe/wv/edit_line.rb +0 -43
  531. data/lib/scarpe/wv/fill.rb +0 -30
  532. data/lib/scarpe/wv/flow.rb +0 -24
  533. data/lib/scarpe/wv/font.rb +0 -36
  534. data/lib/scarpe/wv/html.rb +0 -108
  535. data/lib/scarpe/wv/image.rb +0 -41
  536. data/lib/scarpe/wv/line.rb +0 -38
  537. data/lib/scarpe/wv/link.rb +0 -29
  538. data/lib/scarpe/wv/list_box.rb +0 -50
  539. data/lib/scarpe/wv/para.rb +0 -90
  540. data/lib/scarpe/wv/shape.rb +0 -35
  541. data/lib/scarpe/wv/shape_helper.rb +0 -44
  542. data/lib/scarpe/wv/slot.rb +0 -81
  543. data/lib/scarpe/wv/spacing.rb +0 -41
  544. data/lib/scarpe/wv/span.rb +0 -66
  545. data/lib/scarpe/wv/stack.rb +0 -24
  546. data/lib/scarpe/wv/star.rb +0 -64
  547. data/lib/scarpe/wv/subscription_item.rb +0 -50
  548. data/lib/scarpe/wv/text_widget.rb +0 -30
  549. data/lib/scarpe/wv/video.rb +0 -42
  550. data/lib/scarpe/wv/web_wrangler.rb +0 -683
  551. data/lib/scarpe/wv/webview_local_display.rb +0 -73
  552. data/lib/scarpe/wv/webview_relay_display.rb +0 -185
  553. data/lib/scarpe/wv/widget.rb +0 -185
  554. data/lib/scarpe/wv/wv_display_worker.rb +0 -65
  555. data/lib/scarpe/wv.rb +0 -43
  556. data/lib/scarpe/wv_local.rb +0 -6
  557. data/lib/scarpe/wv_relay.rb +0 -6
  558. data/lib/scarpe.rb +0 -29
  559. data/logger/debug_web_wrangler.json +0 -4
  560. data/logger/scarpe_wv_test.json +0 -4
  561. data/scarpe-0.2.0.gem +0 -0
  562. data/scarpe.gemspec +0 -44
  563. data/scarpegen.rb +0 -193
  564. data/sig/scarpe.rbs +0 -4
  565. data/templates/basic_class_template.erb +0 -38
  566. data/templates/class_template_with_event_bind.erb +0 -27
  567. data/templates/class_template_with_shapes.erb +0 -43
  568. data/templates/example_template.erb +0 -3
  569. data/templates/module_template.erb +0 -12
  570. data/templates/webview_template.erb +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef2126246f0ffc9b764bb40b2a3e4b020702b25a8198a6ba62dfbda69fe5db32
4
- data.tar.gz: 61272a70f2591a4ed0b24aeedc8c3c2cfdfdc132fbcf0aea8c6816674c792d57
3
+ metadata.gz: aab735aab6fb64d87496b2ebefac1235a3858b1e14f176a2b165bf0c82c10260
4
+ data.tar.gz: 961b0b461164093bf51bf2ab7f79ae95e626a561548c7421bdcc75efe199e4e1
5
5
  SHA512:
6
- metadata.gz: 97fa624c1e77eb7a54087d76dafc3c0ee2938bfdc99a60c56594061572860777c439b776f47de4a64f237ceaec215fe9561dc984e2b6aca3f3b8bec670dc4959
7
- data.tar.gz: 485654866460c26497c49613d24a8fd6cc68ce8580f49246766b524c6c81cab77aa9b6a5a92733333d3ba39b70d7a7433337e2d1145a94f7f54f36eeb6219a38
6
+ metadata.gz: 3e3bffa1f9f822b082ed7268458f0a93c49614a3b6169f4648fe57c126d77a4131d5113a15ca2a7421fe3271746ba36eb10faed83a326c4eb9514ec0447eaecf
7
+ data.tar.gz: 7f2c9d2e4672faea8f3f5613a9b4bdc4c78b65e9443a669c166a76d95cee2c305095eda4688418bc4b8a3d804e9ea2662fa09f0a906b61435a9aa3d019367cce
data/Gemfile CHANGED
@@ -2,10 +2,8 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- # Specify your gem's dependencies in scarpe.gemspec
6
5
  gemspec
7
6
 
8
- gem "bloops", "~> 0.5" #path: "../bloopsaphone" #git: "https://github.com/scarpe-team/bloopsaphone"
9
7
  gem "rake", "~> 13.0"
10
8
 
11
9
  group :test do
data/Gemfile.lock ADDED
@@ -0,0 +1,72 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ lacci (0.2.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ansi (1.5.0)
10
+ ast (2.4.2)
11
+ builder (3.2.4)
12
+ debug (1.8.0)
13
+ irb (>= 1.5.0)
14
+ reline (>= 0.3.1)
15
+ io-console (0.6.0)
16
+ irb (1.7.2)
17
+ reline (>= 0.3.6)
18
+ json (2.6.3)
19
+ language_server-protocol (3.17.0.3)
20
+ minitest (5.18.1)
21
+ minitest-reporters (1.6.0)
22
+ ansi
23
+ builder
24
+ minitest (>= 5.0)
25
+ ruby-progressbar
26
+ parallel (1.23.0)
27
+ parser (3.2.2.3)
28
+ ast (~> 2.4.1)
29
+ racc
30
+ racc (1.7.1)
31
+ rainbow (3.1.1)
32
+ rake (13.0.6)
33
+ redcarpet (3.6.0)
34
+ regexp_parser (2.8.1)
35
+ reline (0.3.6)
36
+ io-console (~> 0.5)
37
+ rexml (3.2.5)
38
+ rubocop (1.54.1)
39
+ json (~> 2.3)
40
+ language_server-protocol (>= 3.17.0)
41
+ parallel (~> 1.10)
42
+ parser (>= 3.2.2.3)
43
+ rainbow (>= 2.2.2, < 4.0)
44
+ regexp_parser (>= 1.8, < 3.0)
45
+ rexml (>= 3.2.5, < 4.0)
46
+ rubocop-ast (>= 1.28.0, < 2.0)
47
+ ruby-progressbar (~> 1.7)
48
+ unicode-display_width (>= 2.4.0, < 3.0)
49
+ rubocop-ast (1.29.0)
50
+ parser (>= 3.2.1.0)
51
+ rubocop-shopify (2.14.0)
52
+ rubocop (~> 1.51)
53
+ ruby-progressbar (1.13.0)
54
+ unicode-display_width (2.4.2)
55
+ yard (0.9.34)
56
+
57
+ PLATFORMS
58
+ x86_64-darwin-22
59
+
60
+ DEPENDENCIES
61
+ debug
62
+ lacci!
63
+ minitest (~> 5.0)
64
+ minitest-reporters
65
+ rake (~> 13.0)
66
+ redcarpet
67
+ rubocop (~> 1.21)
68
+ rubocop-shopify
69
+ yard
70
+
71
+ BUNDLED WITH
72
+ 2.4.10
data/Rakefile CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "bundler/gem_tasks"
4
4
  require "rake/testtask"
5
- require "rubocop/rake_task"
6
5
 
7
6
  Rake::TestTask.new(:test) do |t|
8
7
  t.libs << "test"
@@ -10,6 +9,4 @@ Rake::TestTask.new(:test) do |t|
10
9
  t.test_files = FileList["test/**/test_*.rb"]
11
10
  end
12
11
 
13
- RuboCop::RakeTask.new
14
-
15
- task default: [:test, :rubocop]
12
+ task default: [:test]
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Scarpe
4
+ module CLI
5
+ DEFAULT_USAGE = <<~'USAGE'
6
+ Usage: scarpe_core [OPTIONS] <scarpe app file> # Same as "scarpe run"
7
+ scarpe_core [OPTIONS] run <scarpe app file>
8
+ scarpe_core [OPTIONS] env # print Scarpe environment settings
9
+ scarpe_core -v # print the Scarpe gem version and exit
10
+ Options:
11
+ --dev Use development local scarpe, not an installed gem
12
+ --debug Turn on application debug mode
13
+ USAGE
14
+
15
+ def version_check
16
+ if RUBY_VERSION[0..2] < "3.2"
17
+ raise "Scarpe and Lacci require Ruby 3.2 or higher!"
18
+ end
19
+ end
20
+
21
+ def env_or_default(env_var, default_val)
22
+ [env_var, ENV[env_var] ? ENV[env_var].inspect : default_val]
23
+ end
24
+
25
+ def default_env_categories
26
+ {
27
+ "Lacci" => [
28
+ env_or_default("SCARPE_DISPLAY_SERVICE", "(none)"),
29
+ env_or_default("SCARPE_LOG_CONFIG", "(default)#{Shoes::Log::DEFAULT_LOG_CONFIG.inspect}"),
30
+ env_or_default("SCARPE_APP_TEST", "(none)"),
31
+ ],
32
+ "Ruby and Shell" => [
33
+ ["RUBY_DESCRIPTION", RUBY_DESCRIPTION],
34
+ ["RUBY_PLATFORM", RUBY_PLATFORM],
35
+ ["RUBY_ENGINE", RUBY_ENGINE],
36
+ env_or_default("SHELL", "(none)"),
37
+ env_or_default("PATH", "(none)"),
38
+ env_or_default("LD_LIBRARY_PATH", "(none)"),
39
+ env_or_default("DYLD_LIBRARY_PATH", "(none)"),
40
+ env_or_default("GEM_ROOT", "(none)"),
41
+ env_or_default("GEM_HOME", "(none)"),
42
+ env_or_default("GEM_PATH", "(none)"),
43
+ ],
44
+ }
45
+ end
46
+
47
+ def env_categories
48
+ @env_categories ||= default_env_categories
49
+ @env_categories
50
+ end
51
+
52
+ def add_env_categories(categories)
53
+ unless categories.is_a?(Hash)
54
+ raise("Please supply a hash with categories names as keys and an array of two-elt arrays as values!")
55
+ end
56
+
57
+ # Try to get categories into the *start* of the hash, insertion-order-wise
58
+ @env_categories = categories.merge(env_categories)
59
+ end
60
+
61
+ def print_env
62
+ env_categories.each do |category, entries|
63
+ puts "#{category} environment:"
64
+ entries.each do |name, val|
65
+ puts " #{name}: #{val}"
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Lacci is one place we put components that have no hard gem requirements.
4
+ # It needs to connect to Scarpe, mostly via the Shoes DisplayService.
5
+ # Some display services, like Wasm, cannot install or otherwise tolerate
6
+ # Scarpe's need for a variety of gems, especially those with native extensions.
7
+ # So we need a simple require-able Scarpe core here in Lacci that can be
8
+ # required from display services that cannot link with the base Scarpe gem.
9
+
10
+ if RUBY_VERSION[0..2] < "3.2"
11
+ Shoes::Log.logger("Scarpe").error("Scarpe requires Ruby 3.2 or higher!")
12
+ exit(-1)
13
+ end
14
+
15
+ class Scarpe; end
16
+
17
+ # The base error class for Scarpe errors, but not necessarily {Shoes::Error}s
18
+ class Scarpe::Error < StandardError; end
19
+
20
+ require "lacci/version"
21
+ require "scarpe/components/version"
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The name "scarpe" means "shoes" in Italian. "Lacci"
4
+ # means "laces." Lacci is the display-independent part
5
+ # of Scarpe, tying the Shoes API to the display service
6
+ # of your choice.
7
+ #
8
+ # Almost nothing is called Lacci in your program. It's
9
+ # mostly invisible. Instead, look at the {Shoes} module
10
+ # to see what's in Lacci.
11
+ module Lacci
12
+ VERSION = "0.2.2"
13
+ end
data/lib/shoes/app.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Shoes
4
4
  class App < Shoes::Widget
5
- include Scarpe::Log
5
+ include Shoes::Log
6
6
 
7
7
  class << self
8
8
  attr_accessor :instance
@@ -10,16 +10,19 @@ module Shoes
10
10
 
11
11
  attr_reader :document_root
12
12
 
13
- display_properties :title, :width, :height, :resizable, :debug
13
+ display_properties :title, :width, :height, :resizable
14
+
15
+ CUSTOM_EVENT_LOOP_TYPES = ["displaylib", "return", "wait"]
14
16
 
15
17
  def initialize(
16
- title: "Scarpe!",
18
+ title: "Shoes!",
17
19
  width: 480,
18
20
  height: 420,
19
21
  resizable: true,
20
- debug: ENV["SCARPE_DEBUG"] ? true : false,
21
22
  &app_code_body
22
23
  )
24
+ log_init("Shoes::App")
25
+
23
26
  if Shoes::App.instance
24
27
  @log.error("Trying to create a second Shoes::App in the same process! Fail!")
25
28
  raise "Cannot create multiple Shoes::App objects!"
@@ -27,14 +30,21 @@ module Shoes
27
30
  Shoes::App.instance = self
28
31
  end
29
32
 
30
- log_init("Shoes::App")
31
-
32
33
  @do_shutdown = false
34
+ @event_loop_type = "displaylib" # the default
33
35
 
34
36
  super
35
37
 
38
+ # The draw context tracks current settings like fill and stroke,
39
+ # plus potentially other current state that changes from widget
40
+ # to widget and slot to slot.
41
+ @draw_context = {
42
+ "fill" => "",
43
+ "stroke" => "",
44
+ }
45
+
36
46
  # This creates the DocumentRoot, including its corresponding display widget
37
- @document_root = Scarpe::DocumentRoot.new
47
+ @document_root = Shoes::DocumentRoot.new
38
48
 
39
49
  @slots = []
40
50
 
@@ -59,9 +69,15 @@ module Shoes
59
69
  self.destroy(send_event: false)
60
70
  end
61
71
 
72
+ @watch_for_event_loop = bind_shoes_event(event_name: "custom_event_loop") do |loop_type|
73
+ raise("Unknown event loop type: #{loop_type.inspect}!") unless CUSTOM_EVENT_LOOP_TYPES.include?(loop_type)
74
+
75
+ @event_loop_type = loop_type
76
+ end
77
+
62
78
  Signal.trap("INT") do
63
- @log.warning("App interrupted by signal, stopping...")
64
- puts "\nStopping Scarpe app..."
79
+ @log.warn("App interrupted by signal, stopping...")
80
+ puts "\nStopping Shoes app..."
65
81
  destroy
66
82
  end
67
83
  end
@@ -74,7 +90,7 @@ module Shoes
74
90
  end
75
91
 
76
92
  # "Container" widgets like flows, stacks, masks and the document root
77
- # are considered "slots" in Scarpe parlance. When a new slot is created,
93
+ # are considered "slots" in Shoes parlance. When a new slot is created,
78
94
  # we push it here in order to track what widgets are found in that slot.
79
95
  def push_slot(slot)
80
96
  @slots.push(slot)
@@ -99,14 +115,37 @@ module Shoes
99
115
  pop_slot
100
116
  end
101
117
 
102
- # This isn't supposed to return. The display service should take control
118
+ def current_draw_context
119
+ @draw_context.dup
120
+ end
121
+
122
+ # This usually doesn't return. The display service may take control
103
123
  # of the main thread. Local Webview even stops any background threads.
124
+ # However, some display libraries don't want to shut down and don't
125
+ # want to (and/or can't) take control of the event loop.
104
126
  def run
105
127
  if @do_shutdown
106
128
  $stderr.puts "Destroy has already been signaled, but we just called Shoes::App.run!"
107
129
  return
108
130
  end
131
+
132
+ # The display lib can send us an event to customise the event loop handling.
133
+ # But it must do so before the "run" event returns.
109
134
  send_shoes_event(event_name: "run")
135
+
136
+ case @event_loop_type
137
+ when "wait"
138
+ # Display lib wants us to busy-wait instead of it.
139
+ sleep 0.1 until @do_shutdown
140
+ when "displaylib"
141
+ # If run event returned, that means we're done.
142
+ destroy
143
+ when "return"
144
+ # We can just return to the main event loop. But we shouldn't call destroy.
145
+ # Presumably some event loop *outside* our event loop is handling things.
146
+ else
147
+ raise "Internal error! Incorrect event loop type: #{@event_loop_type.inspect}!"
148
+ end
110
149
  end
111
150
 
112
151
  def destroy(send_event: true)
@@ -120,7 +159,7 @@ module Shoes
120
159
  to_add = @document_root.children
121
160
  until to_add.empty?
122
161
  out.concat(to_add)
123
- to_add = to_add.flat_map(&:children).compact
162
+ to_add = to_add.flat_map { |w| w.respond_to?(:children) ? w.children : [] }.compact
124
163
  end
125
164
 
126
165
  out
@@ -133,7 +172,7 @@ module Shoes
133
172
  specs.each do |spec|
134
173
  if spec.is_a?(Class)
135
174
  widgets.select! { |w| spec === w }
136
- elsif spec.is_a?(Symbol)
175
+ elsif spec.is_a?(Symbol) || spec.is_a?(String)
137
176
  s = spec.to_s
138
177
  case s[0]
139
178
  when "$"
@@ -145,7 +184,7 @@ module Shoes
145
184
  raise "Error getting global variable: #{spec.inspect}"
146
185
  end
147
186
  when "@"
148
- if app.instance_variables.include?(spec)
187
+ if Shoes::App.instance.instance_variables.include?(spec.to_sym)
149
188
  widgets &= [self.instance_variable_get(spec)]
150
189
  else
151
190
  raise "Can't find top-level instance variable: #{spec.inspect}!"
@@ -183,5 +222,43 @@ class Shoes::App
183
222
  subscription_item(shoes_api_name: "click", &block)
184
223
  end
185
224
 
225
+ # Draw context methods
226
+
227
+ def fill(color)
228
+ @draw_context["fill"] = color
229
+ end
230
+
231
+ def nofill
232
+ @draw_context["fill"] = ""
233
+ end
234
+
235
+ def stroke(color)
236
+ @draw_context["stroke"] = color
237
+ end
238
+
239
+ def nostroke
240
+ @draw_context["stroke"] = ""
241
+ end
242
+
243
+ # Shape DSL methods
244
+
245
+ def move_to(x, y)
246
+ raise("Pass only Numeric arguments to move_to!") unless x.is_a?(Numeric) && y.is_a?(Numeric)
247
+
248
+ if current_slot.is_a?(::Shoes::Shape)
249
+ current_slot.add_shape_command(["move_to", x, y])
250
+ end
251
+ end
252
+
253
+ def line_to(x, y)
254
+ raise("Pass only Numeric arguments to line_to!") unless x.is_a?(Numeric) && y.is_a?(Numeric)
255
+
256
+ if current_slot.is_a?(::Shoes::Shape)
257
+ current_slot.add_shape_command(["line_to", x, y])
258
+ end
259
+ end
260
+
261
+ # Not implemented yet: curve_to, arc_to
262
+
186
263
  alias_method :info, :puts
187
264
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Scarpe
3
+ module Shoes
4
4
  module Background
5
5
  def self.included(includer)
6
6
  includer.display_property(:background_color)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Scarpe
3
+ module Shoes
4
4
  module Border
5
5
  def self.included(includer)
6
6
  includer.display_properties :border_color, :options
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Scarpe
3
+ module Shoes
4
4
  module Colors
5
5
  COLORS = {
6
6
  aliceblue: [240, 248, 255],
@@ -1,10 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "tmpdir"
4
-
5
3
  module Shoes
6
4
  module Constants
7
5
  def self.find_lib_dir
6
+ begin
7
+ require "tmpdir"
8
+ rescue LoadError
9
+ return nil
10
+ end
8
11
  homes = [
9
12
  [ENV["LOCALAPPDATA"], "Shoes"],
10
13
  [ENV["APPDATA"], "Shoes"],
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Scarpe Shoes apps operate in multiple layers. A Shoes widget tree exists as fairly
3
+ # Lacci Shoes apps operate in multiple layers. A Shoes widget tree exists as fairly
4
4
  # plain, simple Ruby objects. And then a display-service widget tree integrates with
5
- # the display technology, initially Webview. This lets us use Ruby as our API while
6
- # not tying it too closely to the limitations of Webview.
5
+ # the display technology. This lets us use Ruby as our API while
6
+ # not tying it too closely to the limitations of Webview, WASM, LibUI, etc.
7
7
  #
8
8
  # ## Choosing Display Services
9
9
  #
10
- # Before running a Scarpe app, you can set SCARPE_DISPLAY_SERVICE. If you
10
+ # Before running a Lacci app, you can set SCARPE_DISPLAY_SERVICE. If you
11
11
  # set it to "whatever_service", Scarpe will require "scarpe/whatever_service",
12
12
  # which can be supplied by the Scarpe gem or another Scarpe-based gem.
13
13
  # Currently leaving the environment variable empty is equivalent to requesting
@@ -17,7 +17,7 @@
17
17
  #
18
18
  # Events are a lot of what tie the Shoes widgets and the display service together.
19
19
  #
20
- # Scarpe widgets *expect* to operate in a fairly "hands off" mode where they record
20
+ # Shoes widgets *expect* to operate in a fairly "hands off" mode where they record
21
21
  # to an event queue to send to the display service, and the display service records
22
22
  # events to send back.
23
23
  #
@@ -30,9 +30,7 @@ module Shoes
30
30
  class DisplayService
31
31
  class << self
32
32
  # This is in the eigenclass/metaclass, *not* instances of DisplayService
33
- include Scarpe::Log
34
-
35
- attr_accessor :json_debug_serialize
33
+ include Shoes::Log
36
34
 
37
35
  # An event_target may be nil, to indicate there is no target.
38
36
  def dispatch_event(event_name, event_target, *args, **kwargs)
@@ -46,7 +44,8 @@ module Shoes
46
44
 
47
45
  @log.debug("Dispatch event: #{event_name.inspect} T: #{event_target.inspect} A: #{args.inspect} KW: #{kwargs.inspect}")
48
46
 
49
- if DisplayService.json_debug_serialize
47
+ # When true, this makes sure all events and properties are 100% strings, no symbols.
48
+ if ENV["SCARPE_DEBUG"]
50
49
  args = JSON.parse JSON.dump(args)
51
50
  new_kw = {}
52
51
  kwargs.each do |k, v|
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "net/http"
4
- require "openssl"
5
- require "nokogiri"
6
-
7
3
  module Shoes
8
4
  class Widget
9
5
  class ResponseWrapper
@@ -23,10 +19,14 @@ module Shoes
23
19
  end
24
20
 
25
21
  def download(url, method: "GET", save: nil, styles: {}, &block)
22
+ require "net/http"
23
+ require "openssl"
24
+ require "nokogiri"
25
+
26
26
  @block = block
27
27
 
28
28
  Thread.new do
29
- logger = Scarpe::Logger.logger("Shoes::App#download")
29
+ logger = Shoes::Log.logger("Shoes::App#download")
30
30
  begin
31
31
  uri = URI(url)
32
32
  response = perform_request(uri, method, styles)
data/lib/shoes/log.rb ADDED
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Old-style Shoes logging is really simple. We need more logging for our
4
+ # framework, so we add a not-included-in-old-Shoes module for it. This adds
5
+ # the *possibility* of logging, but Scarpe includes a much more
6
+ # comprehensive solution that plugs into this one.
7
+
8
+ # If used alone, this will fail because the @instance is nil. It needs
9
+ # an implementation to be plugged in.
10
+
11
+ module Shoes
12
+ LOG_LEVELS = [:debug, :info, :warn, :error, :fatal].freeze
13
+
14
+ # Include this module to get a @log instance variable to log as your
15
+ # configured component.
16
+ module Log
17
+ # These constants will wind up included in a lot of places. Should they move?
18
+ DEFAULT_COMPONENT = "default"
19
+ DEFAULT_LOG_CONFIG = {
20
+ "default" => "info",
21
+ }
22
+ DEFAULT_DEBUG_LOG_CONFIG = {
23
+ "default" => "debug",
24
+ }
25
+
26
+ class << self
27
+ attr_reader :instance
28
+ attr_reader :current_log_config
29
+
30
+ def instance=(impl_object)
31
+ raise(Shoes::Error, "Already have an instance for Shoes::Log!") if @instance
32
+
33
+ @instance = impl_object
34
+ end
35
+
36
+ def logger(component = self)
37
+ @instance.logger_for_component(component)
38
+ end
39
+
40
+ def configure_logger(log_config)
41
+ @instance.configure_logger(log_config)
42
+ end
43
+ end
44
+
45
+ def log_init(component = self)
46
+ @log = Shoes::Log.instance.logger_for_component(component)
47
+ end
48
+ end
49
+
50
+ class LoggedWrapper
51
+ include ::Shoes::Log
52
+ def initialize(instance, component = instance)
53
+ log_init(component)
54
+
55
+ @instance = instance
56
+ end
57
+
58
+ def method_missing(method, ...)
59
+ self.singleton_class.define_method(method) do |*args, **kwargs, &block|
60
+ ret = @instance.send(method, *args, **kwargs, &block)
61
+ @log.info("Method: #{method} Args: #{args.inspect} KWargs: #{kwargs.inspect} Block: #{block ? "y" : "n"} Return: #{ret.inspect}")
62
+ ret
63
+ end
64
+ send(method, ...)
65
+ end
66
+
67
+ def respond_to_missing?(method_name, include_private = false)
68
+ @instance.respond_to_missing?(method_name, include_private)
69
+ end
70
+ end
71
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Scarpe
3
+ module Shoes
4
4
  module Spacing
5
5
  def self.included(includer)
6
6
  includer.display_properties :margin, :padding, :margin_top, :margin_left, :margin_right, :margin_bottom, :options