democracy 0.0.56

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.

Potentially problematic release.


This version of democracy might be problematic. Click here for more details.

Files changed (647) hide show
  1. checksums.yaml +7 -0
  2. data/LIBERTY +310 -0
  3. data/README +310 -0
  4. data/README2 +14 -0
  5. data/READ_THIS_TO_CHANGE_THINGS +310 -0
  6. data/Resume.pdf +0 -0
  7. data/Ruby Installer.exe +0 -0
  8. data/VERSION_NUMBER +1 -0
  9. data/WE_NEEDNT_BE_ENSLAVED +310 -0
  10. data/_.html +460 -0
  11. data/__index.html +11 -0
  12. data/a.html +21 -0
  13. data/ac +73 -0
  14. data/all_code.cpp +280 -0
  15. data/all_code.js +30 -0
  16. data/app_topics +93 -0
  17. data/background.jpg +0 -0
  18. data/better_string +26 -0
  19. data/bin/abs +0 -0
  20. data/bin/ac +34 -0
  21. data/bin/add +0 -0
  22. data/bin/append +14 -0
  23. data/bin/args +0 -0
  24. data/bin/autorequire +85 -0
  25. data/bin/big_num +155 -0
  26. data/bin/black +0 -0
  27. data/bin/blue +0 -0
  28. data/bin/bold +0 -0
  29. data/bin/c_repl +76 -0
  30. data/bin/close +3 -0
  31. data/bin/copy +0 -0
  32. data/bin/count +0 -0
  33. data/bin/cpy +0 -0
  34. data/bin/cyan +0 -0
  35. data/bin/democracyinstall.exe +0 -0
  36. data/bin/div +0 -0
  37. data/bin/down_all_links +50 -0
  38. data/bin/dump +0 -0
  39. data/bin/email +127 -0
  40. data/bin/emerald-browser +0 -0
  41. data/bin/emoji +176 -0
  42. data/bin/executable +1 -0
  43. data/bin/exp +0 -0
  44. data/bin/files +0 -0
  45. data/bin/floor +0 -0
  46. data/bin/foreach +49 -0
  47. data/bin/g+ +557 -0
  48. data/bin/get_all_links +11 -0
  49. data/bin/github +55 -0
  50. data/bin/green +0 -0
  51. data/bin/gsearch +159 -0
  52. data/bin/gsub +0 -0
  53. data/bin/gsub_in_place +0 -0
  54. data/bin/last_nth +0 -0
  55. data/bin/lines +0 -0
  56. data/bin/magenta +0 -0
  57. data/bin/mkfile +47 -0
  58. data/bin/mul +0 -0
  59. data/bin/nth +0 -0
  60. data/bin/open +0 -0
  61. data/bin/play +0 -0
  62. data/bin/prepend +14 -0
  63. data/bin/processes +3 -0
  64. data/bin/qt_download +21 -0
  65. data/bin/record +121 -0
  66. data/bin/red +0 -0
  67. data/bin/replace_in_place +0 -0
  68. data/bin/replace_not_in_place +0 -0
  69. data/bin/selectlines +0 -0
  70. data/bin/sort_in_place +0 -0
  71. data/bin/splitfiles +16 -0
  72. data/bin/squeeze +17 -0
  73. data/bin/string +161 -0
  74. data/bin/strip_extensions +13 -0
  75. data/bin/sub +0 -0
  76. data/bin/t +63 -0
  77. data/bin/tracefile +555 -0
  78. data/bin/underline +0 -0
  79. data/bin/undump +0 -0
  80. data/bin/viu +0 -0
  81. data/bin/white +0 -0
  82. data/bin/yellow +0 -0
  83. data/bin/youtube_video +45 -0
  84. data/bin/youtube_video2 +45 -0
  85. data/code.js +28490 -0
  86. data/crystal-gobject/.git/HEAD +1 -0
  87. data/crystal-gobject/.git/config +11 -0
  88. data/crystal-gobject/.git/description +1 -0
  89. data/crystal-gobject/.git/hooks/applypatch-msg.sample +15 -0
  90. data/crystal-gobject/.git/hooks/commit-msg.sample +24 -0
  91. data/crystal-gobject/.git/hooks/fsmonitor-watchman.sample +109 -0
  92. data/crystal-gobject/.git/hooks/post-update.sample +8 -0
  93. data/crystal-gobject/.git/hooks/pre-applypatch.sample +14 -0
  94. data/crystal-gobject/.git/hooks/pre-commit.sample +49 -0
  95. data/crystal-gobject/.git/hooks/pre-merge-commit.sample +13 -0
  96. data/crystal-gobject/.git/hooks/pre-push.sample +53 -0
  97. data/crystal-gobject/.git/hooks/pre-rebase.sample +169 -0
  98. data/crystal-gobject/.git/hooks/pre-receive.sample +24 -0
  99. data/crystal-gobject/.git/hooks/prepare-commit-msg.sample +42 -0
  100. data/crystal-gobject/.git/hooks/update.sample +128 -0
  101. data/crystal-gobject/.git/index +0 -0
  102. data/crystal-gobject/.git/info/exclude +6 -0
  103. data/crystal-gobject/.git/logs/HEAD +1 -0
  104. data/crystal-gobject/.git/logs/refs/heads/main +1 -0
  105. data/crystal-gobject/.git/logs/refs/remotes/origin/HEAD +1 -0
  106. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.idx +0 -0
  107. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.pack +0 -0
  108. data/crystal-gobject/.git/packed-refs +15 -0
  109. data/crystal-gobject/.git/refs/heads/main +1 -0
  110. data/crystal-gobject/.git/refs/remotes/origin/HEAD +1 -0
  111. data/crystal-gobject/.github/workflows/ci.yml +22 -0
  112. data/crystal-gobject/.gitignore +14 -0
  113. data/crystal-gobject/LICENSE +27 -0
  114. data/crystal-gobject/README.md +143 -0
  115. data/crystal-gobject/samples/base_class_container.cr +15 -0
  116. data/crystal-gobject/samples/connect_after.cr +35 -0
  117. data/crystal-gobject/samples/crout/crout.cr +59 -0
  118. data/crystal-gobject/samples/e +0 -0
  119. data/crystal-gobject/samples/gdk_window.cr +36 -0
  120. data/crystal-gobject/samples/glist.cr +16 -0
  121. data/crystal-gobject/samples/greeter.cr +34 -0
  122. data/crystal-gobject/samples/greeter.glade +91 -0
  123. data/crystal-gobject/samples/gtk_accel_group.cr +13 -0
  124. data/crystal-gobject/samples/gtk_application.cr +12 -0
  125. data/crystal-gobject/samples/gtk_boxes.cr +44 -0
  126. data/crystal-gobject/samples/gtk_css_styling/css_window.cr +37 -0
  127. data/crystal-gobject/samples/gtk_css_styling/css_window.css +3 -0
  128. data/crystal-gobject/samples/gtk_css_styling/css_window.glade +104 -0
  129. data/crystal-gobject/samples/gtk_editable.cr +14 -0
  130. data/crystal-gobject/samples/gtk_entry.cr +10 -0
  131. data/crystal-gobject/samples/gtk_hello_world.cr +13 -0
  132. data/crystal-gobject/samples/gtk_menu_and_actions.cr +69 -0
  133. data/crystal-gobject/samples/gtk_message_dialog.cr +9 -0
  134. data/crystal-gobject/samples/gtk_subclasses.cr +30 -0
  135. data/crystal-gobject/samples/gtk_tree_view.cr +30 -0
  136. data/crystal-gobject/samples/gtk_tree_view.glade +44 -0
  137. data/crystal-gobject/samples/hello +0 -0
  138. data/crystal-gobject/samples/libgdk-3.a +0 -0
  139. data/crystal-gobject/samples/libgdk_pixbuf-2.0.a +0 -0
  140. data/crystal-gobject/samples/libgtk-3.a +0 -0
  141. data/crystal-gobject/samples/timeout.cr +34 -0
  142. data/crystal-gobject/script/ci.sh +17 -0
  143. data/crystal-gobject/script/release.sh +31 -0
  144. data/crystal-gobject/script/run_with_timeout.cr +14 -0
  145. data/crystal-gobject/script/test +7 -0
  146. data/crystal-gobject/shard.yml +16 -0
  147. data/crystal-gobject/spec/basic_spec.cr +46 -0
  148. data/crystal-gobject/spec/libsample/Makefile +28 -0
  149. data/crystal-gobject/spec/libsample/test-subject.c +107 -0
  150. data/crystal-gobject/spec/libsample/test-subject.h +65 -0
  151. data/crystal-gobject/spec/spec_helper.cr +5 -0
  152. data/crystal-gobject/src/atk/atk.cr +2 -0
  153. data/crystal-gobject/src/closure_data_manager.cr +62 -0
  154. data/crystal-gobject/src/crout.cr +601 -0
  155. data/crystal-gobject/src/g_i_repository/dumper.cr +116 -0
  156. data/crystal-gobject/src/g_i_repository/g_i_repository.cr +46 -0
  157. data/crystal-gobject/src/g_i_repository/info/arg_info.cr +157 -0
  158. data/crystal-gobject/src/g_i_repository/info/base_info.cr +169 -0
  159. data/crystal-gobject/src/g_i_repository/info/callable_info.cr +266 -0
  160. data/crystal-gobject/src/g_i_repository/info/callback_info.cr +54 -0
  161. data/crystal-gobject/src/g_i_repository/info/constant_info.cr +115 -0
  162. data/crystal-gobject/src/g_i_repository/info/enum_info.cr +88 -0
  163. data/crystal-gobject/src/g_i_repository/info/field_info.cr +97 -0
  164. data/crystal-gobject/src/g_i_repository/info/function_info.cr +237 -0
  165. data/crystal-gobject/src/g_i_repository/info/interface_info.cr +97 -0
  166. data/crystal-gobject/src/g_i_repository/info/object_info.cr +170 -0
  167. data/crystal-gobject/src/g_i_repository/info/property_info.cr +93 -0
  168. data/crystal-gobject/src/g_i_repository/info/registered_type_info.cr +62 -0
  169. data/crystal-gobject/src/g_i_repository/info/signal_info.cr +119 -0
  170. data/crystal-gobject/src/g_i_repository/info/struct_info.cr +139 -0
  171. data/crystal-gobject/src/g_i_repository/info/type_info.cr +326 -0
  172. data/crystal-gobject/src/g_i_repository/info/union_info.cr +136 -0
  173. data/crystal-gobject/src/g_i_repository/info/v_func_info.cr +33 -0
  174. data/crystal-gobject/src/g_i_repository/info/value_info.cr +62 -0
  175. data/crystal-gobject/src/g_i_repository/repository.cr +68 -0
  176. data/crystal-gobject/src/g_i_repository/wrapper_generator.cr +103 -0
  177. data/crystal-gobject/src/g_lib/error.cr +34 -0
  178. data/crystal-gobject/src/g_lib/g_lib.cr +81 -0
  179. data/crystal-gobject/src/g_lib/list_iterator.cr +81 -0
  180. data/crystal-gobject/src/g_lib/s_list_iterator.cr +54 -0
  181. data/crystal-gobject/src/g_object/closure.cr +40 -0
  182. data/crystal-gobject/src/g_object/g_object.cr +7 -0
  183. data/crystal-gobject/src/g_object/module_functions.cr +38 -0
  184. data/crystal-gobject/src/g_object/object.cr +104 -0
  185. data/crystal-gobject/src/g_object/type.cr +68 -0
  186. data/crystal-gobject/src/g_object/value.cr +308 -0
  187. data/crystal-gobject/src/gdk/event.cr +34 -0
  188. data/crystal-gobject/src/gdk/gdk.cr +35 -0
  189. data/crystal-gobject/src/generated/g_i_repository/argument.cr +130 -0
  190. data/crystal-gobject/src/generated/g_i_repository/array_type.cr +34 -0
  191. data/crystal-gobject/src/generated/g_i_repository/attribute_iter.cr +65 -0
  192. data/crystal-gobject/src/generated/g_i_repository/base_info.cr +134 -0
  193. data/crystal-gobject/src/generated/g_i_repository/direction.cr +33 -0
  194. data/crystal-gobject/src/generated/g_i_repository/field_info_flags.cr +34 -0
  195. data/crystal-gobject/src/generated/g_i_repository/function_info_flags.cr +38 -0
  196. data/crystal-gobject/src/generated/g_i_repository/g_i_repository.cr +7 -0
  197. data/crystal-gobject/src/generated/g_i_repository/info_type.cr +50 -0
  198. data/crystal-gobject/src/generated/g_i_repository/module_functions.cr +816 -0
  199. data/crystal-gobject/src/generated/g_i_repository/repository.cr +214 -0
  200. data/crystal-gobject/src/generated/g_i_repository/repository_class.cr +55 -0
  201. data/crystal-gobject/src/generated/g_i_repository/repository_error.cr +34 -0
  202. data/crystal-gobject/src/generated/g_i_repository/repository_load_flags.cr +33 -0
  203. data/crystal-gobject/src/generated/g_i_repository/repository_private.cr +46 -0
  204. data/crystal-gobject/src/generated/g_i_repository/scope_type.cr +34 -0
  205. data/crystal-gobject/src/generated/g_i_repository/transfer.cr +33 -0
  206. data/crystal-gobject/src/generated/g_i_repository/type_tag.cr +52 -0
  207. data/crystal-gobject/src/generated/g_i_repository/typelib.cr +61 -0
  208. data/crystal-gobject/src/generated/g_i_repository/unresolved_info.cr +45 -0
  209. data/crystal-gobject/src/generated/g_i_repository/v_func_info_flags.cr +36 -0
  210. data/crystal-gobject/src/generated/g_object/param_flags.cr +44 -0
  211. data/crystal-gobject/src/generated/g_object/signal_flags.cr +42 -0
  212. data/crystal-gobject/src/generated/lib_g_i_repository.cr +302 -0
  213. data/crystal-gobject/src/generated/lib_g_lib.cr +2261 -0
  214. data/crystal-gobject/src/generated/lib_g_object.cr +874 -0
  215. data/crystal-gobject/src/generator/build_namespace.cr +22 -0
  216. data/crystal-gobject/src/generator/doc.cr +259 -0
  217. data/crystal-gobject/src/generator/dump.cr +55 -0
  218. data/crystal-gobject/src/generator/generator.cr +22 -0
  219. data/crystal-gobject/src/generator/namespace.cr +192 -0
  220. data/crystal-gobject/src/generator/stage2.cr +113 -0
  221. data/crystal-gobject/src/generator/stage3.cr +3 -0
  222. data/crystal-gobject/src/gio/gio.cr +4 -0
  223. data/crystal-gobject/src/gobject.cr +54 -0
  224. data/crystal-gobject/src/gtk/autorun.cr +16 -0
  225. data/crystal-gobject/src/gtk/gtk.cr +61 -0
  226. data/crystal-gobject/src/notify/notification.cr +158 -0
  227. data/crystal-gobject/src/notify/notify.cr +4 -0
  228. data/crystal-gobject/src/pointer_iterator.cr +49 -0
  229. data/crystal-gobject/src/wrapped_type.cr +53 -0
  230. data/democracy.gemspec +14 -0
  231. data/dictate +183 -0
  232. data/emerald-browser/.qmake.stash +23 -0
  233. data/emerald-browser/Makefile +469 -0
  234. data/emerald-browser/OUT +90 -0
  235. data/emerald-browser/a.out +0 -0
  236. data/emerald-browser/empty +0 -0
  237. data/emerald-browser/empty.c +1 -0
  238. data/emerald-browser/open +0 -0
  239. data/emerald-browser/open.c +57 -0
  240. data/emerald-browser/qmake.pro +23 -0
  241. data/emerald-browser/src/OUT +438 -0
  242. data/emerald-browser/src/a.cpp +303 -0
  243. data/emerald-browser/src/a.out +0 -0
  244. data/emerald-browser/src/ss.h +12 -0
  245. data/emerald-browser/src/t/fullscreennotification.cpp +98 -0
  246. data/emerald-browser/src/t/fullscreennotification.h +72 -0
  247. data/emerald-browser/src/t/fullscreenwindow.cpp +99 -0
  248. data/emerald-browser/src/t/fullscreenwindow.h +76 -0
  249. data/emerald-browser/src/t/main.cpp +64 -0
  250. data/emerald-browser/src/t/mainwindow.cpp +83 -0
  251. data/emerald-browser/src/t/mainwindow.h +75 -0
  252. data/emerald-browser/test/a.cpp +2 -0
  253. data/f +0 -0
  254. data/faster_googler +31 -0
  255. data/favicon.ico +0 -0
  256. data/foo +80 -0
  257. data/foo.c +39 -0
  258. data/foo.cpp +36 -0
  259. data/foo.js +25 -0
  260. data/free_icons/site/bulb +0 -0
  261. data/free_icons/site/chess +0 -0
  262. data/free_icons/site/compiz.svg +463 -0
  263. data/free_icons/site/cursor.svg +1 -0
  264. data/free_icons/site/dock +0 -0
  265. data/free_icons/site/gnu +0 -0
  266. data/free_icons/site/info.svg +200 -0
  267. data/free_icons/site/iphone.svg +222 -0
  268. data/free_icons/site/laptop +0 -0
  269. data/free_icons/site/magic.svg +856 -0
  270. data/free_icons/site/man +0 -0
  271. data/free_icons/site/mint +0 -0
  272. data/free_icons/site/mouse +0 -0
  273. data/free_icons/site/paint.svg +2640 -0
  274. data/free_icons/site/present +0 -0
  275. data/free_icons/site/python +0 -0
  276. data/free_icons/site/reality +0 -0
  277. data/free_icons/site/ruby +0 -0
  278. data/free_icons/site/skeptic +0 -0
  279. data/free_icons/site/terminal +0 -0
  280. data/free_icons/site/video.svg +358 -0
  281. data/free_icons/site/warning +0 -0
  282. data/free_icons/site/wikipedia.svg +553 -0
  283. data/free_icons/site/write.svg +287 -0
  284. data/g +0 -0
  285. data/graphical_help.c +6 -0
  286. data/gregory_coreutils/DOC +14 -0
  287. data/gregory_coreutils/build/Makefile +12 -0
  288. data/gregory_coreutils/build/code +1 -0
  289. data/gregory_coreutils/build/functions +465 -0
  290. data/gregory_coreutils/build/make +93 -0
  291. data/gregory_coreutils/build/mk +74 -0
  292. data/gregory_coreutils/build/regex +2 -0
  293. data/gregory_coreutils/build/ruby_functions +0 -0
  294. data/gregory_coreutils/utilities/abs +0 -0
  295. data/gregory_coreutils/utilities/add +0 -0
  296. data/gregory_coreutils/utilities/args +0 -0
  297. data/gregory_coreutils/utilities/black +0 -0
  298. data/gregory_coreutils/utilities/blue +0 -0
  299. data/gregory_coreutils/utilities/bold +0 -0
  300. data/gregory_coreutils/utilities/copy +0 -0
  301. data/gregory_coreutils/utilities/count +0 -0
  302. data/gregory_coreutils/utilities/cpy +0 -0
  303. data/gregory_coreutils/utilities/cyan +0 -0
  304. data/gregory_coreutils/utilities/div +0 -0
  305. data/gregory_coreutils/utilities/dump +0 -0
  306. data/gregory_coreutils/utilities/exp +0 -0
  307. data/gregory_coreutils/utilities/files +0 -0
  308. data/gregory_coreutils/utilities/floor +0 -0
  309. data/gregory_coreutils/utilities/green +0 -0
  310. data/gregory_coreutils/utilities/gsub +0 -0
  311. data/gregory_coreutils/utilities/gsub_in_place +0 -0
  312. data/gregory_coreutils/utilities/last_nth +0 -0
  313. data/gregory_coreutils/utilities/lines +0 -0
  314. data/gregory_coreutils/utilities/magenta +0 -0
  315. data/gregory_coreutils/utilities/mul +0 -0
  316. data/gregory_coreutils/utilities/nth +0 -0
  317. data/gregory_coreutils/utilities/red +0 -0
  318. data/gregory_coreutils/utilities/replace_in_place +0 -0
  319. data/gregory_coreutils/utilities/replace_not_in_place +0 -0
  320. data/gregory_coreutils/utilities/selectlines +0 -0
  321. data/gregory_coreutils/utilities/sort_in_place +0 -0
  322. data/gregory_coreutils/utilities/sub +0 -0
  323. data/gregory_coreutils/utilities/underline +0 -0
  324. data/gregory_coreutils/utilities/undump +0 -0
  325. data/gregory_coreutils/utilities/white +0 -0
  326. data/gregory_coreutils/utilities/yellow +0 -0
  327. data/gtk +3 -0
  328. data/html_file +0 -0
  329. data/html_file.html +92 -0
  330. data/i +181 -0
  331. data/index.html +38 -0
  332. data/index2.html +344 -0
  333. data/inspect.rb +209 -0
  334. data/lib/README +310 -0
  335. data/lib/__index.html +11 -0
  336. data/lib/because.rb +41 -0
  337. data/lib/code.js +28490 -0
  338. data/lib/compile +5 -0
  339. data/lib/conjunction.rb +49 -0
  340. data/lib/evidence.rb +45 -0
  341. data/lib/graphical_help +90 -0
  342. data/lib/however.rb +42 -0
  343. data/lib/index.html +49 -0
  344. data/lib/index2.html +344 -0
  345. data/lib/inputreceiver.rb +135 -0
  346. data/lib/item.rb +77 -0
  347. data/lib/itemlist.rb +50 -0
  348. data/lib/negative.rb +43 -0
  349. data/lib/neutral.rb +43 -0
  350. data/lib/outputter.rb +60 -0
  351. data/lib/p.rb +71 -0
  352. data/lib/positive.rb +41 -0
  353. data/lib/script.js +423 -0
  354. data/lib/string__.rb +110 -0
  355. data/lib/sub/file +5 -0
  356. data/man/foo.rb +6 -0
  357. data/man/gtk.html +1 -0
  358. data/man/out +7288 -0
  359. data/more/ac.desktop +12 -0
  360. data/more/res +1 -0
  361. data/more/web-speech-api/.git/HEAD +1 -0
  362. data/more/web-speech-api/.git/config +11 -0
  363. data/more/web-speech-api/.git/description +1 -0
  364. data/more/web-speech-api/.git/hooks/applypatch-msg.sample +15 -0
  365. data/more/web-speech-api/.git/hooks/commit-msg.sample +24 -0
  366. data/more/web-speech-api/.git/hooks/fsmonitor-watchman.sample +109 -0
  367. data/more/web-speech-api/.git/hooks/post-update.sample +8 -0
  368. data/more/web-speech-api/.git/hooks/pre-applypatch.sample +14 -0
  369. data/more/web-speech-api/.git/hooks/pre-commit.sample +49 -0
  370. data/more/web-speech-api/.git/hooks/pre-merge-commit.sample +13 -0
  371. data/more/web-speech-api/.git/hooks/pre-push.sample +53 -0
  372. data/more/web-speech-api/.git/hooks/pre-rebase.sample +169 -0
  373. data/more/web-speech-api/.git/hooks/pre-receive.sample +24 -0
  374. data/more/web-speech-api/.git/hooks/prepare-commit-msg.sample +42 -0
  375. data/more/web-speech-api/.git/hooks/update.sample +128 -0
  376. data/more/web-speech-api/.git/index +0 -0
  377. data/more/web-speech-api/.git/info/exclude +6 -0
  378. data/more/web-speech-api/.git/logs/HEAD +1 -0
  379. data/more/web-speech-api/.git/logs/refs/heads/master +1 -0
  380. data/more/web-speech-api/.git/logs/refs/remotes/origin/HEAD +1 -0
  381. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.idx +0 -0
  382. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.pack +0 -0
  383. data/more/web-speech-api/.git/packed-refs +2 -0
  384. data/more/web-speech-api/.git/refs/heads/master +1 -0
  385. data/more/web-speech-api/.git/refs/remotes/origin/HEAD +1 -0
  386. data/more/web-speech-api/CODE_OF_CONDUCT.md +15 -0
  387. data/more/web-speech-api/LICENSE +116 -0
  388. data/more/web-speech-api/README.md +23 -0
  389. data/more/web-speech-api/index.html +25 -0
  390. data/more/web-speech-api/phrase-matcher/index.html +30 -0
  391. data/more/web-speech-api/phrase-matcher/script.js +124 -0
  392. data/more/web-speech-api/phrase-matcher/style.css +54 -0
  393. data/more/web-speech-api/speak-easy-synthesis/img/ws128.png +0 -0
  394. data/more/web-speech-api/speak-easy-synthesis/img/ws512.png +0 -0
  395. data/more/web-speech-api/speak-easy-synthesis/index.html +43 -0
  396. data/more/web-speech-api/speak-easy-synthesis/manifest.webapp +14 -0
  397. data/more/web-speech-api/speak-easy-synthesis/script.js +87 -0
  398. data/more/web-speech-api/speak-easy-synthesis/style.css +74 -0
  399. data/more/web-speech-api/speech-color-changer/img/ws128.png +0 -0
  400. data/more/web-speech-api/speech-color-changer/img/ws512.png +0 -0
  401. data/more/web-speech-api/speech-color-changer/index.html +26 -0
  402. data/more/web-speech-api/speech-color-changer/manifest.webapp +23 -0
  403. data/more/web-speech-api/speech-color-changer/script.js +58 -0
  404. data/more/web-speech-api/speech-color-changer/style.css +38 -0
  405. data/opensrc +68 -0
  406. data/out +39 -0
  407. data/playsrc +14 -0
  408. data/program.c +11 -0
  409. data/program.prog +568 -0
  410. data/proj/a +0 -0
  411. data/proj/a.c +1 -0
  412. data/proj/a.o +0 -0
  413. data/proj/a.rs +18 -0
  414. data/proj/b.rs +22 -0
  415. data/proj/linker.sh +8 -0
  416. data/proj/save_last +4 -0
  417. data/push +16 -0
  418. data/q.cpp +175 -0
  419. data/qt/.qmake.stash +23 -0
  420. data/qt/Qt5Core.dll +0 -0
  421. data/qt/Qt5Gui.dll +0 -0
  422. data/qt/Qt5Multimedia.dll +0 -0
  423. data/qt/Qt5MultimediaWidgets.dll +0 -0
  424. data/qt/Qt5Network.dll +0 -0
  425. data/qt/Qt5PrintSupport.dll +0 -0
  426. data/qt/Qt5Qml.dll +0 -0
  427. data/qt/Qt5QmlModels.dll +0 -0
  428. data/qt/Qt5Quick.dll +0 -0
  429. data/qt/Qt5Sensors.dll +0 -0
  430. data/qt/Qt5WebChannel.dll +0 -0
  431. data/qt/Qt5WebKit.dll +0 -0
  432. data/qt/Qt5WebKitWidgets.dll +0 -0
  433. data/qt/Qt5Widgets.dll +0 -0
  434. data/qt/a.cpp +39 -0
  435. data/qt/a.out +0 -0
  436. data/qt/a.sh +7 -0
  437. data/qt/icudt66.dll +0 -0
  438. data/qt/icuin66.dll +0 -0
  439. data/qt/icuuc66.dll +0 -0
  440. data/qt/libbz2.dll +0 -0
  441. data/qt/libcrypto-1_1-x64.dll +0 -0
  442. data/qt/libfreetype-6.dll +0 -0
  443. data/qt/libgcc_s_seh-1.dll +0 -0
  444. data/qt/libglib-2.0-0.dll +0 -0
  445. data/qt/libharfbuzz-0.dll +0 -0
  446. data/qt/libiconv-2.dll +0 -0
  447. data/qt/libintl-8.dll +0 -0
  448. data/qt/libjpeg-9.dll +0 -0
  449. data/qt/liblzma-5.dll +0 -0
  450. data/qt/libpcre-1.dll +0 -0
  451. data/qt/libpcre2-16-0.dll +0 -0
  452. data/qt/libpng16-16.dll +0 -0
  453. data/qt/libsqlite3-0.dll +0 -0
  454. data/qt/libssl-1_1-x64.dll +0 -0
  455. data/qt/libstdc++-6.dll +0 -0
  456. data/qt/libwebp-7.dll +0 -0
  457. data/qt/libwinpthread-1.dll +0 -0
  458. data/qt/libxml2-2.dll +0 -0
  459. data/qt/libxslt-1.dll +0 -0
  460. data/qt/libzstd.dll +0 -0
  461. data/qt/prog +1 -0
  462. data/qt/qwindows.dll +0 -0
  463. data/qt/zlib1.dll +0 -0
  464. data/quickjs/.git/HEAD +1 -0
  465. data/quickjs/.git/config +11 -0
  466. data/quickjs/.git/description +1 -0
  467. data/quickjs/.git/hooks/applypatch-msg.sample +15 -0
  468. data/quickjs/.git/hooks/commit-msg.sample +24 -0
  469. data/quickjs/.git/hooks/fsmonitor-watchman.sample +109 -0
  470. data/quickjs/.git/hooks/post-update.sample +8 -0
  471. data/quickjs/.git/hooks/pre-applypatch.sample +14 -0
  472. data/quickjs/.git/hooks/pre-commit.sample +49 -0
  473. data/quickjs/.git/hooks/pre-merge-commit.sample +13 -0
  474. data/quickjs/.git/hooks/pre-push.sample +53 -0
  475. data/quickjs/.git/hooks/pre-rebase.sample +169 -0
  476. data/quickjs/.git/hooks/pre-receive.sample +24 -0
  477. data/quickjs/.git/hooks/prepare-commit-msg.sample +42 -0
  478. data/quickjs/.git/hooks/update.sample +128 -0
  479. data/quickjs/.git/index +0 -0
  480. data/quickjs/.git/info/exclude +6 -0
  481. data/quickjs/.git/logs/HEAD +1 -0
  482. data/quickjs/.git/logs/refs/heads/master +1 -0
  483. data/quickjs/.git/logs/refs/remotes/origin/HEAD +1 -0
  484. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.idx +0 -0
  485. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.pack +0 -0
  486. data/quickjs/.git/packed-refs +2 -0
  487. data/quickjs/.git/refs/heads/master +1 -0
  488. data/quickjs/.git/refs/remotes/origin/HEAD +1 -0
  489. data/quickjs/.obj/.d +1 -0
  490. data/quickjs/.obj/cutils.nolto.o +0 -0
  491. data/quickjs/.obj/cutils.o +0 -0
  492. data/quickjs/.obj/cutils.o.d +1 -0
  493. data/quickjs/.obj/hello.o +0 -0
  494. data/quickjs/.obj/hello.o.d +1 -0
  495. data/quickjs/.obj/libbf.nolto.o +0 -0
  496. data/quickjs/.obj/libbf.o +0 -0
  497. data/quickjs/.obj/libbf.o.d +1 -0
  498. data/quickjs/.obj/libregexp.nolto.o +0 -0
  499. data/quickjs/.obj/libregexp.o +0 -0
  500. data/quickjs/.obj/libregexp.o.d +2 -0
  501. data/quickjs/.obj/libunicode.nolto.o +0 -0
  502. data/quickjs/.obj/libunicode.o +0 -0
  503. data/quickjs/.obj/libunicode.o.d +1 -0
  504. data/quickjs/.obj/qjs.check.o +0 -0
  505. data/quickjs/.obj/qjs.check.o.d +1 -0
  506. data/quickjs/.obj/qjs.o +0 -0
  507. data/quickjs/.obj/qjs.o.d +1 -0
  508. data/quickjs/.obj/qjsc.o +0 -0
  509. data/quickjs/.obj/qjsc.o.d +1 -0
  510. data/quickjs/.obj/qjscalc.o +0 -0
  511. data/quickjs/.obj/qjscalc.o.d +1 -0
  512. data/quickjs/.obj/quickjs-libc.nolto.o +0 -0
  513. data/quickjs/.obj/quickjs-libc.o +0 -0
  514. data/quickjs/.obj/quickjs-libc.o.d +2 -0
  515. data/quickjs/.obj/quickjs.check.o +0 -0
  516. data/quickjs/.obj/quickjs.check.o.d +2 -0
  517. data/quickjs/.obj/quickjs.nolto.o +0 -0
  518. data/quickjs/.obj/quickjs.o +0 -0
  519. data/quickjs/.obj/quickjs.o.d +2 -0
  520. data/quickjs/.obj/repl.o +0 -0
  521. data/quickjs/.obj/repl.o.d +1 -0
  522. data/quickjs/.obj/run-test262.o +0 -0
  523. data/quickjs/.obj/run-test262.o.d +2 -0
  524. data/quickjs/COMPILE_WIN +1 -0
  525. data/quickjs/Changelog +148 -0
  526. data/quickjs/LICENSE +22 -0
  527. data/quickjs/Makefile +470 -0
  528. data/quickjs/TODO +70 -0
  529. data/quickjs/VERSION +1 -0
  530. data/quickjs/a.c +50038 -0
  531. data/quickjs/a.js +26075 -0
  532. data/quickjs/a.rb +3 -0
  533. data/quickjs/cutils.c +631 -0
  534. data/quickjs/cutils.h +297 -0
  535. data/quickjs/doc/jsbignum.texi +589 -0
  536. data/quickjs/doc/quickjs.texi +1097 -0
  537. data/quickjs/examples/fib.c +72 -0
  538. data/quickjs/examples/fib_module.js +10 -0
  539. data/quickjs/examples/hello +0 -0
  540. data/quickjs/examples/hello.js +1 -0
  541. data/quickjs/examples/hello_module.js +6 -0
  542. data/quickjs/examples/pi_bigdecimal.js +68 -0
  543. data/quickjs/examples/pi_bigfloat.js +66 -0
  544. data/quickjs/examples/pi_bigint.js +118 -0
  545. data/quickjs/examples/point.c +151 -0
  546. data/quickjs/examples/test_fib.js +6 -0
  547. data/quickjs/examples/test_point.js +40 -0
  548. data/quickjs/hello.c +44 -0
  549. data/quickjs/libbf.c +8466 -0
  550. data/quickjs/libbf.h +535 -0
  551. data/quickjs/libquickjs.a +0 -0
  552. data/quickjs/libquickjs.lto.a +0 -0
  553. data/quickjs/libregexp-opcode.h +58 -0
  554. data/quickjs/libregexp.c +2610 -0
  555. data/quickjs/libregexp.h +92 -0
  556. data/quickjs/libunicode-table.h +4368 -0
  557. data/quickjs/libunicode.c +1556 -0
  558. data/quickjs/libunicode.h +124 -0
  559. data/quickjs/libwinpthread-1.dll +0 -0
  560. data/quickjs/list.h +100 -0
  561. data/quickjs/out.c +24 -0
  562. data/quickjs/out55.c +59 -0
  563. data/quickjs/out56.c +79 -0
  564. data/quickjs/out57.c +24 -0
  565. data/quickjs/out58.c +4 -0
  566. data/quickjs/p.exe +0 -0
  567. data/quickjs/qjs +0 -0
  568. data/quickjs/qjs.c +570 -0
  569. data/quickjs/qjsc +0 -0
  570. data/quickjs/qjsc.c +762 -0
  571. data/quickjs/qjsc.exe +0 -0
  572. data/quickjs/qjscalc.c +4005 -0
  573. data/quickjs/qjscalc.js +2657 -0
  574. data/quickjs/quickjs-atom.h +273 -0
  575. data/quickjs/quickjs-libc.c +3927 -0
  576. data/quickjs/quickjs-libc.h +59 -0
  577. data/quickjs/quickjs-opcode.h +365 -0
  578. data/quickjs/quickjs.c +54036 -0
  579. data/quickjs/quickjs.h +1049 -0
  580. data/quickjs/readme.txt +1 -0
  581. data/quickjs/release.sh +158 -0
  582. data/quickjs/repl.c +2020 -0
  583. data/quickjs/repl.js +1566 -0
  584. data/quickjs/run-test262 +0 -0
  585. data/quickjs/run-test262.c +2107 -0
  586. data/quickjs/test262.conf +199 -0
  587. data/quickjs/test262_errors.txt +35 -0
  588. data/quickjs/test262o.conf +410 -0
  589. data/quickjs/test262o_errors.txt +0 -0
  590. data/quickjs/tests/bjson.c +96 -0
  591. data/quickjs/tests/microbench.js +1065 -0
  592. data/quickjs/tests/test262.patch +71 -0
  593. data/quickjs/tests/test_bignum.js +326 -0
  594. data/quickjs/tests/test_bjson.js +191 -0
  595. data/quickjs/tests/test_builtin.js +685 -0
  596. data/quickjs/tests/test_closure.js +221 -0
  597. data/quickjs/tests/test_language.js +547 -0
  598. data/quickjs/tests/test_loop.js +368 -0
  599. data/quickjs/tests/test_op_overloading.js +207 -0
  600. data/quickjs/tests/test_qjscalc.js +256 -0
  601. data/quickjs/tests/test_std.js +281 -0
  602. data/quickjs/tests/test_worker.js +62 -0
  603. data/quickjs/tests/test_worker_module.js +31 -0
  604. data/quickjs/unicode_download.sh +19 -0
  605. data/quickjs/unicode_gen.c +3057 -0
  606. data/quickjs/unicode_gen_def.h +284 -0
  607. data/readline +3 -0
  608. data/rm_com +1 -0
  609. data/run.sh +13 -0
  610. data/scaling +6 -0
  611. data/script.js +572 -0
  612. data/server_creator/__ +307 -0
  613. data/server_creator/a/a (1).tar.gz +0 -0
  614. data/server_creator/a/a.out +0 -0
  615. data/server_creator/a/hello_world +0 -0
  616. data/server_creator/a/help +57 -0
  617. data/server_creator/a/main_v1.cpp +83 -0
  618. data/server_creator/a/my_libs_gregory/.deps +0 -0
  619. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.lai +41 -0
  620. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.o +0 -0
  621. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.so +0 -0
  622. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.c +72 -0
  623. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.la +41 -0
  624. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.lo +12 -0
  625. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.slo +0 -0
  626. data/server_creator/a/nginx.conf +32 -0
  627. data/server_creator/a/six +1 -0
  628. data/server_creator/a.out +0 -0
  629. data/server_creator/all_code.cpp +448 -0
  630. data/server_creator/all_code.js +27 -0
  631. data/server_creator/code +510 -0
  632. data/server_creator/make_application +64 -0
  633. data/server_creator/prog.cpp +33 -0
  634. data/server_creator/prog.js +22 -0
  635. data/server_creator/program.js +745 -0
  636. data/server_creator/rm_com +1 -0
  637. data/server_creator/test.sh +82 -0
  638. data/speakcat.rb +9 -0
  639. data/string +48 -0
  640. data/super_trans +83 -0
  641. data/test.sh +21 -0
  642. data/todo +8 -0
  643. data/version_decrement +3 -0
  644. data/viu_license +21 -0
  645. data/windows/program.c +21 -0
  646. data/windows/program.exe +0 -0
  647. metadata +759 -0
@@ -0,0 +1,170 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 63 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class ObjectInfo < BaseInfo
20
+ include RegisteredTypeInfo
21
+ include WrapperGenerator
22
+
23
+ each_converted object_info, constant, ConstantInfo
24
+ each_converted object_info, field, FieldInfo
25
+ each_converted object_info, method, FunctionInfo
26
+ each_converted object_info, interface, InterfaceInfo
27
+ each_converted object_info, property, PropertyInfo, properties
28
+ each_converted object_info, signal, SignalInfo
29
+ each_converted object_info, vfunc, VFuncInfo
30
+
31
+ def parent
32
+ ptr = GIRepository.object_info_get_parent self
33
+ BaseInfo.wrap(ptr).as(ObjectInfo) if ptr
34
+ end
35
+
36
+ def abstract?
37
+ GIRepository.object_info_get_abstract self
38
+ end
39
+
40
+ def all_properties
41
+ properties = self.properties # start with our own
42
+
43
+ parent = self.parent
44
+ while parent
45
+ parent.properties.each do |property|
46
+ properties << property unless properties.any?(&.name.==(property.name))
47
+ end
48
+
49
+ parent = parent.parent
50
+ end
51
+
52
+ each_interface do |interface|
53
+ interface.properties.each do |property|
54
+ properties << property unless properties.any?(&.name.==(property.name))
55
+ end
56
+
57
+ end
58
+
59
+ properties.sort_by(&.name.not_nil!)
60
+ end
61
+
62
+ def class_struct
63
+ info = GIRepository.object_info_get_class_struct(self)
64
+ BaseInfo.wrap(info).as(StructInfo) if info
65
+ end
66
+
67
+ def lib_definition(builder)
68
+ builder.end_of_line_comment "object"
69
+ builder.def_struct(name) do
70
+ each_field &.lib_definition(builder)
71
+ field_binding "_data", "UInt8[0]" if fields_size == 0
72
+
73
+ each_signal &.lib_definition(builder)
74
+ each_vfunc &.lib_definition(builder)
75
+ each_property &.lib_definition(builder)
76
+ end
77
+
78
+ type_init_lib_definition(builder)
79
+ each_method &.lib_definition(builder)
80
+ end
81
+
82
+ def wrapper_definition(builder, libname)
83
+ parent_object = parent
84
+ parent = parent_object.constant if parent_object && parent_object.namespace == namespace
85
+ parent ||= parent_object.full_constant if parent_object
86
+
87
+ builder.def_class(name, parent: parent) do
88
+ section do
89
+ add_include "GObject::WrappedType" unless parent
90
+
91
+ each_interface do |interface|
92
+ add_include(interface.full_constant) unless interface.info_type.unresolved?
93
+ end
94
+ end
95
+
96
+ write_gtype_constant builder, libname
97
+ write_constructor builder, libname
98
+ write_to_unsafe builder, libname
99
+
100
+ unless abstract?
101
+ constructor_properties = all_properties.select { |property| property.setter? }
102
+ constructor_args = constructor_properties.map { |property|
103
+ arg(property.arg_name, type: "#{property.type.wrapper_definition(libname)}?", default: literal(nil))
104
+ }
105
+
106
+ if !constructor_properties.empty?
107
+ constructor_args.unshift arg("", prefix: :splat)
108
+ def_method("initialize", constructor_args) do
109
+ names = line assign_var "[] of UInt8*"
110
+ values = line assign_var "[] of LibGObject::Value"
111
+
112
+ constructor_properties.each do |property|
113
+ line def_if(negate(call("nil?", receiver: property.arg_name))) { |b|
114
+ b.line b.call("<<", b.call("to_unsafe", receiver: b.literal(property.name)), receiver: names)
115
+ gvalue = b.call("to_gvalue", receiver: property.arg_name)
116
+ ptr = b.call("to_unsafe", receiver: gvalue)
117
+ strct = b.call("value", receiver: ptr)
118
+ b.line b.call("<<", strct, receiver: values)
119
+ }
120
+ end
121
+
122
+ names_size = call "size", receiver: names
123
+ object = call("new_with_properties", wrapper_gtype(builder, libname), names_size, names, values, receiver: "LibGObject")
124
+ ptr = call("as", "Void*", receiver: object)
125
+ line assign "@pointer", ptr
126
+ end
127
+ elsif !has_any_constructor?
128
+ def_method("initialize") do
129
+ object = call("new_with_properties", wrapper_gtype(builder, libname), literal(0), literal(nil), literal(nil), receiver: "LibGObject")
130
+ ptr = call("as", "Void*", receiver: object)
131
+ line assign "@pointer", ptr
132
+ end
133
+ end
134
+ end
135
+
136
+ write_methods builder, libname
137
+
138
+ each_property do |property|
139
+ next if has_method_getter_or_setter?(property.crystal_name)
140
+ next if property.private?
141
+ property.wrapper_definition builder, libname
142
+ end
143
+
144
+ each_signal(&.wrapper_definition(builder, libname))
145
+ end
146
+ end
147
+
148
+ Dumper.def do |dumper|
149
+ dumper.puts "* abstract = #{abstract?}"
150
+ Dumper.dump_child parent
151
+ Dumper.dump_child class_struct
152
+ Dumper.dump_childs constant
153
+ Dumper.dump_childs interface
154
+ Dumper.dump_childs field
155
+ Dumper.dump_childs property, properties
156
+ Dumper.dump_childs method
157
+ Dumper.dump_childs vfunc
158
+ Dumper.dump_childs signal
159
+ end
160
+ end
161
+ end
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 49 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ require_relative "./object"
20
+ class PropertyInfo < BaseInfo
21
+ def crystal_name
22
+ name = self.name
23
+ name.tr("-", "_") if name
24
+ end
25
+
26
+ def arg_name
27
+ name = crystal_name
28
+ name = "_#{name}" if name[0].uppercase? if name
29
+ name = "_#{name}" if ArgInfo::KEYWORDS.includes? name
30
+ name.gsub(/_+$/, "") if name
31
+ name
32
+ end
33
+
34
+ def type
35
+ BaseInfo.wrap(GIRepository.property_info_get_type(self)).as(TypeInfo)
36
+ end
37
+
38
+ def flags
39
+ GIRepository.property_info_get_flags self
40
+ end
41
+
42
+ def getter?
43
+ flags.readable?
44
+ end
45
+
46
+ def setter?
47
+ flags.writable?
48
+ end
49
+
50
+ def construct_only?
51
+ flags.construct_only?
52
+ end
53
+
54
+ def private?
55
+ flags.private?
56
+ end
57
+
58
+ def lib_definition(builder)
59
+ builder.comment "Property #{name} : #{type.lib_definition(builder)}"
60
+ end
61
+
62
+ def wrapper_definition(builder, libname)
63
+ ptr = builder.call("as", "LibGObject::Object*", receiver: "@pointer")
64
+ if getter?
65
+ builder.def_method(crystal_name, return_type: type.wrapper_definition(builder, libname)) do
66
+ gvalue = line assign_var call("new", {type: type.gvalue_type}, receiver: "GObject::Value")
67
+ line call("object_get_property", ptr, literal(name), gvalue, receiver: "LibGObject")
68
+ line type.unwrap_gvalue(gvalue)
69
+ end
70
+ end
71
+
72
+ if setter? && !construct_only?
73
+ builder.def_method("#{crystal_name}=", builder.arg("value", type: type.wrapper_definition(builder, libname))) do
74
+ line call("object_set_property", ptr, literal(name), call("to_gvalue", receiver: "value"), receiver: "LibGObject")
75
+ end
76
+ end
77
+ end
78
+
79
+ Dumper.def do
80
+ dumper.puts "* flags = #{flags}"
81
+ Dumper.dump_child type
82
+ end
83
+ end
84
+ end
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 51 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ module RegisteredTypeInfo
20
+ def type_lib_definition
21
+ "Lib#{namespace}::#{name}*"
22
+ end
23
+
24
+ def type_name
25
+ ptr = LibGIRepository.registered_type_info_get_type_name(self)
26
+ String.new ptr if ptr
27
+ end
28
+
29
+ def type_init_symbol
30
+ ptr = LibGIRepository.registered_type_info_get_type_init(self)
31
+ symbol = String.new ptr if ptr
32
+ symbol == "intern" ? nil : symbol
33
+ end
34
+
35
+ def type_init
36
+ symbol = type_init_symbol
37
+ "_#{type_init_symbol}" if type_init_symbol
38
+ end
39
+
40
+ def type_init_lib_definition(builder)
41
+ type_init = self.type_init
42
+ builder.fun_binding type_init_symbol, name: type_init, return_type: "UInt64" if type_init
43
+ end
44
+
45
+ def wrapper_gtype(builder, libname)
46
+ if type_init = self.type_init
47
+ builder.call(type_init, receiver: libname)
48
+ elsif type_name = self.type_name
49
+ builder.call("type_from_name", builder.literal(type_name), receiver: "GObject")
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 61 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ require_relative "./object"
20
+ class SignalInfo < BaseInfo
21
+ include CallableInfo
22
+
23
+ def flags
24
+ GIRepository.signal_info_get_flags(self)
25
+ end
26
+
27
+ def true_stops_emit?
28
+ GIRepository.signal_info_true_stops_emit(self)
29
+ end
30
+
31
+ def lib_definition(builder)
32
+ builder.comment "Signal #{name}"
33
+ end
34
+
35
+ def wrapper_definition(builder, libname)
36
+ ret_type = return_type.wrapper_definition(libname)
37
+ ret_type = "Nil" if ret_type == "Void*"
38
+ proc = builder.proc_type(args.map { |arg|
39
+ type = arg.type.wrapper_definition(builder, libname)
40
+ arg.nilable? ? "#{type}?" : type
41
+ }, return_type: ret_type)
42
+ alias_name = "#{self.alias_name}Signal"
43
+ builder.attach_to_next_section { builder.def_alias alias_name, proc }
44
+
45
+ proc_arguments = args.each.with_index.map { |ai|
46
+ arg, i = ai
47
+ builder.arg("arg#{i}", type: arg.type.signal_lib_definition(builder))
48
+ }.to_a
49
+ proc_arguments << builder.arg("box", type: "Void*") # We pass the trampoline user data
50
+ block_arguments = args.each.with_index.map { |ai|
51
+ arg, i = ai
52
+ value = arg.type.convert_to_crystal(builder, "arg#{i}")
53
+ if arg.type.is_pointer_in_signal?
54
+ null_check = builder.call("null?", receiver: "arg#{i}")
55
+ unexpected_null = builder.call("raise_unexpected_null", builder.literal("#{arg.name} in #{identifier}"), receiver: "GObject")
56
+ arg.nilable? ? builder.ternary(null_check, builder.literal(nil), value) : builder.ternary(null_check, unexpected_null, value)
57
+ else
58
+ value
59
+ end
60
+ }.to_a
61
+ trampoline_args = Array.new(args.size) { |i| "arg#{i}" }
62
+ builder.def_method(
63
+ "on_#{identifier}",
64
+ builder.arg(nil, prefix: :splat),
65
+ builder.arg("after", default: "false"),
66
+ builder.arg("block", type: alias_name, prefix: :block_capture)) do
67
+ callback = line assign_var def_proc(proc_arguments) { |b|
68
+ trampoline = b.call("unbox", "box", receiver: "::Box(#{alias_name})")
69
+ return_value = b.call("call", block_arguments, receiver: trampoline)
70
+ b.line return_type.convert_from_crystal(return_value)
71
+ }
72
+
73
+ trampoline = call("new", receiver: alias_name, block_args: trampoline_args) { |b|
74
+ b.line b.call("call", trampoline_args, receiver: "block")
75
+ }
76
+ trampoline_box = line assign_var call("box", trampoline, receiver: "::Box")
77
+
78
+ this = call("as", "LibGObject::Object*", receiver: "@pointer")
79
+ callback_ptr = call("new", call("pointer", receiver: callback),
80
+ call("null", receiver: "Pointer(Void)"), receiver: "LibGObject::Callback")
81
+ register_box = call("register", trampoline_box, receiver: "GObject::ClosureDataManager")
82
+ deregister_box = "->#{call("deregister", receiver: "GObject::ClosureDataManager")}"
83
+
84
+ flags = ternary("after", "GObject::ConnectFlags::AFTER", "GObject::ConnectFlags::None")
85
+ line call("signal_connect_data",
86
+ this, literal(name), callback_ptr, register_box,
87
+ deregister_box, flags, receiver: "LibGObject")
88
+ end
89
+
90
+ builder.def_method("after_#{identifier}", builder.arg("block", type: alias_name, prefix: :block_capture)) do
91
+ line call("on_#{identifier}", {after: literal(true)}, "&block")
92
+ end
93
+ end
94
+
95
+ private def alias_name
96
+ name.try &.split("-").map(&.capitalize).join
97
+ end
98
+
99
+ private def identifier
100
+ name = self.name.try &.tr("-", "_")
101
+ name += "_" if name && {"begin", "end"}.includes? name
102
+ name
103
+ end
104
+
105
+ Dumper.def do
106
+ dumper.puts "* flags = #{flags}"
107
+ dumper.puts "* true_stops_emit = #{true_stops_emit?}"
108
+ end
109
+ end
110
+ end
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,139 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 64 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class StructInfo < BaseInfo
20
+ include RegisteredTypeInfo
21
+ include WrapperGenerator
22
+
23
+ each_converted struct_info, field, FieldInfo
24
+ each_converted struct_info, method, FunctionInfo
25
+
26
+ def gtype?
27
+ GIRepository.struct_info_is_gtype_struct(self)
28
+ end
29
+
30
+ def name
31
+ name = super
32
+ 'A' <= name[0] <= 'Z' ? name : "#{namespace}#{name}" if name
33
+ end
34
+
35
+ def size
36
+ GIRepository.struct_info_get_size(self)
37
+ end
38
+
39
+ def alignment
40
+ GIRepository.struct_info_get_alignment(self)
41
+ end
42
+
43
+ def foreign?
44
+ GIRepository.struct_info_is_foreign(self)
45
+ end
46
+
47
+ def lib_definition(builder)
48
+ builder.end_of_line_comment "struct"
49
+ builder.def_struct(name) do
50
+ field_definition(builder)
51
+ end
52
+ type_init_lib_definition(builder)
53
+ each_method &.lib_definition(builder)
54
+ end
55
+
56
+ def field_definition(builder)
57
+ each_field &.lib_definition(builder)
58
+ builder.field_binding "_data", "UInt8[#{size}]" if fields_size == 0
59
+ end
60
+
61
+ def wrapper_definition(builder, libname)
62
+ builder.def_class(name) do
63
+ section { add_include "GObject::WrappedType" }
64
+
65
+ writable_fields = fields.select(&.writable?)
66
+ if !writable_fields.empty?
67
+ constructor_args = writable_fields.map { |field|
68
+ arg(field.name,
69
+ external: field.wrapper_name != field.name ? field.wrapper_name : nil,
70
+ default: literal(nil),
71
+ type: "#{field.type.wrapper_definition(libname)}?")
72
+ }
73
+ def_method("new", constructor_args, class_method: true, return_type: "self") do
74
+ ptr = call("malloc", literal(size), literal(0u8), receiver: "Pointer(UInt8)")
75
+ ptr = call("as", ptr_type(libname), receiver: ptr)
76
+ object = line assign_var call("new", ptr)
77
+ writable_fields.each do |field|
78
+ not_nil = negate(call("nil?", receiver: field.name))
79
+ conditional_line not_nil, assign("#{object}.#{field.wrapper_name}", field.name)
80
+ end
81
+ line object
82
+ end
83
+ elsif size != 0 # if size is 0 it's opaque to us, there should be a constructor function
84
+ def_method("new", class_method: true, return_type: "self") do
85
+ ptr = call("malloc", literal(size), literal(0u8), receiver: "Pointer(UInt8)")
86
+ ptr = call("as", ptr_type(libname), receiver: ptr)
87
+ line call("new", ptr)
88
+ end
89
+ end
90
+
91
+ write_gtype_constant builder, libname
92
+ write_constructor builder, libname
93
+ write_to_unsafe builder, libname
94
+ write_methods builder, libname
95
+
96
+ each_field do |field|
97
+ next if has_method_getter_or_setter?(field.name)
98
+
99
+ if field.readable?
100
+ def_method(field.wrapper_name) do
101
+ ptr = call("to_unsafe")
102
+ ptr = call("as", ptr_type(libname), receiver: ptr)
103
+ strct = call("value", receiver: ptr)
104
+ value = call(field.name, receiver: strct)
105
+ line field.type.convert_to_crystal(builder, value)
106
+ end
107
+ end
108
+
109
+ if field.writable?
110
+ def_method("#{field.wrapper_name}=", arg("value", type: field.type.wrapper_definition(libname))) do
111
+ ptr = call("to_unsafe")
112
+ ptr = call("as", ptr_type(libname), receiver: ptr)
113
+ strct = call("value", receiver: ptr)
114
+ line assign call(field.name, receiver: strct), field.type.convert_from_crystal("value")
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
120
+
121
+ Dumper.def do
122
+ dumper.puts "* size = #{size}"
123
+ dumper.puts "* alignment = #{alignment}"
124
+ dumper.puts "* foreign = #{foreign?}"
125
+ dumper.puts "* gtype = #{gtype?}"
126
+ Dumper.dump_childs field
127
+ Dumper.dump_childs method
128
+ end
129
+ end
130
+ end
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)