roebe 0.5.187

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 roebe might be problematic. Click here for more details.

Files changed (2901) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +5852 -0
  3. data/bin/blinking_cursor +7 -0
  4. data/bin/browser +7 -0
  5. data/bin/colourized_tokenitor1 +7 -0
  6. data/bin/colourized_tokenitor2 +7 -0
  7. data/bin/colourized_tokenitor3 +7 -0
  8. data/bin/colourized_tokenitor4 +7 -0
  9. data/bin/colourized_tokenitor5 +7 -0
  10. data/bin/compare_these_two_directories +7 -0
  11. data/bin/create_file_skeleton +7 -0
  12. data/bin/create_my_directories +7 -0
  13. data/bin/create_wpa_supplicant_build_file +7 -0
  14. data/bin/create_zip +7 -0
  15. data/bin/custom_invoke +28 -0
  16. data/bin/delete_empty_files +7 -0
  17. data/bin/display_gcc_version +7 -0
  18. data/bin/do_a_google_search +7 -0
  19. data/bin/extract_gem_file +7 -0
  20. data/bin/fragment_maker +7 -0
  21. data/bin/generate_fstab_file +7 -0
  22. data/bin/handle_xorg_related_boot_phase +7 -0
  23. data/bin/hello_world +7 -0
  24. data/bin/in +7 -0
  25. data/bin/increment_application_version +7 -0
  26. data/bin/increment_application_version_then_push_the_gem +13 -0
  27. data/bin/install_all_registered_fonts +7 -0
  28. data/bin/install_jruby_addons +7 -0
  29. data/bin/install_my_addons +97 -0
  30. data/bin/install_my_addons.rb +97 -0
  31. data/bin/interactive_file_creator +7 -0
  32. data/bin/java_compile_statically +11 -0
  33. data/bin/kill_firefox +7 -0
  34. data/bin/kill_palemoon +7 -0
  35. data/bin/konsole_title +7 -0
  36. data/bin/larrow +7 -0
  37. data/bin/log10 +7 -0
  38. data/bin/menugenerator +7 -0
  39. data/bin/modify_shebang_header +7 -0
  40. data/bin/openpdf1 +7 -0
  41. data/bin/openpdf2 +7 -0
  42. data/bin/openpdf3 +7 -0
  43. data/bin/openpdf4 +7 -0
  44. data/bin/openpdf5 +7 -0
  45. data/bin/openpdf6 +7 -0
  46. data/bin/openpdf7 +7 -0
  47. data/bin/openpdf8 +7 -0
  48. data/bin/openpdf9 +7 -0
  49. data/bin/passwords +7 -0
  50. data/bin/path_generator +7 -0
  51. data/bin/print_this_unicode_symbol +7 -0
  52. data/bin/quick_colour_test +13 -0
  53. data/bin/rarrow +7 -0
  54. data/bin/rdate +7 -0
  55. data/bin/remove_this_substring_from_all_files +7 -0
  56. data/bin/replace_space_with_underscore +7 -0
  57. data/bin/rfirefox +7 -0
  58. data/bin/rinstall2 +7 -0
  59. data/bin/roebe +7 -0
  60. data/bin/roebe_documentation +7 -0
  61. data/bin/roebeshell +11 -0
  62. data/bin/ruby_cat +7 -0
  63. data/bin/ruby_dhcpcd +7 -0
  64. data/bin/run +7 -0
  65. data/bin/rxinitrc +7 -0
  66. data/bin/set_alias_1 +7 -0
  67. data/bin/set_alias_10 +7 -0
  68. data/bin/set_alias_11 +7 -0
  69. data/bin/set_alias_12 +7 -0
  70. data/bin/set_alias_13 +7 -0
  71. data/bin/set_alias_14 +7 -0
  72. data/bin/set_alias_15 +7 -0
  73. data/bin/set_alias_2 +7 -0
  74. data/bin/set_alias_3 +7 -0
  75. data/bin/set_alias_4 +7 -0
  76. data/bin/set_alias_5 +7 -0
  77. data/bin/set_alias_6 +7 -0
  78. data/bin/set_alias_7 +7 -0
  79. data/bin/set_alias_8 +7 -0
  80. data/bin/set_alias_9 +7 -0
  81. data/bin/set_browser +7 -0
  82. data/bin/setpdf1 +7 -0
  83. data/bin/setpdf2 +7 -0
  84. data/bin/setpdf3 +7 -0
  85. data/bin/setpdf4 +7 -0
  86. data/bin/setpdf5 +7 -0
  87. data/bin/setpdf6 +7 -0
  88. data/bin/setpdf7 +7 -0
  89. data/bin/setpdf8 +7 -0
  90. data/bin/setpdf9 +7 -0
  91. data/bin/show_available_users +7 -0
  92. data/bin/show_ten_aliases +7 -0
  93. data/bin/simple_extractor +9 -0
  94. data/bin/start_lighty +7 -0
  95. data/bin/symlink_directories_from_that_directory_to_the_current_directory +7 -0
  96. data/bin/symlink_everything_from_that_directory_to_this_directory +7 -0
  97. data/bin/symlink_files_from_that_directory_to_the_current_directory +7 -0
  98. data/bin/take_screenshot +7 -0
  99. data/bin/to_binary +7 -0
  100. data/bin/tokenitor +7 -0
  101. data/bin/vim_paradise +7 -0
  102. data/bin/wlan +7 -0
  103. data/bin/word_count +7 -0
  104. data/bin/write_what_into +7 -0
  105. data/bin/yaml_check +7 -0
  106. data/doc/README.gen +5790 -0
  107. data/doc/add_ons_for_ruby/README.md +3 -0
  108. data/doc/add_ons_for_ruby/activerecord.md +99 -0
  109. data/doc/add_ons_for_ruby/ansicolor.md +62 -0
  110. data/doc/add_ons_for_ruby/axlsx.md +60 -0
  111. data/doc/add_ons_for_ruby/bundler.md +20 -0
  112. data/doc/add_ons_for_ruby/byebug.md +14 -0
  113. data/doc/add_ons_for_ruby/camping.md +9 -0
  114. data/doc/add_ons_for_ruby/caxlsx.md +72 -0
  115. data/doc/add_ons_for_ruby/cgi.md +124 -0
  116. data/doc/add_ons_for_ruby/chunkypng.md +19 -0
  117. data/doc/add_ons_for_ruby/classifier.md +7 -0
  118. data/doc/add_ons_for_ruby/coderay.md +82 -0
  119. data/doc/add_ons_for_ruby/daemons.md +92 -0
  120. data/doc/add_ons_for_ruby/dl.md +114 -0
  121. data/doc/add_ons_for_ruby/erb.md +25 -0
  122. data/doc/add_ons_for_ruby/erubis.md +124 -0
  123. data/doc/add_ons_for_ruby/ferret.md +16 -0
  124. data/doc/add_ons_for_ruby/ffi.md +28 -0
  125. data/doc/add_ons_for_ruby/fox_and_fxruby.md +492 -0
  126. data/doc/add_ons_for_ruby/fpdf.md +389 -0
  127. data/doc/add_ons_for_ruby/fpm.md +46 -0
  128. data/doc/add_ons_for_ruby/ftp.md +70 -0
  129. data/doc/add_ons_for_ruby/fxruby.md +14 -0
  130. data/doc/add_ons_for_ruby/gist.md +30 -0
  131. data/doc/add_ons_for_ruby/glimmer-libui.md +43 -0
  132. data/doc/add_ons_for_ruby/gmail.md +22 -0
  133. data/doc/add_ons_for_ruby/gosu.md +12 -0
  134. data/doc/add_ons_for_ruby/graphviz.md +246 -0
  135. data/doc/add_ons_for_ruby/gruff.md +95 -0
  136. data/doc/add_ons_for_ruby/hexapdf.md +66 -0
  137. data/doc/add_ons_for_ruby/highline.md +16 -0
  138. data/doc/add_ons_for_ruby/iconv.md +20 -0
  139. data/doc/add_ons_for_ruby/id3lib.md +173 -0
  140. data/doc/add_ons_for_ruby/inline.md +30 -0
  141. data/doc/add_ons_for_ruby/inotify.md +130 -0
  142. data/doc/add_ons_for_ruby/instiki.md +38 -0
  143. data/doc/add_ons_for_ruby/jruby.md +253 -0
  144. data/doc/add_ons_for_ruby/json.md +64 -0
  145. data/doc/add_ons_for_ruby/kramdown.md +34 -0
  146. data/doc/add_ons_for_ruby/lexer.md +19 -0
  147. data/doc/add_ons_for_ruby/libarchive.md +91 -0
  148. data/doc/add_ons_for_ruby/libburn.md +29 -0
  149. data/doc/add_ons_for_ruby/mail.md +51 -0
  150. data/doc/add_ons_for_ruby/md5reverse.md +10 -0
  151. data/doc/add_ons_for_ruby/mechanize.md +195 -0
  152. data/doc/add_ons_for_ruby/memcache.md +22 -0
  153. data/doc/add_ons_for_ruby/midilib.md +35 -0
  154. data/doc/add_ons_for_ruby/mime.md +15 -0
  155. data/doc/add_ons_for_ruby/minitest.md +39 -0
  156. data/doc/add_ons_for_ruby/misc.md +3 -0
  157. data/doc/add_ons_for_ruby/mongrel.md +68 -0
  158. data/doc/add_ons_for_ruby/mp3info.md +121 -0
  159. data/doc/add_ons_for_ruby/mpd.md +16 -0
  160. data/doc/add_ons_for_ruby/mruby.md +13 -0
  161. data/doc/add_ons_for_ruby/nokogiri.md +32 -0
  162. data/doc/add_ons_for_ruby/opal.md +53 -0
  163. data/doc/add_ons_for_ruby/openid.md +10 -0
  164. data/doc/add_ons_for_ruby/padrino.md +4 -0
  165. data/doc/add_ons_for_ruby/passenger.md +4 -0
  166. data/doc/add_ons_for_ruby/prawn.md +269 -0
  167. data/doc/add_ons_for_ruby/pry.md +85 -0
  168. data/doc/add_ons_for_ruby/puma.md +29 -0
  169. data/doc/add_ons_for_ruby/qt_and_kde.md +793 -0
  170. data/doc/add_ons_for_ruby/rack.md +212 -0
  171. data/doc/add_ons_for_ruby/ragel.md +19 -0
  172. data/doc/add_ons_for_ruby/rails.md +97 -0
  173. data/doc/add_ons_for_ruby/ramaze.md +72 -0
  174. data/doc/add_ons_for_ruby/rbenv.md +13 -0
  175. data/doc/add_ons_for_ruby/redcarpet.md +6 -0
  176. data/doc/add_ons_for_ruby/redcloth.md +11 -0
  177. data/doc/add_ons_for_ruby/redmine.md +8 -0
  178. data/doc/add_ons_for_ruby/rmagick.md +555 -0
  179. data/doc/add_ons_for_ruby/roda.md +6 -0
  180. data/doc/add_ons_for_ruby/rspec.md +12 -0
  181. data/doc/add_ons_for_ruby/rtf.md +74 -0
  182. data/doc/add_ons_for_ruby/rubocop.md +84 -0
  183. data/doc/add_ons_for_ruby/ruby_users.md +23 -0
  184. data/doc/add_ons_for_ruby/rubygame.md +403 -0
  185. data/doc/add_ons_for_ruby/ruport.md +23 -0
  186. data/doc/add_ons_for_ruby/rvm.md +17 -0
  187. data/doc/add_ons_for_ruby/sdl.md +200 -0
  188. data/doc/add_ons_for_ruby/sequel.md +55 -0
  189. data/doc/add_ons_for_ruby/setup.md +92 -0
  190. data/doc/add_ons_for_ruby/shoes.md +7 -0
  191. data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.cgi +7 -0
  192. data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.rb +960 -0
  193. data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.sinatra +56 -0
  194. data/doc/add_ons_for_ruby/slop.md +27 -0
  195. data/doc/add_ons_for_ruby/spreadsheet.md +153 -0
  196. data/doc/add_ons_for_ruby/sqlite.md +115 -0
  197. data/doc/add_ons_for_ruby/systemu.md +21 -0
  198. data/doc/add_ons_for_ruby/thor.md +16 -0
  199. data/doc/add_ons_for_ruby/tk.md +468 -0
  200. data/doc/add_ons_for_ruby/tty.md +9 -0
  201. data/doc/add_ons_for_ruby/tty_box.md +28 -0
  202. data/doc/add_ons_for_ruby/tty_prompt.md +25 -0
  203. data/doc/add_ons_for_ruby/vorbistagger.md +33 -0
  204. data/doc/add_ons_for_ruby/watir.md +30 -0
  205. data/doc/add_ons_for_ruby/webrick.md +399 -0
  206. data/doc/add_ons_for_ruby/whois.md +52 -0
  207. data/doc/add_ons_for_ruby/windows.md +346 -0
  208. data/doc/add_ons_for_ruby/writeexcel.md +67 -0
  209. data/doc/add_ons_for_ruby/wxwidgets.md +3 -0
  210. data/doc/add_ons_for_ruby/xml.md +198 -0
  211. data/doc/add_ons_for_ruby/xosd.md +21 -0
  212. data/doc/add_ons_for_ruby/yard.md +39 -0
  213. data/doc/add_ons_for_ruby/zip.md +67 -0
  214. data/doc/core/abbrev.md +31 -0
  215. data/doc/core/argf.md +26 -0
  216. data/doc/core/argv.md +102 -0
  217. data/doc/core/array.md +1142 -0
  218. data/doc/core/base64.md +7 -0
  219. data/doc/core/basic_object.md +24 -0
  220. data/doc/core/benchmarks_and_profiling.md +87 -0
  221. data/doc/core/bigdecimal.md +13 -0
  222. data/doc/core/binding.md +33 -0
  223. data/doc/core/blocks.md +45 -0
  224. data/doc/core/class.md +43 -0
  225. data/doc/core/closure.md +207 -0
  226. data/doc/core/commandline.md +9 -0
  227. data/doc/core/comparable.md +9 -0
  228. data/doc/core/compiling_ruby_c_code.md +1969 -0
  229. data/doc/core/conditional_requires.md +13 -0
  230. data/doc/core/constants.md +87 -0
  231. data/doc/core/csv.md +55 -0
  232. data/doc/core/dir.md +102 -0
  233. data/doc/core/drb.md +121 -0
  234. data/doc/core/encoding.md +158 -0
  235. data/doc/core/enumerable.md +160 -0
  236. data/doc/core/enumerator.md +38 -0
  237. data/doc/core/env.md +12 -0
  238. data/doc/core/errno.md +24 -0
  239. data/doc/core/error_codes_in_ruby.md +19 -0
  240. data/doc/core/etc.md +95 -0
  241. data/doc/core/eval.md +20 -0
  242. data/doc/core/exceptions_and_errors.md +247 -0
  243. data/doc/core/fiber.md +23 -0
  244. data/doc/core/fiddle.md +20 -0
  245. data/doc/core/file.md +388 -0
  246. data/doc/core/fileutils.md +74 -0
  247. data/doc/core/float.md +33 -0
  248. data/doc/core/garbage_collection_in_ruby.md +75 -0
  249. data/doc/core/gem_and_gemspec.md +447 -0
  250. data/doc/core/getoptlang.md +19 -0
  251. data/doc/core/handling_networks.md +63 -0
  252. data/doc/core/hash.md +485 -0
  253. data/doc/core/hooks.md +47 -0
  254. data/doc/core/imap.md +7 -0
  255. data/doc/core/integer.md +106 -0
  256. data/doc/core/io.md +126 -0
  257. data/doc/core/io_console.md +31 -0
  258. data/doc/core/irb.md +180 -0
  259. data/doc/core/iterators.md +194 -0
  260. data/doc/core/kernel.md +227 -0
  261. data/doc/core/keyword_arguments.md +10 -0
  262. data/doc/core/loops.md +24 -0
  263. data/doc/core/marshal.md +123 -0
  264. data/doc/core/math.md +452 -0
  265. data/doc/core/matrix.md +16 -0
  266. data/doc/core/mechanize.md +3 -0
  267. data/doc/core/methods.md +221 -0
  268. data/doc/core/misc.md +1779 -0
  269. data/doc/core/mkmf.md +164 -0
  270. data/doc/core/module.md +76 -0
  271. data/doc/core/mutex.md +63 -0
  272. data/doc/core/nil.md +14 -0
  273. data/doc/core/object.md +238 -0
  274. data/doc/core/objectspace.md +28 -0
  275. data/doc/core/open3.md +24 -0
  276. data/doc/core/open_uri.md +29 -0
  277. data/doc/core/openssl.md +45 -0
  278. data/doc/core/openstruct.md +67 -0
  279. data/doc/core/optparser.md +234 -0
  280. data/doc/core/pathname.md +49 -0
  281. data/doc/core/performance_considerations_in_ruby.md +31 -0
  282. data/doc/core/pp.md +39 -0
  283. data/doc/core/precedence.md +27 -0
  284. data/doc/core/prime.md +13 -0
  285. data/doc/core/proc.md +131 -0
  286. data/doc/core/process.md +303 -0
  287. data/doc/core/pstore.md +23 -0
  288. data/doc/core/psych.md +7 -0
  289. data/doc/core/pty.md +11 -0
  290. data/doc/core/ractor.md +12 -0
  291. data/doc/core/rake.md +130 -0
  292. data/doc/core/random.md +17 -0
  293. data/doc/core/range.md +25 -0
  294. data/doc/core/rational.md +7 -0
  295. data/doc/core/rbconfig.md +39 -0
  296. data/doc/core/rdoc.md +67 -0
  297. data/doc/core/readline.md +306 -0
  298. data/doc/core/refinements.md +23 -0
  299. data/doc/core/regex.md +663 -0
  300. data/doc/core/reline.md +76 -0
  301. data/doc/core/ripper.md +57 -0
  302. data/doc/core/ruby_and_c.md +8 -0
  303. data/doc/core/rubyvm.md +28 -0
  304. data/doc/core/set.md +26 -0
  305. data/doc/core/shellwords.md +34 -0
  306. data/doc/core/signals.md +32 -0
  307. data/doc/core/singleton.md +47 -0
  308. data/doc/core/sockets.md +137 -0
  309. data/doc/core/splat.md +10 -0
  310. data/doc/core/stderr.md +3 -0
  311. data/doc/core/stdin.md +27 -0
  312. data/doc/core/stdout.md +14 -0
  313. data/doc/core/string.md +854 -0
  314. data/doc/core/stringio.md +54 -0
  315. data/doc/core/stringscanner.md +43 -0
  316. data/doc/core/struct.md +52 -0
  317. data/doc/core/subclassing.md +41 -0
  318. data/doc/core/symbols.md +47 -0
  319. data/doc/core/system.md +3 -0
  320. data/doc/core/tcpsocket.md +14 -0
  321. data/doc/core/telnet.md +35 -0
  322. data/doc/core/tempfile.md +34 -0
  323. data/doc/core/threads.md +127 -0
  324. data/doc/core/time.md +335 -0
  325. data/doc/core/tracepoint.md +7 -0
  326. data/doc/core/unicode.md +5 -0
  327. data/doc/core/unittest.md +8 -0
  328. data/doc/core/unprintable_characters.md +17 -0
  329. data/doc/core/uri.md +14 -0
  330. data/doc/core/xml.md +13 -0
  331. data/doc/core/yaml.md +376 -0
  332. data/doc/core/zlib.md +111 -0
  333. data/doc/deprecations/deprecations.md +60 -0
  334. data/doc/documentation_viewer.cgi +87 -0
  335. data/doc/linux_may_have_issues/linux_may_have_issues.md +92 -0
  336. data/doc/misc/how_to_publish.md +49 -0
  337. data/doc/misc/links.md +19 -0
  338. data/doc/misc/the_initialize_method.md +2 -0
  339. data/doc/misc/the_perfect_book.md +14 -0
  340. data/doc/roebeshell/CONFIGURATION_FOR_THE_ROEBE_SHELL.md +381 -0
  341. data/doc/roebeshell/MANIFESTO_FOR_THE_ROEBE_SHELL_COMPONENT.md +391 -0
  342. data/doc/roebeshell/PHILOSOPHY_OF_THE_ROEBE_SHELL.md +64 -0
  343. data/doc/ruby_on_rails_tutorial/data_types_for_rails_migrations.md +11 -0
  344. data/doc/ruby_on_rails_tutorial/ruby_on_rails_tutorial.cgi +404 -0
  345. data/doc/statistics/statistics.md +94 -0
  346. data/doc/the_ruby_philosophy/the_ruby_philosophy.md +209 -0
  347. data/doc/todo/todo_for_the_roebe_project_on_windows.md +4 -0
  348. data/doc/todo/todo_for_the_roebe_shell.md +741 -0
  349. data/examples/README.md +4 -0
  350. data/examples/date_and_time/is_this_day_part_of_that_range.rb +45 -0
  351. data/examples/gui/fxruby/hello_world.rb +11 -0
  352. data/examples/gui/fxruby/text_editor.rb +51 -0
  353. data/examples/misc/argv_encoding_test.rb +38 -0
  354. data/examples/misc/arrays/center_two_arrays.rb +24 -0
  355. data/examples/misc/forking_example/forking_example.rb +28 -0
  356. data/examples/misc/loops/display_coloured_vertical_bars.rb +10 -0
  357. data/examples/rack/README.md +2 -0
  358. data/examples/rack/all_in_one_rack_example.rb +241 -0
  359. data/examples/rack/hello_world_in_rack.rb +44 -0
  360. data/examples/recursion/README.md +2 -0
  361. data/examples/recursion/quadratic_sum_of_a_number.rb +23 -0
  362. data/examples/recursion/reverse_the_string.rb +31 -0
  363. data/examples/recursion/shift_highest_value.rb +30 -0
  364. data/examples/recursion/shuffle_sort_string.rb +35 -0
  365. data/examples/reline/multiline_editing.rb +21 -0
  366. data/examples/reline/simple_example.rb +39 -0
  367. data/examples/rmagick/001_axes.rb +68 -0
  368. data/examples/rmagick/002_basic_2D_canvas.rb +29 -0
  369. data/examples/rmagick/003_a_walking_duck.rb +42 -0
  370. data/examples/rmagick/004_black_rectangle_with_red_border.rb +37 -0
  371. data/examples/rmagick/A_WALKING_DUCK.gif +0 -0
  372. data/examples/rmagick/foobar.png +0 -0
  373. data/examples/tty_box/all_in_one.rb +33 -0
  374. data/lib/roebe/autoinclude.rb +4 -0
  375. data/lib/roebe/autoinclude_encoding.rb +11 -0
  376. data/lib/roebe/autoinclude_open.rb +3 -0
  377. data/lib/roebe/base/base.rb +29 -0
  378. data/lib/roebe/base/chdir.rb +48 -0
  379. data/lib/roebe/base/colours.rb +671 -0
  380. data/lib/roebe/base/commandline_arguments.rb +109 -0
  381. data/lib/roebe/base/constants.rb +25 -0
  382. data/lib/roebe/base/copy.rb +72 -0
  383. data/lib/roebe/base/editor.rb +18 -0
  384. data/lib/roebe/base/encoding.rb +54 -0
  385. data/lib/roebe/base/env.rb +22 -0
  386. data/lib/roebe/base/esystem.rb +141 -0
  387. data/lib/roebe/base/home_directory_of_user_x.rb +27 -0
  388. data/lib/roebe/base/is_on_roebe.rb +22 -0
  389. data/lib/roebe/base/misc.rb +502 -0
  390. data/lib/roebe/base/next.rb +29 -0
  391. data/lib/roebe/base/opnn.rb +63 -0
  392. data/lib/roebe/base/prototype.rb +523 -0
  393. data/lib/roebe/base/reset.rb +53 -0
  394. data/lib/roebe/base/run.rb +17 -0
  395. data/lib/roebe/base/simp.rb +25 -0
  396. data/lib/roebe/base/support_for_beautiful_url.rb +35 -0
  397. data/lib/roebe/base/symlink.rb +52 -0
  398. data/lib/roebe/base/time.rb +175 -0
  399. data/lib/roebe/base/verbose_truth.rb +22 -0
  400. data/lib/roebe/base/write_what_into.rb +33 -0
  401. data/lib/roebe/browser/README.md +5 -0
  402. data/lib/roebe/browser/browser.rb +26 -0
  403. data/lib/roebe/browser/constants.rb +43 -0
  404. data/lib/roebe/browser/firefox.rb +47 -0
  405. data/lib/roebe/browser/menu.rb +103 -0
  406. data/lib/roebe/browser/misc.rb +367 -0
  407. data/lib/roebe/browser/output_url_then_open_in_browser.rb +175 -0
  408. data/lib/roebe/browser/palemoon.rb +59 -0
  409. data/lib/roebe/browser/reset.rb +47 -0
  410. data/lib/roebe/cat/class.rb +226 -0
  411. data/lib/roebe/cat/method.rb +14 -0
  412. data/lib/roebe/classes/add_irc_quote.rb +132 -0
  413. data/lib/roebe/classes/add_newline_after.rb +124 -0
  414. data/lib/roebe/classes/add_newline_after_n_characters.rb +65 -0
  415. data/lib/roebe/classes/add_this_user_to_the_sudoers_file.rb +67 -0
  416. data/lib/roebe/classes/add_two_binary_numbers.rb +58 -0
  417. data/lib/roebe/classes/add_user_lighty.rb +107 -0
  418. data/lib/roebe/classes/aggregate_all_files_together_from_this_directory.rb +86 -0
  419. data/lib/roebe/classes/aliases.rb +683 -0
  420. data/lib/roebe/classes/all_games.rb +61 -0
  421. data/lib/roebe/classes/all_my_gems.rb +100 -0
  422. data/lib/roebe/classes/alltagsgeschichte.rb +106 -0
  423. data/lib/roebe/classes/alphabetical_sorter.rb +213 -0
  424. data/lib/roebe/classes/apache_configuration_maker.rb +234 -0
  425. data/lib/roebe/classes/append_this.rb +158 -0
  426. data/lib/roebe/classes/append_to_line.rb +141 -0
  427. data/lib/roebe/classes/ascii/README.md +2 -0
  428. data/lib/roebe/classes/ascii/fix_missing_numbers_for_ascii_paradise.rb +96 -0
  429. data/lib/roebe/classes/at.rb +343 -0
  430. data/lib/roebe/classes/audio_information/audio_information.rb +116 -0
  431. data/lib/roebe/classes/auto_rename_file_based_on_time_today.rb +76 -0
  432. data/lib/roebe/classes/autodater.rb +112 -0
  433. data/lib/roebe/classes/automounter.rb +181 -0
  434. data/lib/roebe/classes/available_classes.rb +219 -0
  435. data/lib/roebe/classes/backup_core_system.rb +223 -0
  436. data/lib/roebe/classes/basic_configure.rb +110 -0
  437. data/lib/roebe/classes/batch_generate_all_my_gems.rb +132 -0
  438. data/lib/roebe/classes/become_another_user.rb +86 -0
  439. data/lib/roebe/classes/bezirk.rb +91 -0
  440. data/lib/roebe/classes/birthday_notifications.rb +291 -0
  441. data/lib/roebe/classes/books/books.rb +781 -0
  442. data/lib/roebe/classes/books/finished_books/finished_books.rb +136 -0
  443. data/lib/roebe/classes/books/menu.rb +258 -0
  444. data/lib/roebe/classes/books/sanitize_this_book_path/sanitize_this_book_path.rb +117 -0
  445. data/lib/roebe/classes/burn_iso/burn_iso.rb +262 -0
  446. data/lib/roebe/classes/burn_iso/constants.rb +43 -0
  447. data/lib/roebe/classes/burn_iso/initialize.rb +33 -0
  448. data/lib/roebe/classes/caesar_cipher.rb +88 -0
  449. data/lib/roebe/classes/calendar.rb +369 -0
  450. data/lib/roebe/classes/calendar_maker.rb +61 -0
  451. data/lib/roebe/classes/celsius_to_fahrenheit.rb +195 -0
  452. data/lib/roebe/classes/check_for_bad_blocks.rb +67 -0
  453. data/lib/roebe/classes/check_yaml.rb +71 -0
  454. data/lib/roebe/classes/chmod_current_time.rb +71 -0
  455. data/lib/roebe/classes/clipboard.rb +221 -0
  456. data/lib/roebe/classes/clock.rb +118 -0
  457. data/lib/roebe/classes/colourize_numbers.rb +70 -0
  458. data/lib/roebe/classes/compare_these_two_directories.rb +101 -0
  459. data/lib/roebe/classes/compare_these_two_files.rb +167 -0
  460. data/lib/roebe/classes/compile_kernel.rb +114 -0
  461. data/lib/roebe/classes/config_generator.rb +204 -0
  462. data/lib/roebe/classes/conky.rb +114 -0
  463. data/lib/roebe/classes/conky_rcfile_generator.rb +61 -0
  464. data/lib/roebe/classes/convert_encoding_of_this_file.rb +216 -0
  465. data/lib/roebe/classes/convert_file_into_utf_encoding.rb +89 -0
  466. data/lib/roebe/classes/convert_this_cgi_file_into_a_sinatrafied_application.rb +145 -0
  467. data/lib/roebe/classes/copy_from_glibc.rb +134 -0
  468. data/lib/roebe/classes/copy_here.rb +76 -0
  469. data/lib/roebe/classes/copy_kernel_config.rb +59 -0
  470. data/lib/roebe/classes/copy_these_directories_to.rb +121 -0
  471. data/lib/roebe/classes/correct_gibberish.rb +89 -0
  472. data/lib/roebe/classes/covid_lethality.rb +243 -0
  473. data/lib/roebe/classes/create_asoundrc_file.rb +66 -0
  474. data/lib/roebe/classes/create_benchmark_file.rb +77 -0
  475. data/lib/roebe/classes/create_desktop_file.rb +236 -0
  476. data/lib/roebe/classes/create_docbook_sgml_dtd_catalog.rb +113 -0
  477. data/lib/roebe/classes/create_file_skeleton/constants.rb +70 -0
  478. data/lib/roebe/classes/create_file_skeleton/create_file_skeleton.rb +470 -0
  479. data/lib/roebe/classes/create_file_skeleton/generate_c_string.rb +31 -0
  480. data/lib/roebe/classes/create_file_skeleton/generate_cpp_string.rb +33 -0
  481. data/lib/roebe/classes/create_file_skeleton/generate_ruby_string.rb +124 -0
  482. data/lib/roebe/classes/create_file_skeleton/reset.rb +56 -0
  483. data/lib/roebe/classes/create_file_skeleton/run.rb +23 -0
  484. data/lib/roebe/classes/create_firefox_extension.rb +178 -0
  485. data/lib/roebe/classes/create_iso.rb +203 -0
  486. data/lib/roebe/classes/create_iso_for_games.rb +307 -0
  487. data/lib/roebe/classes/create_jar_archive.rb +58 -0
  488. data/lib/roebe/classes/create_local_images_yaml_file.rb +83 -0
  489. data/lib/roebe/classes/create_my_directories.rb +208 -0
  490. data/lib/roebe/classes/create_ruby_directory_layout.rb +117 -0
  491. data/lib/roebe/classes/create_zip.rb +118 -0
  492. data/lib/roebe/classes/css_analyzer.rb +125 -0
  493. data/lib/roebe/classes/current_monitor_resolution.rb +107 -0
  494. data/lib/roebe/classes/custom_table/custom_table.rb +198 -0
  495. data/lib/roebe/classes/cut_after_colon.rb +79 -0
  496. data/lib/roebe/classes/cute_emoji.rb +142 -0
  497. data/lib/roebe/classes/daemonize.rb +131 -0
  498. data/lib/roebe/classes/date_sort.rb +149 -0
  499. data/lib/roebe/classes/day_calendar.rb +153 -0
  500. data/lib/roebe/classes/dbus.rb +127 -0
  501. data/lib/roebe/classes/delete_all_directories.rb +100 -0
  502. data/lib/roebe/classes/delete_empty_directories.rb +96 -0
  503. data/lib/roebe/classes/delete_empty_files.rb +158 -0
  504. data/lib/roebe/classes/dhcpcd/README.md +3 -0
  505. data/lib/roebe/classes/dhcpcd/dhcpcd.rb +232 -0
  506. data/lib/roebe/classes/dhcpcd/kill_dhcpcd.rb +75 -0
  507. data/lib/roebe/classes/differences_between_two_directories.rb +140 -0
  508. data/lib/roebe/classes/disable.rb +172 -0
  509. data/lib/roebe/classes/display_gcc_version.rb +135 -0
  510. data/lib/roebe/classes/do_a_google_search.rb +67 -0
  511. data/lib/roebe/classes/do_install.rb +337 -0
  512. data/lib/roebe/classes/done.rb +158 -0
  513. data/lib/roebe/classes/done_and_open.rb +185 -0
  514. data/lib/roebe/classes/doskey_generator.rb +229 -0
  515. data/lib/roebe/classes/downcase_directories.rb +83 -0
  516. data/lib/roebe/classes/downcase_extension.rb +131 -0
  517. data/lib/roebe/classes/download_from_this_url.rb +266 -0
  518. data/lib/roebe/classes/duplicate_files.rb +115 -0
  519. data/lib/roebe/classes/email.rb +881 -0
  520. data/lib/roebe/classes/empty.rb +81 -0
  521. data/lib/roebe/classes/enable.rb +60 -0
  522. data/lib/roebe/classes/enable_autologin.rb +371 -0
  523. data/lib/roebe/classes/english_to_german.rb +128 -0
  524. data/lib/roebe/classes/ethernet.rb +171 -0
  525. data/lib/roebe/classes/euclidian_distance.rb +148 -0
  526. data/lib/roebe/classes/extract_documentation.rb +191 -0
  527. data/lib/roebe/classes/extract_gem_file.rb +208 -0
  528. data/lib/roebe/classes/feet_to_centimetres.rb +106 -0
  529. data/lib/roebe/classes/fetch_url.rb +77 -0
  530. data/lib/roebe/classes/file_filter.rb +143 -0
  531. data/lib/roebe/classes/file_filters/jpg.rb +61 -0
  532. data/lib/roebe/classes/file_parser.rb +126 -0
  533. data/lib/roebe/classes/file_renamer.rb +229 -0
  534. data/lib/roebe/classes/files_that_could_become_apps.rb +91 -0
  535. data/lib/roebe/classes/filter_apache_log.rb +90 -0
  536. data/lib/roebe/classes/find_all_files_encoded_in_iso.rb +95 -0
  537. data/lib/roebe/classes/find_all_files_with_a_question_mark.rb +148 -0
  538. data/lib/roebe/classes/find_duplicate_entries_in_alias_file.rb +191 -0
  539. data/lib/roebe/classes/find_empty_files.rb +85 -0
  540. data/lib/roebe/classes/find_expanded_alias.rb +262 -0
  541. data/lib/roebe/classes/find_out_version_of.rb +186 -0
  542. data/lib/roebe/classes/find_static_libraries.rb +213 -0
  543. data/lib/roebe/classes/fix_mcookie.rb +76 -0
  544. data/lib/roebe/classes/fix_timezone.rb +95 -0
  545. data/lib/roebe/classes/fluxbox/README.md +3 -0
  546. data/lib/roebe/classes/fluxbox/autogenerate_fluxbox_files.rb +20 -0
  547. data/lib/roebe/classes/fluxbox/generate_fluxbox_apps_file.rb +155 -0
  548. data/lib/roebe/classes/fluxbox/generate_fluxbox_keys_file.rb +110 -0
  549. data/lib/roebe/classes/fluxbox/install_fluxbox_style.rb +85 -0
  550. data/lib/roebe/classes/font_installer.rb +139 -0
  551. data/lib/roebe/classes/foto_searcher.rb +351 -0
  552. data/lib/roebe/classes/fotos_f/303/274r_ingrid.rb +53 -0
  553. data/lib/roebe/classes/fragment_maker.rb +141 -0
  554. data/lib/roebe/classes/general_overviewer.rb +258 -0
  555. data/lib/roebe/classes/generate_alsa_conf.rb +133 -0
  556. data/lib/roebe/classes/generate_etc_resolv_conf_file.rb +106 -0
  557. data/lib/roebe/classes/generate_fstab_file/generate_fstab_file.rb +255 -0
  558. data/lib/roebe/classes/generate_gemspec/constants.rb +58 -0
  559. data/lib/roebe/classes/generate_gemspec/generate_gemspec.rb +195 -0
  560. data/lib/roebe/classes/generate_grub_config.rb +186 -0
  561. data/lib/roebe/classes/generate_locales.rb +92 -0
  562. data/lib/roebe/classes/generate_ls_colors.rb +87 -0
  563. data/lib/roebe/classes/generate_master_shell_script.rb +254 -0
  564. data/lib/roebe/classes/generate_nsswitch_conf.rb +95 -0
  565. data/lib/roebe/classes/generate_overview_of_the_locally_available_books.rb +267 -0
  566. data/lib/roebe/classes/generate_protocols.rb +253 -0
  567. data/lib/roebe/classes/generate_rewrite_rules.rb +266 -0
  568. data/lib/roebe/classes/generate_robots_txt_file.rb +97 -0
  569. data/lib/roebe/classes/generate_rtf_file.rb +123 -0
  570. data/lib/roebe/classes/generate_system_values.rb +164 -0
  571. data/lib/roebe/classes/generate_unit_files/README.md +9 -0
  572. data/lib/roebe/classes/generate_unit_files/generate_unit_files.rb +192 -0
  573. data/lib/roebe/classes/generate_xauthority_file.rb +119 -0
  574. data/lib/roebe/classes/generate_xorg_conf/constants.rb +145 -0
  575. data/lib/roebe/classes/generate_xorg_conf/generate_xorg_conf.rb +767 -0
  576. data/lib/roebe/classes/get_dependencies.rb +175 -0
  577. data/lib/roebe/classes/github.rb +60 -0
  578. data/lib/roebe/classes/good_night.rb +72 -0
  579. data/lib/roebe/classes/google_url_cleaner.rb +147 -0
  580. data/lib/roebe/classes/grant_superuser_rights.rb +146 -0
  581. data/lib/roebe/classes/grub/grub_config_generator.rb +176 -0
  582. data/lib/roebe/classes/grub_appender.rb +246 -0
  583. data/lib/roebe/classes/gzip_this_file.rb +86 -0
  584. data/lib/roebe/classes/handle_lighttpd.rb +210 -0
  585. data/lib/roebe/classes/hello_world.rb +60 -0
  586. data/lib/roebe/classes/hex_to_rgb.rb +89 -0
  587. data/lib/roebe/classes/holiday.rb +99 -0
  588. data/lib/roebe/classes/hosts_appender.rb +171 -0
  589. data/lib/roebe/classes/html_form_fetcher.rb +101 -0
  590. data/lib/roebe/classes/icewm/README.md +3 -0
  591. data/lib/roebe/classes/icewm/icewm_keys_generator.rb +162 -0
  592. data/lib/roebe/classes/identical.rb +174 -0
  593. data/lib/roebe/classes/imdb.rb +86 -0
  594. data/lib/roebe/classes/in.rb +156 -0
  595. data/lib/roebe/classes/increment_application_version.rb +306 -0
  596. data/lib/roebe/classes/inhalt.rb +166 -0
  597. data/lib/roebe/classes/inputrc/constants.rb +37 -0
  598. data/lib/roebe/classes/inputrc/inputrc.rb +567 -0
  599. data/lib/roebe/classes/inputrc/misc.rb +11 -0
  600. data/lib/roebe/classes/install_debian_file.rb +165 -0
  601. data/lib/roebe/classes/install_flash/install_flash.rb +179 -0
  602. data/lib/roebe/classes/install_libreoffice/constants.rb +43 -0
  603. data/lib/roebe/classes/install_libreoffice/install_libreoffice.rb +277 -0
  604. data/lib/roebe/classes/install_my_gems.rb +100 -0
  605. data/lib/roebe/classes/install_openssl_certificates.rb +238 -0
  606. data/lib/roebe/classes/install_ruby_project.rb +180 -0
  607. data/lib/roebe/classes/install_wrapper.rb +134 -0
  608. data/lib/roebe/classes/interactive_file_creator.rb +229 -0
  609. data/lib/roebe/classes/into.rb +102 -0
  610. data/lib/roebe/classes/ipaste.rb +88 -0
  611. data/lib/roebe/classes/iso_to_usb.rb +240 -0
  612. data/lib/roebe/classes/java_header.rb +112 -0
  613. data/lib/roebe/classes/java_runner.rb +85 -0
  614. data/lib/roebe/classes/kde/install_this_konsole_theme.rb +87 -0
  615. data/lib/roebe/classes/kde/kde_konsole/constants.rb +54 -0
  616. data/lib/roebe/classes/kde/kde_konsole/help.rb +33 -0
  617. data/lib/roebe/classes/kde/kde_konsole/initialize.rb +40 -0
  618. data/lib/roebe/classes/kde/kde_konsole/kde_konsole.rb +37 -0
  619. data/lib/roebe/classes/kde/kde_konsole/menu.rb +200 -0
  620. data/lib/roebe/classes/kde/kde_konsole/misc.rb +333 -0
  621. data/lib/roebe/classes/kde/kde_konsole/reset.rb +42 -0
  622. data/lib/roebe/classes/kde/kde_konsole/run.rb +22 -0
  623. data/lib/roebe/classes/kde/kde_konsole_send_command.rb +95 -0
  624. data/lib/roebe/classes/kde/kde_servicemenus.rb +83 -0
  625. data/lib/roebe/classes/kde/konsole_new_tab.rb +124 -0
  626. data/lib/roebe/classes/kde/restore_kde.rb +103 -0
  627. data/lib/roebe/classes/kde/return_pid_of_kde_konsole.rb +30 -0
  628. data/lib/roebe/classes/kde/split_kde_konsole_tab_vertically.rb +28 -0
  629. data/lib/roebe/classes/key_value_parser.rb +145 -0
  630. data/lib/roebe/classes/keys_generator/constants.rb +72 -0
  631. data/lib/roebe/classes/keys_generator/keys_generator.rb +328 -0
  632. data/lib/roebe/classes/kill_firefox.rb +126 -0
  633. data/lib/roebe/classes/kill_palemoon.rb +132 -0
  634. data/lib/roebe/classes/last_called_logger/last_called_logger.rb +67 -0
  635. data/lib/roebe/classes/last_line.rb +69 -0
  636. data/lib/roebe/classes/left_hyphen_in_this_file.rb +74 -0
  637. data/lib/roebe/classes/level_subdirectories.rb +126 -0
  638. data/lib/roebe/classes/lighttpd_config_generator.rb +106 -0
  639. data/lib/roebe/classes/lilo_config_generator.rb +403 -0
  640. data/lib/roebe/classes/line_padder.rb +97 -0
  641. data/lib/roebe/classes/lotto/handle_quicktipps.rb +96 -0
  642. data/lib/roebe/classes/lotto/lotto_quicktip.rb +214 -0
  643. data/lib/roebe/classes/make_cookbooks_gem.rb +109 -0
  644. data/lib/roebe/classes/make_gem.rb +280 -0
  645. data/lib/roebe/classes/mark_this_directory.rb +76 -0
  646. data/lib/roebe/classes/married_with_children.rb +110 -0
  647. data/lib/roebe/classes/mate_terminal/rename_mate_terminal.rb +56 -0
  648. data/lib/roebe/classes/mbl.rb +318 -0
  649. data/lib/roebe/classes/meal_maker.rb +88 -0
  650. data/lib/roebe/classes/menu_generator/append_to.rb +35 -0
  651. data/lib/roebe/classes/menu_generator/constants.rb +80 -0
  652. data/lib/roebe/classes/menu_generator/menu_generator.rb +623 -0
  653. data/lib/roebe/classes/merge.rb +121 -0
  654. data/lib/roebe/classes/misc/README.md +2 -0
  655. data/lib/roebe/classes/misc/anteile.rb +91 -0
  656. data/lib/roebe/classes/modify_shebang_header/modify_shebang_header.rb +435 -0
  657. data/lib/roebe/classes/modright.rb +110 -0
  658. data/lib/roebe/classes/monthly_activity_on_rubygems.rb +219 -0
  659. data/lib/roebe/classes/mount_dvd.rb +92 -0
  660. data/lib/roebe/classes/mount_iso_file.rb +108 -0
  661. data/lib/roebe/classes/move_content_of_this_directory_to_that_directory_unless_target_already_exists.rb +119 -0
  662. data/lib/roebe/classes/move_file.rb +234 -0
  663. data/lib/roebe/classes/move_mouse.rb +75 -0
  664. data/lib/roebe/classes/mrxvt.rb +140 -0
  665. data/lib/roebe/classes/mrxvt_options.rb +295 -0
  666. data/lib/roebe/classes/my_default_webrick_server.rb +125 -0
  667. data/lib/roebe/classes/my_ip.rb +69 -0
  668. data/lib/roebe/classes/n_directories.rb +98 -0
  669. data/lib/roebe/classes/n_downloads_on_rubygems_org.rb +246 -0
  670. data/lib/roebe/classes/n_files.rb +71 -0
  671. data/lib/roebe/classes/n_fotos.rb +48 -0
  672. data/lib/roebe/classes/n_gems_exist_in_total.rb +136 -0
  673. data/lib/roebe/classes/n_symlinks.rb +125 -0
  674. data/lib/roebe/classes/nano_config.rb +186 -0
  675. data/lib/roebe/classes/nibble_converter.rb +172 -0
  676. data/lib/roebe/classes/non_symlinks.rb +115 -0
  677. data/lib/roebe/classes/number_files.rb +89 -0
  678. data/lib/roebe/classes/number_to_english.rb +167 -0
  679. data/lib/roebe/classes/nutrition.rb +69 -0
  680. data/lib/roebe/classes/nvidia.rb +83 -0
  681. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/constants.rb +38 -0
  682. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/help.rb +27 -0
  683. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/obtain_audio_recordings_from_voice_recorder.rb +610 -0
  684. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/run.rb +22 -0
  685. data/lib/roebe/classes/on_screen_display.rb +320 -0
  686. data/lib/roebe/classes/one_line_passwords.rb +201 -0
  687. data/lib/roebe/classes/open_pdf.rb +293 -0
  688. data/lib/roebe/classes/open_random_book.rb +129 -0
  689. data/lib/roebe/classes/output_random_line.rb +110 -0
  690. data/lib/roebe/classes/output_text_then_assign_to_the_xorg_buffer.rb +114 -0
  691. data/lib/roebe/classes/package_java_compiler.rb +92 -0
  692. data/lib/roebe/classes/pad_via_quotes.rb +63 -0
  693. data/lib/roebe/classes/paragraph_onto_one_line.rb +73 -0
  694. data/lib/roebe/classes/parse_apache_log/constants.rb +55 -0
  695. data/lib/roebe/classes/parse_apache_log/parse_apache_log.rb +331 -0
  696. data/lib/roebe/classes/pascalsches_dreieck.rb +108 -0
  697. data/lib/roebe/classes/passwords.rb +759 -0
  698. data/lib/roebe/classes/path_generator/constants.rb +68 -0
  699. data/lib/roebe/classes/path_generator/misc.rb +332 -0
  700. data/lib/roebe/classes/path_generator/path_generator.rb +31 -0
  701. data/lib/roebe/classes/path_generator/reset.rb +33 -0
  702. data/lib/roebe/classes/percentage_counter.rb +84 -0
  703. data/lib/roebe/classes/permission_ascii_format.rb +228 -0
  704. data/lib/roebe/classes/php_to_ruby.rb +177 -0
  705. data/lib/roebe/classes/pound_to_kg_converter.rb +86 -0
  706. data/lib/roebe/classes/prepend_this.rb +280 -0
  707. data/lib/roebe/classes/prepend_this_line_to_that_file.rb +259 -0
  708. data/lib/roebe/classes/prepend_this_string_to_every_line_of_this_file.rb +195 -0
  709. data/lib/roebe/classes/prepend_todays_date.rb +67 -0
  710. data/lib/roebe/classes/pristine_gems.rb +71 -0
  711. data/lib/roebe/classes/proper_english.rb +115 -0
  712. data/lib/roebe/classes/publish_gem.rb +249 -0
  713. data/lib/roebe/classes/pull_together.rb +126 -0
  714. data/lib/roebe/classes/purge_files_or_directories.rb +67 -0
  715. data/lib/roebe/classes/purge_gmon_out_files.rb +102 -0
  716. data/lib/roebe/classes/purge_ordoc_directories.rb +66 -0
  717. data/lib/roebe/classes/put_all_gems_into_this_project.rb +326 -0
  718. data/lib/roebe/classes/qemu/README.md +2 -0
  719. data/lib/roebe/classes/qemu/qemu.rb +72 -0
  720. data/lib/roebe/classes/quiz.rb +300 -0
  721. data/lib/roebe/classes/ram.rb +160 -0
  722. data/lib/roebe/classes/random_background.rb +208 -0
  723. data/lib/roebe/classes/random_open.rb +110 -0
  724. data/lib/roebe/classes/rbashrc.rb +160 -0
  725. data/lib/roebe/classes/rdate.rb +259 -0
  726. data/lib/roebe/classes/readme_generator/constants.rb +21 -0
  727. data/lib/roebe/classes/readme_generator/initialize.rb +38 -0
  728. data/lib/roebe/classes/readme_generator/misc.rb +548 -0
  729. data/lib/roebe/classes/readme_generator/readme_generator.rb +11 -0
  730. data/lib/roebe/classes/readme_generator/reset.rb +28 -0
  731. data/lib/roebe/classes/readme_generator/run.rb +20 -0
  732. data/lib/roebe/classes/remote_gems.rb +154 -0
  733. data/lib/roebe/classes/remove_bad_fluxbox_styles.rb +108 -0
  734. data/lib/roebe/classes/remove_comments/autoinclude.rb +3 -0
  735. data/lib/roebe/classes/remove_comments/constants.rb +22 -0
  736. data/lib/roebe/classes/remove_comments/remove_comments.rb +214 -0
  737. data/lib/roebe/classes/remove_directory.rb +212 -0
  738. data/lib/roebe/classes/remove_duplicate_lines.rb +101 -0
  739. data/lib/roebe/classes/remove_extension.rb +95 -0
  740. data/lib/roebe/classes/remove_file_extension.rb +106 -0
  741. data/lib/roebe/classes/remove_gems.rb +182 -0
  742. data/lib/roebe/classes/remove_lighty_logs.rb +66 -0
  743. data/lib/roebe/classes/remove_line.rb +172 -0
  744. data/lib/roebe/classes/remove_localhost.rb +355 -0
  745. data/lib/roebe/classes/remove_missing.rb +107 -0
  746. data/lib/roebe/classes/remove_newlines.rb +116 -0
  747. data/lib/roebe/classes/remove_solo_numbers.rb +85 -0
  748. data/lib/roebe/classes/remove_this_substring_from_all_files.rb +70 -0
  749. data/lib/roebe/classes/replace_global_variables_in_this_file.rb +181 -0
  750. data/lib/roebe/classes/replace_space_with_underscore/replace_space_with_underscore.rb +866 -0
  751. data/lib/roebe/classes/replace_what_with.rb +111 -0
  752. data/lib/roebe/classes/report_how_many_classes_exist_for_this_directory.rb +128 -0
  753. data/lib/roebe/classes/report_same_named_files.rb +88 -0
  754. data/lib/roebe/classes/require_everything.rb +155 -0
  755. data/lib/roebe/classes/return_aliases/return_n_aliases.rb +178 -0
  756. data/lib/roebe/classes/return_aliases/return_ten_aliases.rb +78 -0
  757. data/lib/roebe/classes/return_aliases/return_twenty_aliases.rb +79 -0
  758. data/lib/roebe/classes/return_random_image.rb +83 -0
  759. data/lib/roebe/classes/roman_number_converter.rb +92 -0
  760. data/lib/roebe/classes/ruby_cat.rb +139 -0
  761. data/lib/roebe/classes/ruby_header.rb +122 -0
  762. data/lib/roebe/classes/ruby_main.rb +133 -0
  763. data/lib/roebe/classes/ruby_seq.rb +67 -0
  764. data/lib/roebe/classes/ruby_use_config_file.rb +104 -0
  765. data/lib/roebe/classes/ruby_version_switcher.rb +99 -0
  766. data/lib/roebe/classes/run/menu.rb +87 -0
  767. data/lib/roebe/classes/run/run.rb +746 -0
  768. data/lib/roebe/classes/run_each_line_as_esystem.rb +54 -0
  769. data/lib/roebe/classes/rxinitrc/constants.rb +101 -0
  770. data/lib/roebe/classes/rxinitrc/help.rb +40 -0
  771. data/lib/roebe/classes/rxinitrc/run.rb +25 -0
  772. data/lib/roebe/classes/rxinitrc/rxinitrc.rb +531 -0
  773. data/lib/roebe/classes/scan_for_http_links.rb +114 -0
  774. data/lib/roebe/classes/schlafe.rb +101 -0
  775. data/lib/roebe/classes/send_email.rb +170 -0
  776. data/lib/roebe/classes/serve_local_page.rb +280 -0
  777. data/lib/roebe/classes/set_aliases.rb +372 -0
  778. data/lib/roebe/classes/set_background.rb +113 -0
  779. data/lib/roebe/classes/set_chained.rb +79 -0
  780. data/lib/roebe/classes/set_current_iso.rb +76 -0
  781. data/lib/roebe/classes/set_hwclock.rb +67 -0
  782. data/lib/roebe/classes/set_normal_alias_to.rb +583 -0
  783. data/lib/roebe/classes/setup_chrooted_environment.rb +402 -0
  784. data/lib/roebe/classes/shells/generate_etc_shell_file.rb +107 -0
  785. data/lib/roebe/classes/show_appointments.rb +216 -0
  786. data/lib/roebe/classes/show_available_fonts.rb +146 -0
  787. data/lib/roebe/classes/show_available_users.rb +319 -0
  788. data/lib/roebe/classes/show_kernel_modules.rb +88 -0
  789. data/lib/roebe/classes/show_non_symlinks.rb +98 -0
  790. data/lib/roebe/classes/show_only_files.rb +90 -0
  791. data/lib/roebe/classes/show_prime_numbers.rb +122 -0
  792. data/lib/roebe/classes/show_sigint.rb +50 -0
  793. data/lib/roebe/classes/show_ten_aliases.rb +395 -0
  794. data/lib/roebe/classes/show_twenty_aliases.rb +243 -0
  795. data/lib/roebe/classes/simple_boot_script.rb +358 -0
  796. data/lib/roebe/classes/simple_extractor.rb +104 -0
  797. data/lib/roebe/classes/simple_markdown_parser.rb +274 -0
  798. data/lib/roebe/classes/size_of.rb +234 -0
  799. data/lib/roebe/classes/size_of_states.rb +157 -0
  800. data/lib/roebe/classes/skel_maker/constants.rb +65 -0
  801. data/lib/roebe/classes/skel_maker/skel_maker.rb +230 -0
  802. data/lib/roebe/classes/slogans.rb +283 -0
  803. data/lib/roebe/classes/slow_load.rb +62 -0
  804. data/lib/roebe/classes/sorted_output.rb +86 -0
  805. data/lib/roebe/classes/sourcerank.rb +76 -0
  806. data/lib/roebe/classes/special_symlink.rb +97 -0
  807. data/lib/roebe/classes/start_program.rb +74 -0
  808. data/lib/roebe/classes/std_renamer.rb +285 -0
  809. data/lib/roebe/classes/stories.rb +107 -0
  810. data/lib/roebe/classes/story.rb +177 -0
  811. data/lib/roebe/classes/string_colour_parser.rb +165 -0
  812. data/lib/roebe/classes/sum_of_all_numbers.rb +153 -0
  813. data/lib/roebe/classes/supermerger.rb +121 -0
  814. data/lib/roebe/classes/symlink_all_directories_in_this_directory.rb +101 -0
  815. data/lib/roebe/classes/symlink_directories_from_that_directory_to_the_current_directory.rb +178 -0
  816. data/lib/roebe/classes/symlink_directory.rb +104 -0
  817. data/lib/roebe/classes/symlink_everything_from_that_directory_to_this_directory.rb +196 -0
  818. data/lib/roebe/classes/symlink_files_from_that_directory_to_the_current_directory/symlink_files_from_that_directory_to_the_current_directory.rb +271 -0
  819. data/lib/roebe/classes/syntax_checker.rb +200 -0
  820. data/lib/roebe/classes/system_checker.rb +646 -0
  821. data/lib/roebe/classes/take_screenshot.rb +390 -0
  822. data/lib/roebe/classes/tales_from_the_crypt.rb +552 -0
  823. data/lib/roebe/classes/terminal.rb +62 -0
  824. data/lib/roebe/classes/terminal_ps1.rb +128 -0
  825. data/lib/roebe/classes/test_for_psych.rb +77 -0
  826. data/lib/roebe/classes/test_openssl.rb +200 -0
  827. data/lib/roebe/classes/test_yaml.rb +70 -0
  828. data/lib/roebe/classes/threshold_splitter.rb +96 -0
  829. data/lib/roebe/classes/tic_tac_toe.rb +326 -0
  830. data/lib/roebe/classes/time/current_time_in_singapore.rb +121 -0
  831. data/lib/roebe/classes/time/display_weekdays.rb +78 -0
  832. data/lib/roebe/classes/time/query_world_time.rb +149 -0
  833. data/lib/roebe/classes/time/set_hardware_clock.rb +158 -0
  834. data/lib/roebe/classes/time/trivial_time_parser.rb +162 -0
  835. data/lib/roebe/classes/to_binary.rb +127 -0
  836. data/lib/roebe/classes/to_buy.rb +216 -0
  837. data/lib/roebe/classes/to_next.rb +139 -0
  838. data/lib/roebe/classes/to_squashfs.rb +83 -0
  839. data/lib/roebe/classes/to_tar_bz2.rb +62 -0
  840. data/lib/roebe/classes/to_utf.rb +87 -0
  841. data/lib/roebe/classes/today.rb +67 -0
  842. data/lib/roebe/classes/todo_overview.rb +87 -0
  843. data/lib/roebe/classes/todo_sanitizer.rb +168 -0
  844. data/lib/roebe/classes/top_ten_aliases.rb +104 -0
  845. data/lib/roebe/classes/total_pages_in_finished_books.rb +76 -0
  846. data/lib/roebe/classes/translate.rb +295 -0
  847. data/lib/roebe/classes/traverse_install.rb +268 -0
  848. data/lib/roebe/classes/treeview.rb +186 -0
  849. data/lib/roebe/classes/turn_ruby_file_into_gem.rb +195 -0
  850. data/lib/roebe/classes/twentyfour_hours_notation.rb +174 -0
  851. data/lib/roebe/classes/umlaut_converter.rb +137 -0
  852. data/lib/roebe/classes/undone.rb +126 -0
  853. data/lib/roebe/classes/unicode_snowman.rb +120 -0
  854. data/lib/roebe/classes/unified_padding.rb +144 -0
  855. data/lib/roebe/classes/unrar.rb +95 -0
  856. data/lib/roebe/classes/upcaser.rb +145 -0
  857. data/lib/roebe/classes/update.rb +376 -0
  858. data/lib/roebe/classes/update_static_html_pages_in_the_directory_containing_my_fotos.rb +73 -0
  859. data/lib/roebe/classes/upload_to_imgur.rb +177 -0
  860. data/lib/roebe/classes/upwards_counter.rb +59 -0
  861. data/lib/roebe/classes/usage.rb +158 -0
  862. data/lib/roebe/classes/usb/automount_usb.rb +82 -0
  863. data/lib/roebe/classes/usb/create_bootable_usb.rb +118 -0
  864. data/lib/roebe/classes/usb/usb_devices.rb +188 -0
  865. data/lib/roebe/classes/use_jruby.rb +68 -0
  866. data/lib/roebe/classes/vte.rb +110 -0
  867. data/lib/roebe/classes/wallpaper.rb +177 -0
  868. data/lib/roebe/classes/wayland_or_xorgserver.rb +69 -0
  869. data/lib/roebe/classes/webfancy_controller.rb +229 -0
  870. data/lib/roebe/classes/wikipedia.rb +99 -0
  871. data/lib/roebe/classes/wlan/eduroam/eduroam.rb +133 -0
  872. data/lib/roebe/classes/wlan/wlan.rb +1303 -0
  873. data/lib/roebe/classes/wochentag_anzeiger.rb +220 -0
  874. data/lib/roebe/classes/word_wrap.rb +67 -0
  875. data/lib/roebe/classes/write_what_into.rb +91 -0
  876. data/lib/roebe/classes/xfce/README.md +2 -0
  877. data/lib/roebe/classes/xfce/set_xfce_wallpaper.rb +91 -0
  878. data/lib/roebe/classes/yaml_check.rb +63 -0
  879. data/lib/roebe/classes/youtube_downloader.rb +157 -0
  880. data/lib/roebe/classes/zenity.rb +319 -0
  881. data/lib/roebe/classes/zoll.rb +88 -0
  882. data/lib/roebe/colours/colours.rb +440 -0
  883. data/lib/roebe/commandline/help.rb +125 -0
  884. data/lib/roebe/commandline/menu.rb +753 -0
  885. data/lib/roebe/commandline/misc.rb +278 -0
  886. data/lib/roebe/commandline/parse_commandline.rb +55 -0
  887. data/lib/roebe/configuration/autoinclude.rb +7 -0
  888. data/lib/roebe/configuration/class/configuration.rb +998 -0
  889. data/lib/roebe/configuration/module.rb +35 -0
  890. data/lib/roebe/constants/archive_types.rb +26 -0
  891. data/lib/roebe/constants/array_install_these_gem_projects.rb +115 -0
  892. data/lib/roebe/constants/constants.rb +96 -0
  893. data/lib/roebe/constants/emojis.rb +19 -0
  894. data/lib/roebe/constants/file_and_directory_constants.rb +159 -0
  895. data/lib/roebe/constants/home_of_the_user_called_x.rb +14 -0
  896. data/lib/roebe/constants/misc.rb +143 -0
  897. data/lib/roebe/constants/newline.rb +16 -0
  898. data/lib/roebe/constants/roebe.rb +74 -0
  899. data/lib/roebe/constants/www.rb +43 -0
  900. data/lib/roebe/core/README.md +6 -0
  901. data/lib/roebe/core/array.rb +347 -0
  902. data/lib/roebe/core/dir.rb +126 -0
  903. data/lib/roebe/core/enumerable.rb +25 -0
  904. data/lib/roebe/core/file.rb +140 -0
  905. data/lib/roebe/core/fixnum.rb +155 -0
  906. data/lib/roebe/core/float.rb +86 -0
  907. data/lib/roebe/core/hash.rb +48 -0
  908. data/lib/roebe/core/integer.rb +41 -0
  909. data/lib/roebe/core/kernel.rb +82 -0
  910. data/lib/roebe/core/math.rb +61 -0
  911. data/lib/roebe/core/module.rb +91 -0
  912. data/lib/roebe/core/numeric.rb +64 -0
  913. data/lib/roebe/core/object.rb +53 -0
  914. data/lib/roebe/core/proc.rb +10 -0
  915. data/lib/roebe/core/process.rb +27 -0
  916. data/lib/roebe/core/range.rb +18 -0
  917. data/lib/roebe/core/string.rb +651 -0
  918. data/lib/roebe/core/struct.rb +22 -0
  919. data/lib/roebe/core/windows.rb +758 -0
  920. data/lib/roebe/css/project.css +38 -0
  921. data/lib/roebe/custom_methods/README.md +8 -0
  922. data/lib/roebe/custom_methods/constants.rb +53 -0
  923. data/lib/roebe/custom_methods/custom_methods.rb +5651 -0
  924. data/lib/roebe/dosbox/README.md +5 -0
  925. data/lib/roebe/dosbox/autoexec.conf +114 -0
  926. data/lib/roebe/dosbox/bios.conf +20 -0
  927. data/lib/roebe/dosbox/cpu.conf +42 -0
  928. data/lib/roebe/dosbox/cycles.conf +41 -0
  929. data/lib/roebe/dosbox/dos.conf +55 -0
  930. data/lib/roebe/dosbox/dosbox.conf +34 -0
  931. data/lib/roebe/dosbox/games.conf +37 -0
  932. data/lib/roebe/dosbox/generate_dosbox_config.rb +150 -0
  933. data/lib/roebe/dosbox/gus.conf +26 -0
  934. data/lib/roebe/dosbox/ipx.conf +14 -0
  935. data/lib/roebe/dosbox/keyboard.conf +17 -0
  936. data/lib/roebe/dosbox/midi.conf +18 -0
  937. data/lib/roebe/dosbox/mixer.conf +26 -0
  938. data/lib/roebe/dosbox/render.conf +31 -0
  939. data/lib/roebe/dosbox/sblaster.conf +38 -0
  940. data/lib/roebe/dosbox/sdl.conf +115 -0
  941. data/lib/roebe/dosbox/serial.conf +22 -0
  942. data/lib/roebe/dosbox/speaker.conf +20 -0
  943. data/lib/roebe/editors/README.md +2 -0
  944. data/lib/roebe/editors/ruby_nano.rb +80 -0
  945. data/lib/roebe/editors/vim_paradise/colours.rb +30 -0
  946. data/lib/roebe/editors/vim_paradise/constants.rb +113 -0
  947. data/lib/roebe/editors/vim_paradise/help.rb +37 -0
  948. data/lib/roebe/editors/vim_paradise/menu.rb +62 -0
  949. data/lib/roebe/editors/vim_paradise/run.rb +22 -0
  950. data/lib/roebe/editors/vim_paradise/vim_paradise.rb +630 -0
  951. data/lib/roebe/emoji/README.md +2 -0
  952. data/lib/roebe/emoji/emoji_table.rb +44 -0
  953. data/lib/roebe/encoding/encoding.rb +113 -0
  954. data/lib/roebe/extensions.rb +23 -0
  955. data/lib/roebe/gemrc/gemrc +19 -0
  956. data/lib/roebe/gui/cgi/interactive_caesar_cipher/interactive_caesar_cipher.cgi +56 -0
  957. data/lib/roebe/gui/cgi/md5_comparer/md5_comparer.cgi +83 -0
  958. data/lib/roebe/gui/glimmer/examples/001_hello_world.rb +8 -0
  959. data/lib/roebe/gui/glimmer/examples/002_basic_table_progress_bar.rb +29 -0
  960. data/lib/roebe/gui/glimmer/examples/003_form_table_example.rb +118 -0
  961. data/lib/roebe/gui/glimmer/microsoft_controller/microsoft_controller.rb +58 -0
  962. data/lib/roebe/gui/gtk2/code_generator/code_generator.config +6 -0
  963. data/lib/roebe/gui/gtk2/code_generator/code_generator.rb +39 -0
  964. data/lib/roebe/gui/gtk2/email/email.config +6 -0
  965. data/lib/roebe/gui/gtk2/email/email.rb +31 -0
  966. data/lib/roebe/gui/gtk2/ifconfig/ifconfig.rb +34 -0
  967. data/lib/roebe/gui/gtk2/send_email/send_email.rb +34 -0
  968. data/lib/roebe/gui/gtk2/show_aliases/show_aliases.rb +31 -0
  969. data/lib/roebe/gui/gtk2/show_ten_aliases/show_ten_aliases.rb +34 -0
  970. data/lib/roebe/gui/gtk2/world_capitals/capital_event_box.rb +18 -0
  971. data/lib/roebe/gui/gtk2/world_capitals/frame_for_world_capitals.rb +27 -0
  972. data/lib/roebe/gui/gtk2/world_capitals/world_capitals.rb +31 -0
  973. data/lib/roebe/gui/gtk3/code_generator/code_generator.rb +31 -0
  974. data/lib/roebe/gui/gtk3/email/email.rb +34 -0
  975. data/lib/roebe/gui/gtk3/generate_xorg_configuration/generate_xorg_configuration.rb +223 -0
  976. data/lib/roebe/gui/gtk3/ifconfig/ifconfig.rb +34 -0
  977. data/lib/roebe/gui/gtk3/install_operating_system/install_operating_system.rb +159 -0
  978. data/lib/roebe/gui/gtk3/interactive_caesar_cipher/interactive_caesar_cipher.rb +112 -0
  979. data/lib/roebe/gui/gtk3/md5_comparer/md5_comparer.rb +120 -0
  980. data/lib/roebe/gui/gtk3/os_installer/os_installer.rb +140 -0
  981. data/lib/roebe/gui/gtk3/send_email/send_email.rb +34 -0
  982. data/lib/roebe/gui/gtk3/shell/misc.rb +70 -0
  983. data/lib/roebe/gui/gtk3/shell/shell.rb +392 -0
  984. data/lib/roebe/gui/gtk3/show_aliases/show_aliases.rb +64 -0
  985. data/lib/roebe/gui/gtk3/show_ten_aliases/show_ten_aliases.rb +34 -0
  986. data/lib/roebe/gui/gtk3/system_widget/system_widget.rb +34 -0
  987. data/lib/roebe/gui/gtk3/task_viewer/task_viewer.rb +34 -0
  988. data/lib/roebe/gui/gtk3/todo_viewer/todo_viewer.rb +290 -0
  989. data/lib/roebe/gui/gtk3/wecker/wecker.rb +440 -0
  990. data/lib/roebe/gui/gtk3/wlan_information_center/README.md +9 -0
  991. data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.css +13 -0
  992. data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.rb +708 -0
  993. data/lib/roebe/gui/gtk3/world_capitals/capital_event_box.rb +24 -0
  994. data/lib/roebe/gui/gtk3/world_capitals/frame_for_world_capitals.rb +29 -0
  995. data/lib/roebe/gui/gtk3/world_capitals/world_capitals.rb +24 -0
  996. data/lib/roebe/gui/gtk4/interactive_caesar_cipher/interactive_caesar_cipher.rb +119 -0
  997. data/lib/roebe/gui/gtk4/shell/shell.rb +93 -0
  998. data/lib/roebe/gui/jruby/calculator/calculator.rb +122 -0
  999. data/lib/roebe/gui/jruby/interactive_caesar_cipher/interactive_caesar_cipher.rb +123 -0
  1000. data/lib/roebe/gui/jruby/shell/shell.rb +107 -0
  1001. data/lib/roebe/gui/libui/foto_searcher/foto_searcher.rb +108 -0
  1002. data/lib/roebe/gui/libui/interactive_caesar_cipher/interactive_caesar_cipher.rb +147 -0
  1003. data/lib/roebe/gui/libui/md5_comparer/md5_comparer.rb +89 -0
  1004. data/lib/roebe/gui/libui/microsoft_controller/README.me +3 -0
  1005. data/lib/roebe/gui/libui/microsoft_controller/microsoft_controller.rb +206 -0
  1006. data/lib/roebe/gui/libui/rundll32/rundll32.rb +89 -0
  1007. data/lib/roebe/gui/libui/shell/shell.rb +139 -0
  1008. data/lib/roebe/gui/libui/show_aliases/show_aliases.rb +81 -0
  1009. data/lib/roebe/gui/libui/show_ten_aliases/show_ten_aliases.rb +99 -0
  1010. data/lib/roebe/gui/libui/todo_viewer/todo_viewer.rb +117 -0
  1011. data/lib/roebe/gui/libui/wlan_interface/wlan_interface.rb +140 -0
  1012. data/lib/roebe/gui/shared_code/code_generator/code_generator_module.rb +273 -0
  1013. data/lib/roebe/gui/shared_code/email/email_module.rb +178 -0
  1014. data/lib/roebe/gui/shared_code/ifconfig/ifconfig_module.rb +1163 -0
  1015. data/lib/roebe/gui/shared_code/interactive_caesar_cipher/interactive_caesar_cipher_module.rb +346 -0
  1016. data/lib/roebe/gui/shared_code/md5_comparer/md5_comparer_module.rb +244 -0
  1017. data/lib/roebe/gui/shared_code/microsoft_controller/microsoft_controller_module.rb +215 -0
  1018. data/lib/roebe/gui/shared_code/send_email/send_email.css +0 -0
  1019. data/lib/roebe/gui/shared_code/send_email/send_email_module.rb +291 -0
  1020. data/lib/roebe/gui/shared_code/shell/shell_module.rb +426 -0
  1021. data/lib/roebe/gui/shared_code/show_aliases/show_aliases_module.rb +196 -0
  1022. data/lib/roebe/gui/shared_code/show_ten_aliases/show_ten_aliases_module.rb +315 -0
  1023. data/lib/roebe/gui/shared_code/system_widget/system_widget_module.rb +161 -0
  1024. data/lib/roebe/gui/shared_code/task_viewer/task_viewer_module.rb +222 -0
  1025. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface.css +13 -0
  1026. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_base.rb +0 -0
  1027. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_module.rb +0 -0
  1028. data/lib/roebe/gui/shared_code/world_capitals/capital_event_box_module.rb +201 -0
  1029. data/lib/roebe/gui/shared_code/world_capitals/frame_for_world_capitals_module.rb +80 -0
  1030. data/lib/roebe/gui/shared_code/world_capitals/world_capitals_module.rb +276 -0
  1031. data/lib/roebe/gui/sinatra/md5_comparer/md5_comparer.rb +108 -0
  1032. data/lib/roebe/gui/swing/README.md +6 -0
  1033. data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.class +0 -0
  1034. data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.java +87 -0
  1035. data/lib/roebe/gui/swing/text_editor/TextEditor.class +0 -0
  1036. data/lib/roebe/gui/swing/text_editor/TextEditor.java +248 -0
  1037. data/lib/roebe/gui/unified_widgets/README.md +5 -0
  1038. data/lib/roebe/gui/unified_widgets/interactive_caesar_cipher/interactive_caesar_cipher.rb +137 -0
  1039. data/lib/roebe/hello_world/hello_world.rb +1 -0
  1040. data/lib/roebe/images/ROEBE_LOGO.png +0 -0
  1041. data/lib/roebe/irb/README.md +3 -0
  1042. data/lib/roebe/irb/clean_irbrc +216 -0
  1043. data/lib/roebe/java_roebe/Ant.java +26 -0
  1044. data/lib/roebe/java_roebe/EnglishToGerman.class +0 -0
  1045. data/lib/roebe/java_roebe/EnglishToGerman.java +52 -0
  1046. data/lib/roebe/java_roebe/MoveFile.class +0 -0
  1047. data/lib/roebe/java_roebe/MoveFile.java +50 -0
  1048. data/lib/roebe/java_roebe/MyIp.java +42 -0
  1049. data/lib/roebe/java_roebe/RemoveDirectory.class +0 -0
  1050. data/lib/roebe/java_roebe/RemoveDirectory.java +92 -0
  1051. data/lib/roebe/java_roebe/RemoveLine.class +0 -0
  1052. data/lib/roebe/java_roebe/RemoveLine.java +168 -0
  1053. data/lib/roebe/java_roebe/ReturnRandomImage.class +0 -0
  1054. data/lib/roebe/java_roebe/ReturnRandomImage.java +54 -0
  1055. data/lib/roebe/java_roebe/Schlafe.class +0 -0
  1056. data/lib/roebe/java_roebe/Schlafe.java +65 -0
  1057. data/lib/roebe/java_roebe/SetBackground.class +0 -0
  1058. data/lib/roebe/java_roebe/SetBackground.java +104 -0
  1059. data/lib/roebe/java_roebe/ShowOnlyFiles.class +0 -0
  1060. data/lib/roebe/java_roebe/ShowOnlyFiles.java +86 -0
  1061. data/lib/roebe/java_roebe/ShowPrimeNumbers.class +0 -0
  1062. data/lib/roebe/java_roebe/ShowPrimeNumbers.java +75 -0
  1063. data/lib/roebe/java_roebe/TakeScreenshot.class +0 -0
  1064. data/lib/roebe/java_roebe/TakeScreenshot.java +126 -0
  1065. data/lib/roebe/java_roebe/TalesFromTheCrypt.class +0 -0
  1066. data/lib/roebe/java_roebe/TalesFromTheCrypt.java +128 -0
  1067. data/lib/roebe/java_roebe/ToBinary.class +0 -0
  1068. data/lib/roebe/java_roebe/ToBinary.java +21 -0
  1069. data/lib/roebe/java_roebe/ToBuy.java +94 -0
  1070. data/lib/roebe/java_roebe/ToSquashfs.class +0 -0
  1071. data/lib/roebe/java_roebe/ToSquashfs.java +84 -0
  1072. data/lib/roebe/java_roebe/ToTarBz2.class +0 -0
  1073. data/lib/roebe/java_roebe/ToTarBz2.java +57 -0
  1074. data/lib/roebe/java_roebe/Today.java +71 -0
  1075. data/lib/roebe/java_roebe/TodoOverview.class +0 -0
  1076. data/lib/roebe/java_roebe/TodoOverview.java +78 -0
  1077. data/lib/roebe/java_roebe/Translate.class +0 -0
  1078. data/lib/roebe/java_roebe/Translate.java +93 -0
  1079. data/lib/roebe/java_roebe/TwentyfourHoursNotation.class +0 -0
  1080. data/lib/roebe/java_roebe/TwentyfourHoursNotation.java +60 -0
  1081. data/lib/roebe/java_roebe/Undone.class +0 -0
  1082. data/lib/roebe/java_roebe/Undone.java +143 -0
  1083. data/lib/roebe/java_roebe/UnicodeSnowman.class +0 -0
  1084. data/lib/roebe/java_roebe/UnicodeSnowman.java +48 -0
  1085. data/lib/roebe/java_roebe/Upcaser.class +0 -0
  1086. data/lib/roebe/java_roebe/Upcaser.java +69 -0
  1087. data/lib/roebe/java_roebe/UploadToImgur.class +0 -0
  1088. data/lib/roebe/java_roebe/UploadToImgur.java +97 -0
  1089. data/lib/roebe/java_roebe/UpwardsCounter.class +0 -0
  1090. data/lib/roebe/java_roebe/UpwardsCounter.java +77 -0
  1091. data/lib/roebe/java_roebe/Wikipedia.class +0 -0
  1092. data/lib/roebe/java_roebe/Wikipedia.java +43 -0
  1093. data/lib/roebe/java_roebe/WriteWhatInto.class +0 -0
  1094. data/lib/roebe/java_roebe/WriteWhatInto.java +56 -0
  1095. data/lib/roebe/java_roebe/Zoll.class +0 -0
  1096. data/lib/roebe/java_roebe/Zoll.java +42 -0
  1097. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport$1.class +0 -0
  1098. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.class +0 -0
  1099. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.java +277 -0
  1100. data/lib/roebe/java_roebe/gui/Calculator.class +0 -0
  1101. data/lib/roebe/java_roebe/gui/Calculator.java +287 -0
  1102. data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.class +0 -0
  1103. data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.java +75 -0
  1104. data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.class +0 -0
  1105. data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.java +126 -0
  1106. data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.class +0 -0
  1107. data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.java +128 -0
  1108. data/lib/roebe/java_roebe/java_roebe/Zoll.class +0 -0
  1109. data/lib/roebe/java_roebe/java_roebe/Zoll.java +42 -0
  1110. data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.class +0 -0
  1111. data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.java +50 -0
  1112. data/lib/roebe/jruby/jruby_enhancements.rb +18 -0
  1113. data/lib/roebe/jruby/swing/absolute_positioning_example.rb +75 -0
  1114. data/lib/roebe/jruby/swing/complete_windows_example.rb +90 -0
  1115. data/lib/roebe/jruby/swing/paint_demo.rb +37 -0
  1116. data/lib/roebe/jruby/swing/quit_button_example.rb +54 -0
  1117. data/lib/roebe/jruby/swing/simple_swing_example.rb +33 -0
  1118. data/lib/roebe/jruby/swing/tooltip_example.rb +90 -0
  1119. data/lib/roebe/jruby/swing/two_buttons_example.rb +62 -0
  1120. data/lib/roebe/knowledge_base/knowledge_base.rb +103 -0
  1121. data/lib/roebe/linux/README.md +3 -0
  1122. data/lib/roebe/linux/linux.rb +106 -0
  1123. data/lib/roebe/linux/slackware/remove_pulseaudio.rb +34 -0
  1124. data/lib/roebe/linux/slackware/slackware.rb +122 -0
  1125. data/lib/roebe/math/README.md +4 -0
  1126. data/lib/roebe/math/anagram.rb +42 -0
  1127. data/lib/roebe/math/average_of_differences.rb +41 -0
  1128. data/lib/roebe/math/binning.rb +56 -0
  1129. data/lib/roebe/math/calculate_the_distance_between_two_points.rb +38 -0
  1130. data/lib/roebe/math/calculate_the_variance.rb +45 -0
  1131. data/lib/roebe/math/circle.rb +101 -0
  1132. data/lib/roebe/math/draw_line.rb +25 -0
  1133. data/lib/roebe/math/draw_triangle.rb +26 -0
  1134. data/lib/roebe/math/fact.rb +44 -0
  1135. data/lib/roebe/math/levensthein.rb +69 -0
  1136. data/lib/roebe/math/log10.rb +54 -0
  1137. data/lib/roebe/math/math.rb +314 -0
  1138. data/lib/roebe/math/pi.rb +29 -0
  1139. data/lib/roebe/math/primfaktorzerlegung.rb +105 -0
  1140. data/lib/roebe/math/regel_von_sarrus.rb +70 -0
  1141. data/lib/roebe/math/sphere.rb +126 -0
  1142. data/lib/roebe/math/steigung.rb +59 -0
  1143. data/lib/roebe/math/traurige_oder_fr/303/266hliche_zahl.rb +47 -0
  1144. data/lib/roebe/math/traurige_oder_gl/303/274ckliche_zahl.rb +55 -0
  1145. data/lib/roebe/math/zylinder.rb +59 -0
  1146. data/lib/roebe/mime_types/mime_types.rb +389 -0
  1147. data/lib/roebe/misc/README.md +2 -0
  1148. data/lib/roebe/misc/chrome_extensions/roebe/background.js +1 -0
  1149. data/lib/roebe/misc/chrome_extensions/roebe/commands_to_run.rb +1 -0
  1150. data/lib/roebe/misc/chrome_extensions/roebe/content.js +1 -0
  1151. data/lib/roebe/misc/chrome_extensions/roebe/images/64.png +0 -0
  1152. data/lib/roebe/misc/chrome_extensions/roebe/index.html +130 -0
  1153. data/lib/roebe/misc/chrome_extensions/roebe/manifest.json +22 -0
  1154. data/lib/roebe/misc/chrome_extensions/roebe/popup.html +46 -0
  1155. data/lib/roebe/misc/chrome_extensions/roebe/popup.js +0 -0
  1156. data/lib/roebe/misc/chrome_extensions/roebe/simulate_a_dice.js +28 -0
  1157. data/lib/roebe/misc/fluxbox_keys_file +117 -0
  1158. data/lib/roebe/misc/icewm_keys_file +88 -0
  1159. data/lib/roebe/misc/master_boot_record/master_boot_record +0 -0
  1160. data/lib/roebe/misc/ublock_origin/ublock_origin.md +4 -0
  1161. data/lib/roebe/modules/as_uid.rb +61 -0
  1162. data/lib/roebe/modules/extensions/README.md +2 -0
  1163. data/lib/roebe/modules/extensions/hexapdf.rb +14 -0
  1164. data/lib/roebe/modules/http_status_codes/constants.rb +105 -0
  1165. data/lib/roebe/modules/http_status_codes/http_status_codes.rb +59 -0
  1166. data/lib/roebe/modules/remove_html.rb +61 -0
  1167. data/lib/roebe/mouse/README.md +2 -0
  1168. data/lib/roebe/mouse/libffi_is_not_available.rb +70 -0
  1169. data/lib/roebe/mouse/mouse.rb +205 -0
  1170. data/lib/roebe/nano/README.md +42 -0
  1171. data/lib/roebe/nano/c.md +77 -0
  1172. data/lib/roebe/nano/cpp.md +68 -0
  1173. data/lib/roebe/nano/css.md +16 -0
  1174. data/lib/roebe/nano/fasta.md +10 -0
  1175. data/lib/roebe/nano/general_settings.md +199 -0
  1176. data/lib/roebe/nano/generic.md +52 -0
  1177. data/lib/roebe/nano/html.md +7 -0
  1178. data/lib/roebe/nano/include.md +26 -0
  1179. data/lib/roebe/nano/java.md +31 -0
  1180. data/lib/roebe/nano/mail.md +36 -0
  1181. data/lib/roebe/nano/ml.md +21 -0
  1182. data/lib/roebe/nano/nano.cgi +23 -0
  1183. data/lib/roebe/nano/nanorc.md +16 -0
  1184. data/lib/roebe/nano/nexus.md +12 -0
  1185. data/lib/roebe/nano/opal.md +66 -0
  1186. data/lib/roebe/nano/patch_files.md +12 -0
  1187. data/lib/roebe/nano/perl.md +12 -0
  1188. data/lib/roebe/nano/php.md +26 -0
  1189. data/lib/roebe/nano/python.md +12 -0
  1190. data/lib/roebe/nano/ruby.md +122 -0
  1191. data/lib/roebe/nano/shell_scripts.md +15 -0
  1192. data/lib/roebe/nano/top.md +14 -0
  1193. data/lib/roebe/nano/yaml.md +70 -0
  1194. data/lib/roebe/nano/zzz_misc.md +13 -0
  1195. data/lib/roebe/no_colours.rb +7 -0
  1196. data/lib/roebe/pdf/README.md +1 -0
  1197. data/lib/roebe/pdf/prawn/all_in_one_showcasing_prawn.rb +164 -0
  1198. data/lib/roebe/project/project.rb +77 -0
  1199. data/lib/roebe/python/base/__pycache__/base.cpython-39.pyc +0 -0
  1200. data/lib/roebe/python/base/base.py +40 -0
  1201. data/lib/roebe/python/zoll.py +16 -0
  1202. data/lib/roebe/requires/basic_common_requires.rb +18 -0
  1203. data/lib/roebe/requires/colours.rb +7 -0
  1204. data/lib/roebe/requires/failsafe_require_of_beautiful_url.rb +12 -0
  1205. data/lib/roebe/requires/failsafe_require_of_opn.rb +12 -0
  1206. data/lib/roebe/requires/require_all_standalone_classes.rb +65 -0
  1207. data/lib/roebe/requires/require_all_standalone_modules.rb +61 -0
  1208. data/lib/roebe/requires/require_burn_iso.rb +5 -0
  1209. data/lib/roebe/requires/require_kde_konsole.rb +7 -0
  1210. data/lib/roebe/requires/require_menu_generator.rb +7 -0
  1211. data/lib/roebe/requires/require_remove_directory.rb +7 -0
  1212. data/lib/roebe/requires/require_ruby_header.rb +7 -0
  1213. data/lib/roebe/requires/require_the_browser_files.rb +11 -0
  1214. data/lib/roebe/requires/require_the_roebe_documentation.rb +11 -0
  1215. data/lib/roebe/requires/require_the_roebe_shell.rb +22 -0
  1216. data/lib/roebe/requires/require_the_run_class.rb +7 -0
  1217. data/lib/roebe/requires/require_the_toplevel_methods.rb +11 -0
  1218. data/lib/roebe/requires/require_the_whole_roebe_project.rb +75 -0
  1219. data/lib/roebe/requires/require_traverse_install.rb +7 -0
  1220. data/lib/roebe/requires/require_unicode.rb +31 -0
  1221. data/lib/roebe/requires/require_yaml.rb +1 -0
  1222. data/lib/roebe/setup/README.md +1 -0
  1223. data/lib/roebe/setup/setup.rb +1665 -0
  1224. data/lib/roebe/shell/README.md +6 -0
  1225. data/lib/roebe/shell/colours/colour_codes.rb +178 -0
  1226. data/lib/roebe/shell/colours/colours.rb +331 -0
  1227. data/lib/roebe/shell/commandline/commandline.rb +404 -0
  1228. data/lib/roebe/shell/configuration/configuration.rb +165 -0
  1229. data/lib/roebe/shell/gui/gtk3/vte_terminal_frame.rb +77 -0
  1230. data/lib/roebe/shell/help/colourized_help_line.rb +183 -0
  1231. data/lib/roebe/shell/help/documented_help_options.rb +254 -0
  1232. data/lib/roebe/shell/help/help.rb +105 -0
  1233. data/lib/roebe/shell/module_methods/anmeldung.rb +75 -0
  1234. data/lib/roebe/shell/module_methods/available_components.rb +78 -0
  1235. data/lib/roebe/shell/module_methods/benchmarks.rb +70 -0
  1236. data/lib/roebe/shell/module_methods/commandline_arguments.rb +35 -0
  1237. data/lib/roebe/shell/module_methods/encoding.rb +95 -0
  1238. data/lib/roebe/shell/module_methods/ftp.rb +65 -0
  1239. data/lib/roebe/shell/module_methods/generate_tab_completion.rb +96 -0
  1240. data/lib/roebe/shell/module_methods/home_directory.rb +108 -0
  1241. data/lib/roebe/shell/module_methods/main_file.rb +41 -0
  1242. data/lib/roebe/shell/module_methods/misc.rb +181 -0
  1243. data/lib/roebe/shell/module_methods/report_where_the_home_directory_can_be_found.rb +35 -0
  1244. data/lib/roebe/shell/module_methods/startup_time.rb +34 -0
  1245. data/lib/roebe/shell/project/project.rb +47 -0
  1246. data/lib/roebe/shell/session/session.rb +205 -0
  1247. data/lib/roebe/shell/shell/constants.rb +272 -0
  1248. data/lib/roebe/shell/shell/menu_for_the_main_loop.rb +8380 -0
  1249. data/lib/roebe/shell/shell/shell.rb +24639 -0
  1250. data/lib/roebe/shell/shellrc_parser/shellrc_parser.rb +276 -0
  1251. data/lib/roebe/shell/standalone_classes/time_converter.rb +86 -0
  1252. data/lib/roebe/shell/standalone_classes/todo.rb +100 -0
  1253. data/lib/roebe/shell/yaml/configuration/autoconvert_numbers.yml +1 -0
  1254. data/lib/roebe/shell/yaml/configuration/be_verbose.yml +1 -0
  1255. data/lib/roebe/shell/yaml/configuration/cd_burn_program.yml +1 -0
  1256. data/lib/roebe/shell/yaml/configuration/check_for_isos.yml +1 -0
  1257. data/lib/roebe/shell/yaml/configuration/check_upcoming_exams.yml +1 -0
  1258. data/lib/roebe/shell/yaml/configuration/collapse.yml +1 -0
  1259. data/lib/roebe/shell/yaml/configuration/colours.yml +10 -0
  1260. data/lib/roebe/shell/yaml/configuration/debug.yml +1 -0
  1261. data/lib/roebe/shell/yaml/configuration/default_browser_location.yml +1 -0
  1262. data/lib/roebe/shell/yaml/configuration/default_delay.yml +1 -0
  1263. data/lib/roebe/shell/yaml/configuration/default_file_action.yml +1 -0
  1264. data/lib/roebe/shell/yaml/configuration/dictionaries.yml +2 -0
  1265. data/lib/roebe/shell/yaml/configuration/display_index.yml +1 -0
  1266. data/lib/roebe/shell/yaml/configuration/do_show_modification_time.yml +1 -0
  1267. data/lib/roebe/shell/yaml/configuration/dvd_burn_program.yml +1 -0
  1268. data/lib/roebe/shell/yaml/configuration/editor.yml +1 -0
  1269. data/lib/roebe/shell/yaml/configuration/enter_extracted_directory.yml +1 -0
  1270. data/lib/roebe/shell/yaml/configuration/events.yml +2 -0
  1271. data/lib/roebe/shell/yaml/configuration/guess_directory_name.yml +1 -0
  1272. data/lib/roebe/shell/yaml/configuration/jumper_directories.yml +9 -0
  1273. data/lib/roebe/shell/yaml/configuration/last_directory.yml +1 -0
  1274. data/lib/roebe/shell/yaml/configuration/logfile_for_history.yml +1 -0
  1275. data/lib/roebe/shell/yaml/configuration/may_we_generate_file_skeleton.yml +1 -0
  1276. data/lib/roebe/shell/yaml/configuration/may_we_use_ftp.yml +1 -0
  1277. data/lib/roebe/shell/yaml/configuration/mplayer_favourite_files.yml +1 -0
  1278. data/lib/roebe/shell/yaml/configuration/official_release.yml +1 -0
  1279. data/lib/roebe/shell/yaml/configuration/open_downloaded_pdf_files_at_once.yml +1 -0
  1280. data/lib/roebe/shell/yaml/configuration/operating_system.yml +1 -0
  1281. data/lib/roebe/shell/yaml/configuration/padding.yml +1 -0
  1282. data/lib/roebe/shell/yaml/configuration/pdf_viewer.yml +1 -0
  1283. data/lib/roebe/shell/yaml/configuration/preferred_encoding.yml +1 -0
  1284. data/lib/roebe/shell/yaml/configuration/protected_directories.yml +8 -0
  1285. data/lib/roebe/shell/yaml/configuration/remove_globbed_files.yml +1 -0
  1286. data/lib/roebe/shell/yaml/configuration/run_simulation.yml +1 -0
  1287. data/lib/roebe/shell/yaml/configuration/shall_we_log_the_user_input_history.yml +1 -0
  1288. data/lib/roebe/shell/yaml/configuration/shell_name.yml +1 -0
  1289. data/lib/roebe/shell/yaml/configuration/shell_prompt.yml +1 -0
  1290. data/lib/roebe/shell/yaml/configuration/shorten_directory_names.yml +1 -0
  1291. data/lib/roebe/shell/yaml/configuration/show_absolute_path.yml +1 -0
  1292. data/lib/roebe/shell/yaml/configuration/show_condensed_permissions.yml +1 -0
  1293. data/lib/roebe/shell/yaml/configuration/show_hidden_files.yml +1 -0
  1294. data/lib/roebe/shell/yaml/configuration/show_n_lines.yml +1 -0
  1295. data/lib/roebe/shell/yaml/configuration/simplified.yml +1 -0
  1296. data/lib/roebe/shell/yaml/configuration/stop_on_missing_symlink.yml +1 -0
  1297. data/lib/roebe/shell/yaml/configuration/title_renamer.yml +1 -0
  1298. data/lib/roebe/shell/yaml/configuration/translate_unknown_words.yml +1 -0
  1299. data/lib/roebe/shell/yaml/configuration/truncate_long_file_names.yml +1 -0
  1300. data/lib/roebe/shell/yaml/configuration/upload_screenshots.yml +1 -0
  1301. data/lib/roebe/shell/yaml/configuration/use_aliases.yml +1 -0
  1302. data/lib/roebe/shell/yaml/configuration/use_colours.yml +1 -0
  1303. data/lib/roebe/shell/yaml/configuration/use_dictionary.yml +1 -0
  1304. data/lib/roebe/shell/yaml/configuration/use_irb_drop.yml +1 -0
  1305. data/lib/roebe/shell/yaml/configuration/use_irc.yml +1 -0
  1306. data/lib/roebe/shell/yaml/configuration/use_konsole_colours.yml +1 -0
  1307. data/lib/roebe/shell/yaml/configuration/use_readline.yml +1 -0
  1308. data/lib/roebe/shell/yaml/configuration/video_collection.yml +1 -0
  1309. data/lib/roebe/shell/yaml/configuration/video_player.yml +1 -0
  1310. data/lib/roebe/shell/yaml/configuration/which_bin_shell_to_use.yml +1 -0
  1311. data/lib/roebe/shell/yaml/configuration/which_shell.yml +1 -0
  1312. data/lib/roebe/shell/yaml/default_apps.yml +7 -0
  1313. data/lib/roebe/shell/yaml/ignore_these_last_commands.yml +12 -0
  1314. data/lib/roebe/shell/yaml/lazy_load_these_components.yml +51 -0
  1315. data/lib/roebe/shell_scripts/README.md +13 -0
  1316. data/lib/roebe/shell_scripts/bashrc +39 -0
  1317. data/lib/roebe/shell_scripts/check_bootloader.sh +30 -0
  1318. data/lib/roebe/shell_scripts/cliner.sh +98 -0
  1319. data/lib/roebe/shell_scripts/colour_grey_matrix.sh +7 -0
  1320. data/lib/roebe/shell_scripts/coloured_calendar.sh +25 -0
  1321. data/lib/roebe/shell_scripts/compile_ruby.sh +58 -0
  1322. data/lib/roebe/shell_scripts/completion_for_rf.sh +1065 -0
  1323. data/lib/roebe/shell_scripts/count_down.sh +13 -0
  1324. data/lib/roebe/shell_scripts/create_new_file.sh +25 -0
  1325. data/lib/roebe/shell_scripts/custom_prompts.sh +39 -0
  1326. data/lib/roebe/shell_scripts/do_install.sh +24 -0
  1327. data/lib/roebe/shell_scripts/do_stripped_install.sh +22 -0
  1328. data/lib/roebe/shell_scripts/echo_loop_example.sh +4 -0
  1329. data/lib/roebe/shell_scripts/extname.sh +21 -0
  1330. data/lib/roebe/shell_scripts/extract.sh +42 -0
  1331. data/lib/roebe/shell_scripts/extract_archive.sh +59 -0
  1332. data/lib/roebe/shell_scripts/first_character.sh +31 -0
  1333. data/lib/roebe/shell_scripts/how_to_obtain_user_input.sh +17 -0
  1334. data/lib/roebe/shell_scripts/install_base_roebe.sh +41 -0
  1335. data/lib/roebe/shell_scripts/lfs/001_binutils_1.sh +19 -0
  1336. data/lib/roebe/shell_scripts/lfs/002_gcc_1.sh +36 -0
  1337. data/lib/roebe/shell_scripts/lfs/003_linux_1.sh +23 -0
  1338. data/lib/roebe/shell_scripts/lfs/004_glibc_1.sh +42 -0
  1339. data/lib/roebe/shell_scripts/lfs/005_libstdc++_1.sh +25 -0
  1340. data/lib/roebe/shell_scripts/lfs/006_m4_2.sh +22 -0
  1341. data/lib/roebe/shell_scripts/lfs/007_ncurses_2.sh +39 -0
  1342. data/lib/roebe/shell_scripts/lfs/008_bash_2.sh +21 -0
  1343. data/lib/roebe/shell_scripts/lfs/009_coreutils_2.sh +25 -0
  1344. data/lib/roebe/shell_scripts/lfs/010_diffutils_2.sh +20 -0
  1345. data/lib/roebe/shell_scripts/lfs/011_file_2.sh +25 -0
  1346. data/lib/roebe/shell_scripts/lfs/012_findutils_2.sh +20 -0
  1347. data/lib/roebe/shell_scripts/lfs/013_gawk_2.sh +21 -0
  1348. data/lib/roebe/shell_scripts/lfs/014_grep_2.sh +20 -0
  1349. data/lib/roebe/shell_scripts/lfs/015_gzip_2.sh +20 -0
  1350. data/lib/roebe/shell_scripts/lfs/016_make_2.sh +20 -0
  1351. data/lib/roebe/shell_scripts/lfs/017_patch_2.sh +17 -0
  1352. data/lib/roebe/shell_scripts/lfs/018_sed_2.sh +19 -0
  1353. data/lib/roebe/shell_scripts/lfs/019_tar_2.sh +16 -0
  1354. data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +15 -0
  1355. data/lib/roebe/shell_scripts/lfs/021_binutils_2.sh +30 -0
  1356. data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +50 -0
  1357. data/lib/roebe/shell_scripts/lfs/README.md +28 -0
  1358. data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +251 -0
  1359. data/lib/roebe/shell_scripts/lfs/lfs_variables.sh +31 -0
  1360. data/lib/roebe/shell_scripts/lfs/libstdc++_2.sh +20 -0
  1361. data/lib/roebe/shell_scripts/lfs/ruby_2.sh +11 -0
  1362. data/lib/roebe/shell_scripts/list_colours.sh +25 -0
  1363. data/lib/roebe/shell_scripts/locales.sh +15 -0
  1364. data/lib/roebe/shell_scripts/loop_example.sh +5 -0
  1365. data/lib/roebe/shell_scripts/lower.sh +21 -0
  1366. data/lib/roebe/shell_scripts/misc.sh +327 -0
  1367. data/lib/roebe/shell_scripts/musl_cross_compiler.sh +178 -0
  1368. data/lib/roebe/shell_scripts/no_caps.sh +16 -0
  1369. data/lib/roebe/shell_scripts/number_guessing_game.sh +37 -0
  1370. data/lib/roebe/shell_scripts/parameters_example.sh +58 -0
  1371. data/lib/roebe/shell_scripts/query_parameters.sh +58 -0
  1372. data/lib/roebe/shell_scripts/remove_broken_symlinks_in_the_current_working_directory.sh +1 -0
  1373. data/lib/roebe/shell_scripts/reset_path.sh +15 -0
  1374. data/lib/roebe/shell_scripts/return_random_file.sh +20 -0
  1375. data/lib/roebe/shell_scripts/run_gobo_fixes.sh +17 -0
  1376. data/lib/roebe/shell_scripts/shell_file_containing_the_html_colours.sh +148 -0
  1377. data/lib/roebe/shell_scripts/show_semigraphic_characters.sh +14 -0
  1378. data/lib/roebe/shell_scripts/show_site_ruby.sh +15 -0
  1379. data/lib/roebe/shell_scripts/source_in_all_completions.sh +9 -0
  1380. data/lib/roebe/shell_scripts/true_ata.sh +34 -0
  1381. data/lib/roebe/shell_scripts/truecolour_line.sh +13 -0
  1382. data/lib/roebe/shell_scripts/zenity_count_to_100.sh +5 -0
  1383. data/lib/roebe/sinatra/README.md +6 -0
  1384. data/lib/roebe/sinatra/erb_example/erb_example.erb +10 -0
  1385. data/lib/roebe/sinatra/erb_example/erb_example.rb +13 -0
  1386. data/lib/roebe/sinatra/inline_template_example/inline_template_example.rb +27 -0
  1387. data/lib/roebe/sinatra/modify_http_response_headers_example/modify_http_response_headers_example.rb +13 -0
  1388. data/lib/roebe/sinatra/multi_urls/multi_urls.rb +29 -0
  1389. data/lib/roebe/sinatra/optional_route.rb +19 -0
  1390. data/lib/roebe/sinatra/query_the_name/query_the_name.rb +7 -0
  1391. data/lib/roebe/sinatra/rock_paper_and_scissors_example/rock_paper_and_scissors_example.rb +51 -0
  1392. data/lib/roebe/sinatra/route_definition_examples/route_definition_examples.rb +25 -0
  1393. data/lib/roebe/sinatra/send_file_example/send_file_example.rb +54 -0
  1394. data/lib/roebe/sinatra/session_counter/session_counter.rb +51 -0
  1395. data/lib/roebe/sinatra/show_the_environment_variables/show_the_environment_variables.rb +9 -0
  1396. data/lib/roebe/sinatra/simple_authentication/simple_authentication.rb +25 -0
  1397. data/lib/roebe/sinatra/simple_hello_world/simple_hello_world.rb +5 -0
  1398. data/lib/roebe/sinatra/sinatra_authentication_example/sinatra_authentication_example.rb +117 -0
  1399. data/lib/roebe/sinatra/sinatra_example_with_rack_component/sinatra_example_with_rack_component.rb +15 -0
  1400. data/lib/roebe/sinatra/subclassing_sinatra_example/subclassing_sinatra_example.rb +19 -0
  1401. data/lib/roebe/snippets/README.md +1 -0
  1402. data/lib/roebe/snippets/first_argument.rb +5 -0
  1403. data/lib/roebe/snippets/obtain_all_descendants.rb +31 -0
  1404. data/lib/roebe/sql_paradise/commands.rb +604 -0
  1405. data/lib/roebe/sql_paradise/create_database.rb +43 -0
  1406. data/lib/roebe/sql_paradise/create_table.rb +47 -0
  1407. data/lib/roebe/sql_paradise/insert_into.rb +77 -0
  1408. data/lib/roebe/sql_paradise/sql_command.rb +22 -0
  1409. data/lib/roebe/sql_paradise/sql_paradise.rb +180 -0
  1410. data/lib/roebe/time/README.md +6 -0
  1411. data/lib/roebe/time/seconds.rb +79 -0
  1412. data/lib/roebe/time/time.rb +196 -0
  1413. data/lib/roebe/toplevel_methods/arrow_keys.rb +37 -0
  1414. data/lib/roebe/toplevel_methods/ascii_paradise.rb +23 -0
  1415. data/lib/roebe/toplevel_methods/autoprune.rb +40 -0
  1416. data/lib/roebe/toplevel_methods/background.rb +89 -0
  1417. data/lib/roebe/toplevel_methods/base64.rb +37 -0
  1418. data/lib/roebe/toplevel_methods/beautify_system.rb +25 -0
  1419. data/lib/roebe/toplevel_methods/blinking_cursor.rb +88 -0
  1420. data/lib/roebe/toplevel_methods/boku_opening_times.rb +30 -0
  1421. data/lib/roebe/toplevel_methods/build_all_my_local_gems.rb +39 -0
  1422. data/lib/roebe/toplevel_methods/bundle_exam_results.rb +48 -0
  1423. data/lib/roebe/toplevel_methods/c_debug.rb +22 -0
  1424. data/lib/roebe/toplevel_methods/calculate_bmi.rb +41 -0
  1425. data/lib/roebe/toplevel_methods/calculate_hypotenuse.rb +26 -0
  1426. data/lib/roebe/toplevel_methods/chained.rb +19 -0
  1427. data/lib/roebe/toplevel_methods/chdir.rb +44 -0
  1428. data/lib/roebe/toplevel_methods/check_whether_an_internet_connection_is_available.rb +38 -0
  1429. data/lib/roebe/toplevel_methods/chroot.rb +170 -0
  1430. data/lib/roebe/toplevel_methods/cliner.rb +72 -0
  1431. data/lib/roebe/toplevel_methods/colourize_files_and_directories.rb +69 -0
  1432. data/lib/roebe/toplevel_methods/colourized_tokenitor.rb +56 -0
  1433. data/lib/roebe/toplevel_methods/convert_global_env.rb +34 -0
  1434. data/lib/roebe/toplevel_methods/copy_setup_rb_file.rb +27 -0
  1435. data/lib/roebe/toplevel_methods/copy_the_linux_kernel.rb +38 -0
  1436. data/lib/roebe/toplevel_methods/cp_to_here.rb +34 -0
  1437. data/lib/roebe/toplevel_methods/crazy_make_mode.rb +70 -0
  1438. data/lib/roebe/toplevel_methods/create_directory.rb +35 -0
  1439. data/lib/roebe/toplevel_methods/create_directory_layout.rb +58 -0
  1440. data/lib/roebe/toplevel_methods/create_this_c_file.rb +36 -0
  1441. data/lib/roebe/toplevel_methods/disable.rb +27 -0
  1442. data/lib/roebe/toplevel_methods/display_array.rb +97 -0
  1443. data/lib/roebe/toplevel_methods/display_mbr.rb +33 -0
  1444. data/lib/roebe/toplevel_methods/does_this_program_exist.rb +57 -0
  1445. data/lib/roebe/toplevel_methods/does_this_terminal_support_unicode.rb +27 -0
  1446. data/lib/roebe/toplevel_methods/downcase_all_entries_in_the_current_directory.rb +43 -0
  1447. data/lib/roebe/toplevel_methods/download_certdata.rb +29 -0
  1448. data/lib/roebe/toplevel_methods/download_emojis.rb +48 -0
  1449. data/lib/roebe/toplevel_methods/e.rb +33 -0
  1450. data/lib/roebe/toplevel_methods/editor.rb +47 -0
  1451. data/lib/roebe/toplevel_methods/email.rb +32 -0
  1452. data/lib/roebe/toplevel_methods/enable.rb +27 -0
  1453. data/lib/roebe/toplevel_methods/env.rb +40 -0
  1454. data/lib/roebe/toplevel_methods/esystem.rb +22 -0
  1455. data/lib/roebe/toplevel_methods/extract.rb +53 -0
  1456. data/lib/roebe/toplevel_methods/fibonacci.rb +108 -0
  1457. data/lib/roebe/toplevel_methods/files.rb +361 -0
  1458. data/lib/roebe/toplevel_methods/generate_konsole_css_file.rb +82 -0
  1459. data/lib/roebe/toplevel_methods/grab_colour.rb +31 -0
  1460. data/lib/roebe/toplevel_methods/halloween.rb +105 -0
  1461. data/lib/roebe/toplevel_methods/hello_world.rb +28 -0
  1462. data/lib/roebe/toplevel_methods/heredocs.rb +32 -0
  1463. data/lib/roebe/toplevel_methods/hostname.rb +38 -0
  1464. data/lib/roebe/toplevel_methods/human_readable.rb +41 -0
  1465. data/lib/roebe/toplevel_methods/images.rb +28 -0
  1466. data/lib/roebe/toplevel_methods/important_pdf_files.rb +131 -0
  1467. data/lib/roebe/toplevel_methods/increase_volume.rb +19 -0
  1468. data/lib/roebe/toplevel_methods/install_and_update_rcfiles.rb +26 -0
  1469. data/lib/roebe/toplevel_methods/install_linux_kernel_api_headers.rb +50 -0
  1470. data/lib/roebe/toplevel_methods/install_nss.rb +52 -0
  1471. data/lib/roebe/toplevel_methods/install_roebe_addons.rb +68 -0
  1472. data/lib/roebe/toplevel_methods/install_rust.rb +26 -0
  1473. data/lib/roebe/toplevel_methods/install_the_cascadia_font.rb +59 -0
  1474. data/lib/roebe/toplevel_methods/install_the_hack_font.rb +69 -0
  1475. data/lib/roebe/toplevel_methods/install_the_jet_brains_mono_font.rb +55 -0
  1476. data/lib/roebe/toplevel_methods/install_this_font.rb +80 -0
  1477. data/lib/roebe/toplevel_methods/install_this_locale.rb +30 -0
  1478. data/lib/roebe/toplevel_methods/install_vivaldi.rb +33 -0
  1479. data/lib/roebe/toplevel_methods/instance_variable_get.rb +22 -0
  1480. data/lib/roebe/toplevel_methods/irb.rb +34 -0
  1481. data/lib/roebe/toplevel_methods/is_on_roebe.rb +64 -0
  1482. data/lib/roebe/toplevel_methods/jp2a.rb +49 -0
  1483. data/lib/roebe/toplevel_methods/keywords.rb +43 -0
  1484. data/lib/roebe/toplevel_methods/lighttpd.rb +12 -0
  1485. data/lib/roebe/toplevel_methods/load_custom_ruby_files.rb +41 -0
  1486. data/lib/roebe/toplevel_methods/load_yaml.rb +28 -0
  1487. data/lib/roebe/toplevel_methods/mama.rb +30 -0
  1488. data/lib/roebe/toplevel_methods/master_boot_record.rb +84 -0
  1489. data/lib/roebe/toplevel_methods/math.rb +29 -0
  1490. data/lib/roebe/toplevel_methods/misc.rb +837 -0
  1491. data/lib/roebe/toplevel_methods/module_methods.rb +425 -0
  1492. data/lib/roebe/toplevel_methods/mount_procs.rb +25 -0
  1493. data/lib/roebe/toplevel_methods/move_file.rb +38 -0
  1494. data/lib/roebe/toplevel_methods/move_to_torrent_directory.rb +48 -0
  1495. data/lib/roebe/toplevel_methods/multimedia.rb +117 -0
  1496. data/lib/roebe/toplevel_methods/n_characters_in_this_file.rb +45 -0
  1497. data/lib/roebe/toplevel_methods/nano_addons.rb +36 -0
  1498. data/lib/roebe/toplevel_methods/new_konsole_tab.rb +21 -0
  1499. data/lib/roebe/toplevel_methods/newstud/newstud1.rb +24 -0
  1500. data/lib/roebe/toplevel_methods/newstud/newstud10.rb +24 -0
  1501. data/lib/roebe/toplevel_methods/newstud/newstud11.rb +24 -0
  1502. data/lib/roebe/toplevel_methods/newstud/newstud12.rb +24 -0
  1503. data/lib/roebe/toplevel_methods/newstud/newstud13.rb +24 -0
  1504. data/lib/roebe/toplevel_methods/newstud/newstud14.rb +24 -0
  1505. data/lib/roebe/toplevel_methods/newstud/newstud15.rb +24 -0
  1506. data/lib/roebe/toplevel_methods/newstud/newstud16.rb +24 -0
  1507. data/lib/roebe/toplevel_methods/newstud/newstud17.rb +24 -0
  1508. data/lib/roebe/toplevel_methods/newstud/newstud18.rb +24 -0
  1509. data/lib/roebe/toplevel_methods/newstud/newstud19.rb +24 -0
  1510. data/lib/roebe/toplevel_methods/newstud/newstud2.rb +24 -0
  1511. data/lib/roebe/toplevel_methods/newstud/newstud20.rb +24 -0
  1512. data/lib/roebe/toplevel_methods/newstud/newstud21.rb +24 -0
  1513. data/lib/roebe/toplevel_methods/newstud/newstud22.rb +24 -0
  1514. data/lib/roebe/toplevel_methods/newstud/newstud23.rb +24 -0
  1515. data/lib/roebe/toplevel_methods/newstud/newstud24.rb +24 -0
  1516. data/lib/roebe/toplevel_methods/newstud/newstud25.rb +24 -0
  1517. data/lib/roebe/toplevel_methods/newstud/newstud3.rb +24 -0
  1518. data/lib/roebe/toplevel_methods/newstud/newstud4.rb +24 -0
  1519. data/lib/roebe/toplevel_methods/newstud/newstud5.rb +24 -0
  1520. data/lib/roebe/toplevel_methods/newstud/newstud6.rb +24 -0
  1521. data/lib/roebe/toplevel_methods/newstud/newstud7.rb +24 -0
  1522. data/lib/roebe/toplevel_methods/newstud/newstud8.rb +24 -0
  1523. data/lib/roebe/toplevel_methods/newstud/newstud9.rb +24 -0
  1524. data/lib/roebe/toplevel_methods/newstud.rb +23 -0
  1525. data/lib/roebe/toplevel_methods/no_caps.rb +29 -0
  1526. data/lib/roebe/toplevel_methods/ntrad.rb +36 -0
  1527. data/lib/roebe/toplevel_methods/open_in_browser.rb +30 -0
  1528. data/lib/roebe/toplevel_methods/open_in_editor.rb +29 -0
  1529. data/lib/roebe/toplevel_methods/open_in_editor_and_browser.rb +38 -0
  1530. data/lib/roebe/toplevel_methods/open_ports.rb +67 -0
  1531. data/lib/roebe/toplevel_methods/opnn.rb +31 -0
  1532. data/lib/roebe/toplevel_methods/permanently_set_project_base_directory_to.rb +40 -0
  1533. data/lib/roebe/toplevel_methods/platform.rb +46 -0
  1534. data/lib/roebe/toplevel_methods/pp_output.rb +31 -0
  1535. data/lib/roebe/toplevel_methods/prime_numbers.rb +22 -0
  1536. data/lib/roebe/toplevel_methods/programs_directory.rb +29 -0
  1537. data/lib/roebe/toplevel_methods/purgeboth.rb +51 -0
  1538. data/lib/roebe/toplevel_methods/puts_this.rb +29 -0
  1539. data/lib/roebe/toplevel_methods/rds.rb +33 -0
  1540. data/lib/roebe/toplevel_methods/regex.rb +87 -0
  1541. data/lib/roebe/toplevel_methods/register_sigint.rb +67 -0
  1542. data/lib/roebe/toplevel_methods/remove_user.rb +29 -0
  1543. data/lib/roebe/toplevel_methods/repetition_pattern.rb +38 -0
  1544. data/lib/roebe/toplevel_methods/replace_leading_file_name.rb +35 -0
  1545. data/lib/roebe/toplevel_methods/replace_localhost_with_data.rb +39 -0
  1546. data/lib/roebe/toplevel_methods/report_classes.rb +51 -0
  1547. data/lib/roebe/toplevel_methods/report_the_gtk_versions_available.rb +40 -0
  1548. data/lib/roebe/toplevel_methods/report_the_location_of_the_default_browser.rb +40 -0
  1549. data/lib/roebe/toplevel_methods/require_this_roebe_class.rb +23 -0
  1550. data/lib/roebe/toplevel_methods/return_all_remote_entries_from_this_url.rb +38 -0
  1551. data/lib/roebe/toplevel_methods/return_date.rb +23 -0
  1552. data/lib/roebe/toplevel_methods/return_even_numbered_lines_from_this_file.rb +37 -0
  1553. data/lib/roebe/toplevel_methods/return_pwd.rb +25 -0
  1554. data/lib/roebe/toplevel_methods/rinstall2.rb +115 -0
  1555. data/lib/roebe/toplevel_methods/rubyzip.rb +85 -0
  1556. data/lib/roebe/toplevel_methods/run_this_file_in_the_background.rb +26 -0
  1557. data/lib/roebe/toplevel_methods/sanitize_url.rb +74 -0
  1558. data/lib/roebe/toplevel_methods/set_ten_aliases.rb +25 -0
  1559. data/lib/roebe/toplevel_methods/setup.rb +37 -0
  1560. data/lib/roebe/toplevel_methods/show_beauty_string.rb +27 -0
  1561. data/lib/roebe/toplevel_methods/show_processes.rb +31 -0
  1562. data/lib/roebe/toplevel_methods/silent_redirection.rb +17 -0
  1563. data/lib/roebe/toplevel_methods/sitelibdir.rb +24 -0
  1564. data/lib/roebe/toplevel_methods/studium1.rb +30 -0
  1565. data/lib/roebe/toplevel_methods/time.rb +152 -0
  1566. data/lib/roebe/toplevel_methods/to_bool.rb +31 -0
  1567. data/lib/roebe/toplevel_methods/to_camelcase.rb +19 -0
  1568. data/lib/roebe/toplevel_methods/to_mp3.rb +40 -0
  1569. data/lib/roebe/toplevel_methods/to_underscore.rb +36 -0
  1570. data/lib/roebe/toplevel_methods/tokenitor.rb +29 -0
  1571. data/lib/roebe/toplevel_methods/trad.rb +37 -0
  1572. data/lib/roebe/toplevel_methods/try_to_enable_the_expanded_cd_aliases.rb +64 -0
  1573. data/lib/roebe/toplevel_methods/unicode/README.md +1 -0
  1574. data/lib/roebe/toplevel_methods/unicode/colourful_unicode_snowmen.rb +151 -0
  1575. data/lib/roebe/toplevel_methods/unicode/completed.rb +57 -0
  1576. data/lib/roebe/toplevel_methods/unicode/decompose_this_unicode_symbol.rb +26 -0
  1577. data/lib/roebe/toplevel_methods/unicode/display_unicode_snowman.rb +31 -0
  1578. data/lib/roebe/toplevel_methods/unicode/download_unicode_dataset.rb +31 -0
  1579. data/lib/roebe/toplevel_methods/unicode/map_input_to_unicode_symbol.rb +260 -0
  1580. data/lib/roebe/toplevel_methods/unicode/popular_unicode_symbols.rb +1090 -0
  1581. data/lib/roebe/toplevel_methods/unicode/return_all_unicode_symbols.rb +26 -0
  1582. data/lib/roebe/toplevel_methods/unicode/unicode_block_elements.rb +262 -0
  1583. data/lib/roebe/toplevel_methods/unicode/unicode_chess_symbols.rb +162 -0
  1584. data/lib/roebe/toplevel_methods/update_pciids.rb +71 -0
  1585. data/lib/roebe/toplevel_methods/update_the_main_pdf_viewer_file_with_this_program.rb +58 -0
  1586. data/lib/roebe/toplevel_methods/variables.rb +26 -0
  1587. data/lib/roebe/toplevel_methods/verbose_truth.rb +23 -0
  1588. data/lib/roebe/toplevel_methods/video.rb +39 -0
  1589. data/lib/roebe/toplevel_methods/warning.rb +184 -0
  1590. data/lib/roebe/toplevel_methods/webrick.rb +80 -0
  1591. data/lib/roebe/toplevel_methods/wget.rb +17 -0
  1592. data/lib/roebe/toplevel_methods/whois.rb +36 -0
  1593. data/lib/roebe/toplevel_methods/windows.rb +22 -0
  1594. data/lib/roebe/toplevel_methods/wlan/bring_up_this_wlan_device.rb +51 -0
  1595. data/lib/roebe/toplevel_methods/wlan/scan_for_wlan_spots.rb +39 -0
  1596. data/lib/roebe/toplevel_methods/word_frequencies.rb +65 -0
  1597. data/lib/roebe/toplevel_methods/write_what_into.rb +86 -0
  1598. data/lib/roebe/toplevel_methods/xorg_buffer.rb +30 -0
  1599. data/lib/roebe/toplevel_methods/zlib.rb +57 -0
  1600. data/lib/roebe/urxvt/config +7 -0
  1601. data/lib/roebe/validation/README.md +3 -0
  1602. data/lib/roebe/validation/validate_roeberia_environment_variables.rb +120 -0
  1603. data/lib/roebe/version/version.rb +54 -0
  1604. data/lib/roebe/windows/bat/README.md +1 -0
  1605. data/lib/roebe/windows/bat/compile_gtk_application_hello_world_example.bat +1 -0
  1606. data/lib/roebe/windows/bat/screenCapture.bat +282 -0
  1607. data/lib/roebe/windows/doskey.md +50452 -0
  1608. data/lib/roebe/windows/misc.rb +40 -0
  1609. data/lib/roebe/windows/popup_windows_message_box.rb +21 -0
  1610. data/lib/roebe/windows/powershell.rb +341 -0
  1611. data/lib/roebe/windows/usb_devices.rb +38 -0
  1612. data/lib/roebe/www/1984/1984.cgi +98 -0
  1613. data/lib/roebe/www/BIOS/BIOS.cgi +79 -0
  1614. data/lib/roebe/www/GIS/GIS.cgi +192 -0
  1615. data/lib/roebe/www/GhostBSD/GhostBSD.cgi +7 -0
  1616. data/lib/roebe/www/GhostBSD/GhostBSD.rb +39 -0
  1617. data/lib/roebe/www/GhostBSD/GhostBSD.sinatra +56 -0
  1618. data/lib/roebe/www/HDMI/HDMI.cgi +34 -0
  1619. data/lib/roebe/www/IntelliJ_IDEA/tutorial.cgi +82 -0
  1620. data/lib/roebe/www/LATEX/LATEX.md +29 -0
  1621. data/lib/roebe/www/LEDS/LEDS.cgi +7 -0
  1622. data/lib/roebe/www/LEDS/LEDS.rb +201 -0
  1623. data/lib/roebe/www/LEDS/LEDS.sinatra +58 -0
  1624. data/lib/roebe/www/OLEDS/OLEDS.md +44 -0
  1625. data/lib/roebe/www/PCR/PCR.cgi +106 -0
  1626. data/lib/roebe/www/R/R.cgi +9 -0
  1627. data/lib/roebe/www/R/R.rb +1492 -0
  1628. data/lib/roebe/www/R/R.sinatra +58 -0
  1629. data/lib/roebe/www/R/examples/boxplot_example.R +42 -0
  1630. data/lib/roebe/www/R/functions/functions.R +104 -0
  1631. data/lib/roebe/www/RAM/RAM.cgi +7 -0
  1632. data/lib/roebe/www/RAM/RAM.rb +254 -0
  1633. data/lib/roebe/www/RAM/RAM.sinatra +56 -0
  1634. data/lib/roebe/www/REST/REST.md +12 -0
  1635. data/lib/roebe/www/RNA/RNA.cgi +245 -0
  1636. data/lib/roebe/www/SDL/SDL.cgi +7 -0
  1637. data/lib/roebe/www/SDL/SDL.rb +710 -0
  1638. data/lib/roebe/www/SDL/SDL.sinatra +56 -0
  1639. data/lib/roebe/www/SQL/SQL.cgi +34 -0
  1640. data/lib/roebe/www/T-mobile/vienna.md +2 -0
  1641. data/lib/roebe/www/UNIX/UNIX.cgi +68 -0
  1642. data/lib/roebe/www/X3D/X3D.cgi +7 -0
  1643. data/lib/roebe/www/X3D/X3D.rb +46 -0
  1644. data/lib/roebe/www/X3D/X3D.sinatra +56 -0
  1645. data/lib/roebe/www/abwasch/abwasch.cgi +7 -0
  1646. data/lib/roebe/www/abwasch/abwasch.rb +116 -0
  1647. data/lib/roebe/www/abwasch/abwasch.sinatra +52 -0
  1648. data/lib/roebe/www/adobe_acrobat_reader/content.md +7 -0
  1649. data/lib/roebe/www/aging/aging.cgi +7 -0
  1650. data/lib/roebe/www/aging/aging.rb +1322 -0
  1651. data/lib/roebe/www/aging/aging.sinatra +56 -0
  1652. data/lib/roebe/www/agrarm/303/244rkte/agrarm/303/244rkte.cgi +209 -0
  1653. data/lib/roebe/www/aids/aids.cgi +7 -0
  1654. data/lib/roebe/www/aids/aids.rb +240 -0
  1655. data/lib/roebe/www/aids/aids.sinatra +56 -0
  1656. data/lib/roebe/www/ajax/ajax.cgi +7 -0
  1657. data/lib/roebe/www/ajax/ajax.rb +88 -0
  1658. data/lib/roebe/www/ajax/ajax.sinatra +56 -0
  1659. data/lib/roebe/www/algorithms/algorithms.cgi +7 -0
  1660. data/lib/roebe/www/algorithms/algorithms.rb +262 -0
  1661. data/lib/roebe/www/algorithms/algorithms.sinatra +56 -0
  1662. data/lib/roebe/www/alkohole/alkohole.cgi +61 -0
  1663. data/lib/roebe/www/allegro/allegro.cgi +7 -0
  1664. data/lib/roebe/www/allegro/allegro.rb +396 -0
  1665. data/lib/roebe/www/allegro/allegro.sinatra +56 -0
  1666. data/lib/roebe/www/alsa/alsa.cgi +7 -0
  1667. data/lib/roebe/www/alsa/alsa.rb +313 -0
  1668. data/lib/roebe/www/alsa/alsa.sinatra +56 -0
  1669. data/lib/roebe/www/amino_acids/amino_acids.cgi +7 -0
  1670. data/lib/roebe/www/amino_acids/amino_acids.rb +34 -0
  1671. data/lib/roebe/www/amino_acids/amino_acids.sinatra +56 -0
  1672. data/lib/roebe/www/amusing_bits/fussball_zitate.cgi +7 -0
  1673. data/lib/roebe/www/amusing_bits/fussball_zitate.rb +182 -0
  1674. data/lib/roebe/www/amusing_bits/fussball_zitate.sinatra +56 -0
  1675. data/lib/roebe/www/amusing_bits/george_bush/george_bush.cgi +7 -0
  1676. data/lib/roebe/www/amusing_bits/george_bush/george_bush.rb +189 -0
  1677. data/lib/roebe/www/amusing_bits/george_bush/george_bush.sinatra +56 -0
  1678. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.cgi +7 -0
  1679. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.rb +142 -0
  1680. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.sinatra +56 -0
  1681. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.cgi +9 -0
  1682. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.rb +211 -0
  1683. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.sinatra +56 -0
  1684. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.cgi +7 -0
  1685. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.rb +74 -0
  1686. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.sinatra +56 -0
  1687. data/lib/roebe/www/analytical_chemistry/content.md +2 -0
  1688. data/lib/roebe/www/anthropology/anthropology.cgi +7 -0
  1689. data/lib/roebe/www/anthropology/anthropology.rb +26 -0
  1690. data/lib/roebe/www/anthropology/anthropology.sinatra +56 -0
  1691. data/lib/roebe/www/antibiotics/antibiotics.cgi +68 -0
  1692. data/lib/roebe/www/antibodies/antibodies.cgi +7 -0
  1693. data/lib/roebe/www/antibodies/antibodies.rb +311 -0
  1694. data/lib/roebe/www/antibodies/antibodies.sinatra +56 -0
  1695. data/lib/roebe/www/ants/ants.cgi +7 -0
  1696. data/lib/roebe/www/ants/ants.rb +150 -0
  1697. data/lib/roebe/www/ants/ants.sinatra +56 -0
  1698. data/lib/roebe/www/ants/news.md +90 -0
  1699. data/lib/roebe/www/apache/apache.cgi +7 -0
  1700. data/lib/roebe/www/apache/apache.rb +1164 -0
  1701. data/lib/roebe/www/apache/apache.sinatra +56 -0
  1702. data/lib/roebe/www/apache/configuration/add_handler.conf +26 -0
  1703. data/lib/roebe/www/apache/configuration/add_type.conf +29 -0
  1704. data/lib/roebe/www/apache/configuration/autogenerated_rewrite_rules.conf +66 -0
  1705. data/lib/roebe/www/apache/configuration/document_root.conf +32 -0
  1706. data/lib/roebe/www/apache/configuration/email.conf +8 -0
  1707. data/lib/roebe/www/apache/configuration/error_log.conf +36 -0
  1708. data/lib/roebe/www/apache/configuration/load_modules.conf +48 -0
  1709. data/lib/roebe/www/apache/configuration/mime_module.conf +11 -0
  1710. data/lib/roebe/www/apache/configuration/php.conf +22 -0
  1711. data/lib/roebe/www/apache/configuration/proxy_html_module.conf +6 -0
  1712. data/lib/roebe/www/apache/configuration/rewrite_rules.conf +137 -0
  1713. data/lib/roebe/www/apache/configuration/ruby.conf +13 -0
  1714. data/lib/roebe/www/apache/configuration/server_name.conf +10 -0
  1715. data/lib/roebe/www/apache/configuration/server_root.conf +6 -0
  1716. data/lib/roebe/www/apache/configuration/unixd_module.conf +22 -0
  1717. data/lib/roebe/www/apoptose/apoptose.cgi +31 -0
  1718. data/lib/roebe/www/apple/apple.cgi +7 -0
  1719. data/lib/roebe/www/apple/apple.rb +237 -0
  1720. data/lib/roebe/www/apple/apple.sinatra +56 -0
  1721. data/lib/roebe/www/archaea/archaea.cgi +7 -0
  1722. data/lib/roebe/www/archaea/archaea.rb +540 -0
  1723. data/lib/roebe/www/archaea/archaea.sinatra +56 -0
  1724. data/lib/roebe/www/arduino/arduino.cgi +7 -0
  1725. data/lib/roebe/www/arduino/arduino.rb +275 -0
  1726. data/lib/roebe/www/arduino/arduino.sinatra +56 -0
  1727. data/lib/roebe/www/arduino/sketches/0001_blink.sketch +30 -0
  1728. data/lib/roebe/www/ariolante_and_the_kitten/AriolanteAndTheKitten.rb +92 -0
  1729. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.cgi +7 -0
  1730. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.html +45455 -0
  1731. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.md +104 -0
  1732. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.rb +113 -0
  1733. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.sinatra +61 -0
  1734. data/lib/roebe/www/armaturen/armaturen.cgi +7 -0
  1735. data/lib/roebe/www/armaturen/armaturen.rb +93 -0
  1736. data/lib/roebe/www/armaturen/armaturen.sinatra +56 -0
  1737. data/lib/roebe/www/art/art.cgi +7 -0
  1738. data/lib/roebe/www/art/art.rb +288 -0
  1739. data/lib/roebe/www/art/art.sinatra +52 -0
  1740. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.cgi +7 -0
  1741. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.rb +589 -0
  1742. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.sinatra +56 -0
  1743. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.cgi +7 -0
  1744. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.rb +320 -0
  1745. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.sinatra +56 -0
  1746. data/lib/roebe/www/audacity/audacity.cgi +29 -0
  1747. data/lib/roebe/www/audio/audio.cgi +9 -0
  1748. data/lib/roebe/www/audio/audio.rb +2747 -0
  1749. data/lib/roebe/www/audio/audio.sinatra +56 -0
  1750. data/lib/roebe/www/avisynth/avisynth.cgi +173 -0
  1751. data/lib/roebe/www/bacteria/bacteria.cgi +7 -0
  1752. data/lib/roebe/www/bacteria/bacteria.rb +41 -0
  1753. data/lib/roebe/www/bacteria/bacteria.sinatra +56 -0
  1754. data/lib/roebe/www/batterien/batterien.cgi +9 -0
  1755. data/lib/roebe/www/batterien/batterien.rb +162 -0
  1756. data/lib/roebe/www/batterien/batterien.sinatra +56 -0
  1757. data/lib/roebe/www/beamte/beamte.cgi +7 -0
  1758. data/lib/roebe/www/beamte/beamte.rb +19 -0
  1759. data/lib/roebe/www/beamte/beamte.sinatra +56 -0
  1760. data/lib/roebe/www/beauty/beauty.cgi +9 -0
  1761. data/lib/roebe/www/beauty/beauty.rb +132 -0
  1762. data/lib/roebe/www/beauty/beauty.sinatra +56 -0
  1763. data/lib/roebe/www/best_voices/best_voices.cgi +7 -0
  1764. data/lib/roebe/www/best_voices/best_voices.rb +71 -0
  1765. data/lib/roebe/www/best_voices/best_voices.sinatra +56 -0
  1766. data/lib/roebe/www/biobricks/biobricks.cgi +7 -0
  1767. data/lib/roebe/www/biobricks/biobricks.rb +19 -0
  1768. data/lib/roebe/www/biobricks/biobricks.sinatra +56 -0
  1769. data/lib/roebe/www/biochemistry/biochemistry.cgi +7 -0
  1770. data/lib/roebe/www/biochemistry/biochemistry.rb +403 -0
  1771. data/lib/roebe/www/biochemistry/biochemistry.sinatra +56 -0
  1772. data/lib/roebe/www/biochips/biochips.cgi +26 -0
  1773. data/lib/roebe/www/bioinformatics/bioinformatics.cgi +11 -0
  1774. data/lib/roebe/www/bioinformatics/bioinformatics.rb +416 -0
  1775. data/lib/roebe/www/bioinformatics/bioinformatics.sinatra +56 -0
  1776. data/lib/roebe/www/biology/biology.cgi +134 -0
  1777. data/lib/roebe/www/biology/biology.md +19 -0
  1778. data/lib/roebe/www/biomarkers/biomarkers.cgi +138 -0
  1779. data/lib/roebe/www/biomaterials/biomaterials.cgi +7 -0
  1780. data/lib/roebe/www/biomaterials/biomaterials.rb +349 -0
  1781. data/lib/roebe/www/biomaterials/biomaterials.sinatra +56 -0
  1782. data/lib/roebe/www/biotechnology/biotechnology.cgi +7 -0
  1783. data/lib/roebe/www/biotechnology/biotechnology.rb +525 -0
  1784. data/lib/roebe/www/biotechnology/biotechnology.sinatra +56 -0
  1785. data/lib/roebe/www/blender3d/blender3d.cgi +7 -0
  1786. data/lib/roebe/www/blender3d/blender3d.rb +265 -0
  1787. data/lib/roebe/www/blender3d/blender3d.sinatra +56 -0
  1788. data/lib/roebe/www/blog/blog.cgi +9 -0
  1789. data/lib/roebe/www/blog/blog.rb +258 -0
  1790. data/lib/roebe/www/blog/blog.sinatra +56 -0
  1791. data/lib/roebe/www/bluefish/README.md +5 -0
  1792. data/lib/roebe/www/bluefish/STD.bfproject +62 -0
  1793. data/lib/roebe/www/bluefish/STD.bfproject~ +62 -0
  1794. data/lib/roebe/www/bluefish/TODO.md +6 -0
  1795. data/lib/roebe/www/bodenkunde/bodenkunde.cgi +128 -0
  1796. data/lib/roebe/www/bsd/bsd.cgi +7 -0
  1797. data/lib/roebe/www/bsd/bsd.rb +90 -0
  1798. data/lib/roebe/www/bsd/bsd.sinatra +56 -0
  1799. data/lib/roebe/www/calculator/calculator.cgi +7 -0
  1800. data/lib/roebe/www/calculator/calculator.rb +15 -0
  1801. data/lib/roebe/www/calculator/calculator.sinatra +56 -0
  1802. data/lib/roebe/www/cameras/cameras.cgi +9 -0
  1803. data/lib/roebe/www/cameras/cameras.rb +358 -0
  1804. data/lib/roebe/www/cameras/cameras.sinatra +56 -0
  1805. data/lib/roebe/www/cancer/cancer.cgi +7 -0
  1806. data/lib/roebe/www/cancer/cancer.rb +270 -0
  1807. data/lib/roebe/www/cancer/cancer.sinatra +56 -0
  1808. data/lib/roebe/www/cassette/cassette.cgi +719 -0
  1809. data/lib/roebe/www/cats/cats.cgi +7 -0
  1810. data/lib/roebe/www/cats/cats.rb +310 -0
  1811. data/lib/roebe/www/cats/cats.sinatra +56 -0
  1812. data/lib/roebe/www/cell_cultures/cell_cultures.cgi +378 -0
  1813. data/lib/roebe/www/cellbiology/cellbiology.cgi +7 -0
  1814. data/lib/roebe/www/cellbiology/cellbiology.rb +1110 -0
  1815. data/lib/roebe/www/cellbiology/cellbiology.sinatra +56 -0
  1816. data/lib/roebe/www/cellulose/cellulose.cgi +7 -0
  1817. data/lib/roebe/www/cellulose/cellulose.rb +28 -0
  1818. data/lib/roebe/www/cellulose/cellulose.sinatra +56 -0
  1819. data/lib/roebe/www/chemistry/chemistry.cgi +7 -0
  1820. data/lib/roebe/www/chemistry/chemistry.rb +1961 -0
  1821. data/lib/roebe/www/chemistry/chemistry.sinatra +58 -0
  1822. data/lib/roebe/www/chromatography/content.md +2 -0
  1823. data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.cgi +7 -0
  1824. data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.rb +295 -0
  1825. data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.sinatra +56 -0
  1826. data/lib/roebe/www/cmake/CMakeTemplate.txt +48 -0
  1827. data/lib/roebe/www/cmake/cmake.cgi +7 -0
  1828. data/lib/roebe/www/cmake/cmake.rb +142 -0
  1829. data/lib/roebe/www/cmake/cmake.sinatra +52 -0
  1830. data/lib/roebe/www/codecs/codecs.cgi +94 -0
  1831. data/lib/roebe/www/codepages/codepages.cgi +9 -0
  1832. data/lib/roebe/www/codepages/codepages.rb +17 -0
  1833. data/lib/roebe/www/codepages/codepages.sinatra +56 -0
  1834. data/lib/roebe/www/cognitive_biology/cognitive_biology.cgi +805 -0
  1835. data/lib/roebe/www/cognitive_biology/cognitive_biology.html +40634 -0
  1836. data/lib/roebe/www/compact_disc/compact_disc.cgi +7 -0
  1837. data/lib/roebe/www/compact_disc/compact_disc.rb +124 -0
  1838. data/lib/roebe/www/compact_disc/compact_disc.sinatra +56 -0
  1839. data/lib/roebe/www/compiling/compiling.cgi +9 -0
  1840. data/lib/roebe/www/compiling/compiling.rb +2580 -0
  1841. data/lib/roebe/www/compiling/compiling.sinatra +52 -0
  1842. data/lib/roebe/www/componists/vivaldi.cgi +224 -0
  1843. data/lib/roebe/www/computers/computers.cgi +107 -0
  1844. data/lib/roebe/www/conference_talks/conference_talks.md +11 -0
  1845. data/lib/roebe/www/conky/conky.cgi +7 -0
  1846. data/lib/roebe/www/conky/conky.rb +132 -0
  1847. data/lib/roebe/www/conky/conky.sinatra +56 -0
  1848. data/lib/roebe/www/conky/my_conkyrc_04.02.2020 +83 -0
  1849. data/lib/roebe/www/consumers/consumers.cgi +7 -0
  1850. data/lib/roebe/www/consumers/consumers.rb +23 -0
  1851. data/lib/roebe/www/consumers/consumers.sinatra +56 -0
  1852. data/lib/roebe/www/covid19/covid19.cgi +10 -0
  1853. data/lib/roebe/www/covid19/covid19.rb +2160 -0
  1854. data/lib/roebe/www/covid19/covid19.sinatra +56 -0
  1855. data/lib/roebe/www/creativity/creativity.cgi +9 -0
  1856. data/lib/roebe/www/creativity/creativity.rb +40 -0
  1857. data/lib/roebe/www/creativity/creativity.sinatra +56 -0
  1858. data/lib/roebe/www/crispr/crispr.cgi +7 -0
  1859. data/lib/roebe/www/crispr/crispr.rb +317 -0
  1860. data/lib/roebe/www/crispr/crispr.sinatra +56 -0
  1861. data/lib/roebe/www/cron/cron.cgi +7 -0
  1862. data/lib/roebe/www/cron/cron.rb +99 -0
  1863. data/lib/roebe/www/cron/cron.sinatra +56 -0
  1864. data/lib/roebe/www/cyanobacteria/cyanobacteria.cgi +7 -0
  1865. data/lib/roebe/www/cyanobacteria/cyanobacteria.rb +127 -0
  1866. data/lib/roebe/www/cyanobacteria/cyanobacteria.sinatra +56 -0
  1867. data/lib/roebe/www/cytogenetics/cytogenetics.cgi +7 -0
  1868. data/lib/roebe/www/cytogenetics/cytogenetics.rb +41 -0
  1869. data/lib/roebe/www/cytogenetics/cytogenetics.sinatra +56 -0
  1870. data/lib/roebe/www/databases/databases.cgi +78 -0
  1871. data/lib/roebe/www/databases/postgresql/postgresql.cgi +7 -0
  1872. data/lib/roebe/www/databases/postgresql/postgresql.rb +323 -0
  1873. data/lib/roebe/www/databases/postgresql/postgresql.sinatra +56 -0
  1874. data/lib/roebe/www/databases/postgresql/psqlrc +22 -0
  1875. data/lib/roebe/www/databases/sqlite/sqlite.cgi +7 -0
  1876. data/lib/roebe/www/databases/sqlite/sqlite.rb +625 -0
  1877. data/lib/roebe/www/databases/sqlite/sqlite.sinatra +56 -0
  1878. data/lib/roebe/www/decibel/decibel.cgi +96 -0
  1879. data/lib/roebe/www/designing/SLOGANS.md +3 -0
  1880. data/lib/roebe/www/designing_and_art/designing_and_art.cgi +9 -0
  1881. data/lib/roebe/www/designing_and_art/designing_and_art.rb +755 -0
  1882. data/lib/roebe/www/designing_and_art/designing_and_art.sinatra +56 -0
  1883. data/lib/roebe/www/designing_on_linux/designing_on_linux.cgi +7 -0
  1884. data/lib/roebe/www/designing_on_linux/designing_on_linux.rb +66 -0
  1885. data/lib/roebe/www/designing_on_linux/designing_on_linux.sinatra +56 -0
  1886. data/lib/roebe/www/developmental_biology/developmental_biology.cgi +7 -0
  1887. data/lib/roebe/www/developmental_biology/developmental_biology.rb +503 -0
  1888. data/lib/roebe/www/developmental_biology/developmental_biology.sinatra +56 -0
  1889. data/lib/roebe/www/die_erde/die_erde.cgi +7 -0
  1890. data/lib/roebe/www/die_erde/die_erde.rb +45 -0
  1891. data/lib/roebe/www/die_erde/die_erde.sinatra +56 -0
  1892. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.cgi +7 -0
  1893. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.html +41583 -0
  1894. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.rb +476 -0
  1895. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.sinatra +61 -0
  1896. data/lib/roebe/www/die_katze_im_schnee/DieKatzeImSchnee.rb +80 -0
  1897. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.cgi +7 -0
  1898. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.html +41461 -0
  1899. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.md +185 -0
  1900. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.rb +111 -0
  1901. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.sinatra +61 -0
  1902. data/lib/roebe/www/direct_democracy/direct_democracy.cgi +7 -0
  1903. data/lib/roebe/www/direct_democracy/direct_democracy.rb +45 -0
  1904. data/lib/roebe/www/direct_democracy/direct_democracy.sinatra +56 -0
  1905. data/lib/roebe/www/distcc/distcc.cgi +7 -0
  1906. data/lib/roebe/www/distcc/distcc.rb +78 -0
  1907. data/lib/roebe/www/distcc/distcc.sinatra +56 -0
  1908. data/lib/roebe/www/dna_repair_and_mutations/dna_repair_and_mutations.cgi +448 -0
  1909. data/lib/roebe/www/dna_replication/DNA_replication.cgi +32 -0
  1910. data/lib/roebe/www/documentation/README.md +3 -0
  1911. data/lib/roebe/www/documentation/documentation.rb +98 -0
  1912. data/lib/roebe/www/dolphin/add_to_vlc_playlist.desktop +12 -0
  1913. data/lib/roebe/www/dosbox/autogenerated_dosbox.conf +776 -0
  1914. data/lib/roebe/www/dosbox/dosbox.cgi +7 -0
  1915. data/lib/roebe/www/dosbox/dosbox.rb +241 -0
  1916. data/lib/roebe/www/dosbox/dosbox.sinatra +52 -0
  1917. data/lib/roebe/www/dosboxx/dosboxx.cgi +74 -0
  1918. data/lib/roebe/www/drucker/drucker.cgi +7 -0
  1919. data/lib/roebe/www/drucker/drucker.rb +256 -0
  1920. data/lib/roebe/www/drucker/drucker.sinatra +56 -0
  1921. data/lib/roebe/www/economy/economy.cgi +7 -0
  1922. data/lib/roebe/www/economy/economy.rb +16 -0
  1923. data/lib/roebe/www/economy/economy.sinatra +56 -0
  1924. data/lib/roebe/www/economy/mieten_und_wohnen.cgi +7 -0
  1925. data/lib/roebe/www/economy/mieten_und_wohnen.rb +39 -0
  1926. data/lib/roebe/www/economy/mieten_und_wohnen.sinatra +56 -0
  1927. data/lib/roebe/www/elektrophorese/elektrophorese.cgi +277 -0
  1928. data/lib/roebe/www/emacs/emacs.cgi +7 -0
  1929. data/lib/roebe/www/emacs/emacs.rb +71 -0
  1930. data/lib/roebe/www/emacs/emacs.sinatra +56 -0
  1931. data/lib/roebe/www/embeddable_interface.rb +54 -0
  1932. data/lib/roebe/www/encodings/encodings.cgi +7 -0
  1933. data/lib/roebe/www/encodings/encodings.rb +80 -0
  1934. data/lib/roebe/www/encodings/encodings.sinatra +56 -0
  1935. data/lib/roebe/www/english/english.cgi +7 -0
  1936. data/lib/roebe/www/english/english.rb +62 -0
  1937. data/lib/roebe/www/english/english.sinatra +52 -0
  1938. data/lib/roebe/www/enzymes/enzymes.cgi +53 -0
  1939. data/lib/roebe/www/epigenetics/epigenetics.cgi +75 -0
  1940. data/lib/roebe/www/erben/erben.cgi +7 -0
  1941. data/lib/roebe/www/erben/erben.rb +45 -0
  1942. data/lib/roebe/www/erben/erben.sinatra +56 -0
  1943. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.cgi +7 -0
  1944. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.rb +263 -0
  1945. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.sinatra +56 -0
  1946. data/lib/roebe/www/erste_hilfe/erste_hilfe.cgi +186 -0
  1947. data/lib/roebe/www/ethernet/ethernet.cgi +27 -0
  1948. data/lib/roebe/www/ethik/ethik.md +4 -0
  1949. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.cgi +9 -0
  1950. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.rb +301 -0
  1951. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.sinatra +56 -0
  1952. data/lib/roebe/www/evolution/evolution.cgi +7 -0
  1953. data/lib/roebe/www/evolution/evolution.rb +454 -0
  1954. data/lib/roebe/www/evolution/evolution.sinatra +52 -0
  1955. data/lib/roebe/www/excel/excel.cgi +7 -0
  1956. data/lib/roebe/www/excel/excel.rb +23 -0
  1957. data/lib/roebe/www/excel/excel.sinatra +56 -0
  1958. data/lib/roebe/www/festplatten/festplatten.cgi +7 -0
  1959. data/lib/roebe/www/festplatten/festplatten.rb +839 -0
  1960. data/lib/roebe/www/festplatten/festplatten.sinatra +56 -0
  1961. data/lib/roebe/www/ffmpeg/ffmpeg.cgi +454 -0
  1962. data/lib/roebe/www/fire/fire.cgi +9 -0
  1963. data/lib/roebe/www/fire/fire.rb +803 -0
  1964. data/lib/roebe/www/fire/fire.sinatra +56 -0
  1965. data/lib/roebe/www/firefox/firefox.cgi +11 -0
  1966. data/lib/roebe/www/firefox/firefox.rb +1317 -0
  1967. data/lib/roebe/www/firefox/firefox.sinatra +56 -0
  1968. data/lib/roebe/www/firefox/mozconfig +93 -0
  1969. data/lib/roebe/www/flexible_foto_gallery/README.md +3 -0
  1970. data/lib/roebe/www/flexible_foto_gallery/flexible_foto_gallery.cgi +64 -0
  1971. data/lib/roebe/www/food/food.cgi +7 -0
  1972. data/lib/roebe/www/food/food.rb +369 -0
  1973. data/lib/roebe/www/food/food.sinatra +56 -0
  1974. data/lib/roebe/www/fox/fox.cgi +7 -0
  1975. data/lib/roebe/www/fox/fox.rb +890 -0
  1976. data/lib/roebe/www/fox/fox.sinatra +56 -0
  1977. data/lib/roebe/www/ftp/ftp.cgi +7 -0
  1978. data/lib/roebe/www/ftp/ftp.rb +134 -0
  1979. data/lib/roebe/www/ftp/ftp.sinatra +56 -0
  1980. data/lib/roebe/www/funk/funk.cgi +7 -0
  1981. data/lib/roebe/www/funk/funk.rb +385 -0
  1982. data/lib/roebe/www/funk/funk.sinatra +56 -0
  1983. data/lib/roebe/www/gedichte/gedichte.cgi +7 -0
  1984. data/lib/roebe/www/gedichte/gedichte.rb +13 -0
  1985. data/lib/roebe/www/gedichte/gedichte.sinatra +56 -0
  1986. data/lib/roebe/www/gene_expression/SLOGANS.md +28 -0
  1987. data/lib/roebe/www/gene_expression/gene_expression.cgi +7 -0
  1988. data/lib/roebe/www/gene_expression/gene_expression.rb +209 -0
  1989. data/lib/roebe/www/gene_therapy/06.08.2008_Human_gene_therapy_for_RPE65_isomerase_deficiency.md +29 -0
  1990. data/lib/roebe/www/gene_therapy/28.11.2008_Gentherapie_am_Auge_erfolgreich.md +41 -0
  1991. data/lib/roebe/www/gene_therapy/31.01.2000_Earlier_Gene_Test_Deaths_Not_Reported.md +62 -0
  1992. data/lib/roebe/www/gene_therapy/SLOGANS.md +25 -0
  1993. data/lib/roebe/www/genetic_diseases/genetic_diseases.cgi +142 -0
  1994. data/lib/roebe/www/genetics/genetics.cgi +7 -0
  1995. data/lib/roebe/www/genetics/genetics.rb +1447 -0
  1996. data/lib/roebe/www/genetics/genetics.sinatra +52 -0
  1997. data/lib/roebe/www/genomics/genomics.cgi +7 -0
  1998. data/lib/roebe/www/genomics/genomics.rb +212 -0
  1999. data/lib/roebe/www/genomics/genomics.sinatra +56 -0
  2000. data/lib/roebe/www/geologie/geologie.cgi +156 -0
  2001. data/lib/roebe/www/geometrie/geometrie.cgi +7 -0
  2002. data/lib/roebe/www/geometrie/geometrie.rb +387 -0
  2003. data/lib/roebe/www/geometrie/geometrie.sinatra +56 -0
  2004. data/lib/roebe/www/gesundheit/diabetes/diabetes.cgi +7 -0
  2005. data/lib/roebe/www/gesundheit/diabetes/diabetes.rb +71 -0
  2006. data/lib/roebe/www/gesundheit/diabetes/diabetes.sinatra +56 -0
  2007. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.cgi +7 -0
  2008. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.rb +47 -0
  2009. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.sinatra +56 -0
  2010. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.cgi +7 -0
  2011. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.rb +113 -0
  2012. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.sinatra +56 -0
  2013. data/lib/roebe/www/gimp/gimp.cgi +7 -0
  2014. data/lib/roebe/www/gimp/gimp.rb +1519 -0
  2015. data/lib/roebe/www/gimp/gimp.sinatra +56 -0
  2016. data/lib/roebe/www/ginger_der_bandit/GingerDerBandit.rb +92 -0
  2017. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.cgi +7 -0
  2018. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.html +40757 -0
  2019. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.md +518 -0
  2020. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.rb +119 -0
  2021. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.sinatra +61 -0
  2022. data/lib/roebe/www/git/git.cgi +7 -0
  2023. data/lib/roebe/www/git/git.rb +264 -0
  2024. data/lib/roebe/www/git/git.sinatra +52 -0
  2025. data/lib/roebe/www/git/gitconfig +7 -0
  2026. data/lib/roebe/www/gnuplot/force.dat +16 -0
  2027. data/lib/roebe/www/gnuplot/gnuplot.cgi +7 -0
  2028. data/lib/roebe/www/gnuplot/gnuplot.rb +431 -0
  2029. data/lib/roebe/www/gnuplot/gnuplot.sinatra +56 -0
  2030. data/lib/roebe/www/gnuplot/number_of_eukaryotic_genes.dat +25 -0
  2031. data/lib/roebe/www/google/google.cgi +7 -0
  2032. data/lib/roebe/www/google/google.rb +49 -0
  2033. data/lib/roebe/www/google/google.sinatra +56 -0
  2034. data/lib/roebe/www/graphviz/graphviz.cgi +7 -0
  2035. data/lib/roebe/www/graphviz/graphviz.rb +196 -0
  2036. data/lib/roebe/www/graphviz/graphviz.sinatra +56 -0
  2037. data/lib/roebe/www/grub/README.md +1 -0
  2038. data/lib/roebe/www/grub/grub.cgi +7 -0
  2039. data/lib/roebe/www/grub/grub.rb +615 -0
  2040. data/lib/roebe/www/grub/grub.sinatra +56 -0
  2041. data/lib/roebe/www/grub/std_menu.lst +87 -0
  2042. data/lib/roebe/www/haiku/haiku.cgi +9 -0
  2043. data/lib/roebe/www/haiku/haiku.rb +73 -0
  2044. data/lib/roebe/www/haiku/haiku.sinatra +56 -0
  2045. data/lib/roebe/www/hardware/computersysteme/computersysteme.cgi +7 -0
  2046. data/lib/roebe/www/hardware/computersysteme/computersysteme.rb +517 -0
  2047. data/lib/roebe/www/hardware/computersysteme/computersysteme.sinatra +56 -0
  2048. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.cgi +7 -0
  2049. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.rb +62 -0
  2050. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.sinatra +56 -0
  2051. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.cgi +7 -0
  2052. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.rb +394 -0
  2053. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.sinatra +56 -0
  2054. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.cgi +7 -0
  2055. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.rb +100 -0
  2056. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.sinatra +56 -0
  2057. data/lib/roebe/www/hardware_assembly/hardware_assembly.cgi +10 -0
  2058. data/lib/roebe/www/hardware_assembly/hardware_assembly.rb +265 -0
  2059. data/lib/roebe/www/hardware_assembly/hardware_assembly.sinatra +56 -0
  2060. data/lib/roebe/www/heart/heart.cgi +7 -0
  2061. data/lib/roebe/www/heart/heart.rb +53 -0
  2062. data/lib/roebe/www/heart/heart.sinatra +56 -0
  2063. data/lib/roebe/www/history/KNOWLEDGE_BITS.md +2 -0
  2064. data/lib/roebe/www/history/yaml/scientific_history.yml +1 -0
  2065. data/lib/roebe/www/hiveos/hiveos.cgi +9 -0
  2066. data/lib/roebe/www/hiveos/hiveos.rb +836 -0
  2067. data/lib/roebe/www/hiveos/hiveos.sinatra +56 -0
  2068. data/lib/roebe/www/hormone/hormone.cgi +76 -0
  2069. data/lib/roebe/www/htop/htop.md +1 -0
  2070. data/lib/roebe/www/humans_are_funny/humans_are_funny.cgi +7 -0
  2071. data/lib/roebe/www/humans_are_funny/humans_are_funny.rb +23 -0
  2072. data/lib/roebe/www/humans_are_funny/humans_are_funny.sinatra +52 -0
  2073. data/lib/roebe/www/h/303/244user/h/303/244user.cgi +7 -0
  2074. data/lib/roebe/www/h/303/244user/h/303/244user.rb +115 -0
  2075. data/lib/roebe/www/h/303/244user/h/303/244user.sinatra +56 -0
  2076. data/lib/roebe/www/icewm/icewm.cgi +7 -0
  2077. data/lib/roebe/www/icewm/icewm.rb +34 -0
  2078. data/lib/roebe/www/icewm/icewm.sinatra +56 -0
  2079. data/lib/roebe/www/icewm/keys +88 -0
  2080. data/lib/roebe/www/icewm/menu_file +171 -0
  2081. data/lib/roebe/www/icewm/preferences +1043 -0
  2082. data/lib/roebe/www/icewm/programs +322 -0
  2083. data/lib/roebe/www/icewm/theme +11 -0
  2084. data/lib/roebe/www/icewm/toolbar +7 -0
  2085. data/lib/roebe/www/icewm/winoptions +61 -0
  2086. data/lib/roebe/www/ifpi_austria/ifpi_austria.cgi +7 -0
  2087. data/lib/roebe/www/ifpi_austria/ifpi_austria.rb +351 -0
  2088. data/lib/roebe/www/ifpi_austria/ifpi_austria.sinatra +56 -0
  2089. data/lib/roebe/www/image_formats/image_formats.cgi +50 -0
  2090. data/lib/roebe/www/imagemagick/README.md +45 -0
  2091. data/lib/roebe/www/imagemagick/imagemagick.cgi +31 -0
  2092. data/lib/roebe/www/images/images.cgi +26 -0
  2093. data/lib/roebe/www/immunology/immunology.cgi +7 -0
  2094. data/lib/roebe/www/immunology/immunology.rb +1527 -0
  2095. data/lib/roebe/www/immunology/immunology.sinatra +56 -0
  2096. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.cgi +7 -0
  2097. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.rb +41 -0
  2098. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.sinatra +52 -0
  2099. data/lib/roebe/www/industrial_chemistry/industrial_chemistry.cgi +50 -0
  2100. data/lib/roebe/www/informatik/SLOGANS.md +13 -0
  2101. data/lib/roebe/www/inhaltsverzeichnis/inhaltsverzeichnis.yml +65 -0
  2102. data/lib/roebe/www/inkscape/inkscape.cgi +9 -0
  2103. data/lib/roebe/www/inkscape/inkscape.rb +84 -0
  2104. data/lib/roebe/www/inkscape/inkscape.sinatra +56 -0
  2105. data/lib/roebe/www/inotify/inotify.cgi +39 -0
  2106. data/lib/roebe/www/inspirational_people/inspirational_people.cgi +11 -0
  2107. data/lib/roebe/www/inspirational_people/inspirational_people.rb +645 -0
  2108. data/lib/roebe/www/inspirational_people/inspirational_people.sinatra +56 -0
  2109. data/lib/roebe/www/interesting_linux_distributions/interesting_linux_distributions.md +71 -0
  2110. data/lib/roebe/www/interviews/interviews.cgi +7 -0
  2111. data/lib/roebe/www/interviews/interviews.rb +14 -0
  2112. data/lib/roebe/www/interviews/interviews.sinatra +56 -0
  2113. data/lib/roebe/www/irc/irc.cgi +7 -0
  2114. data/lib/roebe/www/irc/irc.rb +41 -0
  2115. data/lib/roebe/www/irc/irc.sinatra +56 -0
  2116. data/lib/roebe/www/irc_quotes/irc_quotes.md +835 -0
  2117. data/lib/roebe/www/jobs/jobs.cgi +9 -0
  2118. data/lib/roebe/www/jobs/jobs.rb +100 -0
  2119. data/lib/roebe/www/jobs/jobs.sinatra +56 -0
  2120. data/lib/roebe/www/json/example1.json +18 -0
  2121. data/lib/roebe/www/json/json.cgi +7 -0
  2122. data/lib/roebe/www/json/json.rb +32 -0
  2123. data/lib/roebe/www/json/json.sinatra +56 -0
  2124. data/lib/roebe/www/jupyter/content.md +34 -0
  2125. data/lib/roebe/www/kaizen/kaizen.cgi +7 -0
  2126. data/lib/roebe/www/kaizen/kaizen.rb +15 -0
  2127. data/lib/roebe/www/kaizen/kaizen.sinatra +56 -0
  2128. data/lib/roebe/www/kde/DEPRECATED_kde.cgi +1266 -0
  2129. data/lib/roebe/www/kde/kde.cgi +7 -0
  2130. data/lib/roebe/www/kde/kde.rb +60 -0
  2131. data/lib/roebe/www/kde/kde.sinatra +56 -0
  2132. data/lib/roebe/www/kde/konsole_multiple_tabs +10 -0
  2133. data/lib/roebe/www/kde/konsolerc +40 -0
  2134. data/lib/roebe/www/kde/konsoleui.rc +65 -0
  2135. data/lib/roebe/www/kde/yakuakerc +8 -0
  2136. data/lib/roebe/www/klimabonus/klimabonus.md +11 -0
  2137. data/lib/roebe/www/klimawandel/klimawandel.cgi +7 -0
  2138. data/lib/roebe/www/klimawandel/klimawandel.rb +100 -0
  2139. data/lib/roebe/www/klimawandel/klimawandel.sinatra +56 -0
  2140. data/lib/roebe/www/kramdown_viewer/kramdown_viewer.cgi +51 -0
  2141. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.cgi +7 -0
  2142. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.rb +26 -0
  2143. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.sinatra +52 -0
  2144. data/lib/roebe/www/krita/krita.cgi +7 -0
  2145. data/lib/roebe/www/krita/krita.rb +53 -0
  2146. data/lib/roebe/www/krita/krita.sinatra +56 -0
  2147. data/lib/roebe/www/kryptografie/kryptografie.cgi +48 -0
  2148. data/lib/roebe/www/k/303/244se/k/303/244se.cgi +9 -0
  2149. data/lib/roebe/www/k/303/244se/k/303/244se.rb +137 -0
  2150. data/lib/roebe/www/k/303/244se/k/303/244se.sinatra +56 -0
  2151. data/lib/roebe/www/lame/lame.cgi +7 -0
  2152. data/lib/roebe/www/lame/lame.rb +105 -0
  2153. data/lib/roebe/www/lame/lame.sinatra +56 -0
  2154. data/lib/roebe/www/languages/languages.cgi +7 -0
  2155. data/lib/roebe/www/languages/languages.rb +66 -0
  2156. data/lib/roebe/www/languages/languages.sinatra +52 -0
  2157. data/lib/roebe/www/laser/laser.cgi +7 -0
  2158. data/lib/roebe/www/laser/laser.rb +301 -0
  2159. data/lib/roebe/www/laser/laser.sinatra +56 -0
  2160. data/lib/roebe/www/latex/HelloWorld.tex +9 -0
  2161. data/lib/roebe/www/latex/examples/misc/misc.aux +2 -0
  2162. data/lib/roebe/www/latex/examples/misc/misc.log +87 -0
  2163. data/lib/roebe/www/latex/examples/misc/misc.pdf +0 -0
  2164. data/lib/roebe/www/latex/examples/misc/misc.tex +31 -0
  2165. data/lib/roebe/www/latex/examples/numbered_list/numbered_list.tex +31 -0
  2166. data/lib/roebe/www/latex/examples/simple_paragraph/simple_paragraph.tex +4 -0
  2167. data/lib/roebe/www/latex/latex.cgi +7 -0
  2168. data/lib/roebe/www/latex/latex.rb +105 -0
  2169. data/lib/roebe/www/latex/latex.sinatra +56 -0
  2170. data/lib/roebe/www/law/law.cgi +7 -0
  2171. data/lib/roebe/www/law/law.rb +983 -0
  2172. data/lib/roebe/www/law/law.sinatra +56 -0
  2173. data/lib/roebe/www/lego/lego.cgi +7 -0
  2174. data/lib/roebe/www/lego/lego.rb +53 -0
  2175. data/lib/roebe/www/lego/lego.sinatra +52 -0
  2176. data/lib/roebe/www/libreoffice/libreoffice.cgi +9 -0
  2177. data/lib/roebe/www/libreoffice/libreoffice.rb +96 -0
  2178. data/lib/roebe/www/libreoffice/libreoffice.sinatra +56 -0
  2179. data/lib/roebe/www/libreoffice/macros/README.md +4 -0
  2180. data/lib/roebe/www/libreoffice/macros/hello_world.macro +24 -0
  2181. data/lib/roebe/www/libreoffice/macros/hello_world_in_python.py_macro +7 -0
  2182. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_document.docx +0 -0
  2183. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_document.odt +0 -0
  2184. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_presentation.odp +0 -0
  2185. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_spreadsheet.xls +1 -0
  2186. data/lib/roebe/www/licht/licht.cgi +25 -0
  2187. data/lib/roebe/www/light/light.cgi +27 -0
  2188. data/lib/roebe/www/lighttpd/autogenerated_lighttpd.conf +428 -0
  2189. data/lib/roebe/www/lighttpd/configuration/cgi.conf +21 -0
  2190. data/lib/roebe/www/lighttpd/configuration/dir_listing.conf +15 -0
  2191. data/lib/roebe/www/lighttpd/configuration/document_root.conf +11 -0
  2192. data/lib/roebe/www/lighttpd/configuration/groupname.conf +9 -0
  2193. data/lib/roebe/www/lighttpd/configuration/index.conf +29 -0
  2194. data/lib/roebe/www/lighttpd/configuration/logfiles.conf +18 -0
  2195. data/lib/roebe/www/lighttpd/configuration/mimetypes.conf +88 -0
  2196. data/lib/roebe/www/lighttpd/configuration/modules.conf +75 -0
  2197. data/lib/roebe/www/lighttpd/configuration/php.conf +11 -0
  2198. data/lib/roebe/www/lighttpd/configuration/pid_file.conf +1 -0
  2199. data/lib/roebe/www/lighttpd/configuration/port.conf +13 -0
  2200. data/lib/roebe/www/lighttpd/configuration/redirects.conf +67 -0
  2201. data/lib/roebe/www/lighttpd/configuration/status.conf +29 -0
  2202. data/lib/roebe/www/lighttpd/configuration/upload.conf +5 -0
  2203. data/lib/roebe/www/lighttpd/configuration/username.conf +4 -0
  2204. data/lib/roebe/www/lighttpd/lighttpd.cgi +7 -0
  2205. data/lib/roebe/www/lighttpd/lighttpd.rb +140 -0
  2206. data/lib/roebe/www/lighttpd/lighttpd.sinatra +52 -0
  2207. data/lib/roebe/www/lilo/lilo.cgi +9 -0
  2208. data/lib/roebe/www/lilo/lilo.conf +71 -0
  2209. data/lib/roebe/www/lilo/lilo.rb +114 -0
  2210. data/lib/roebe/www/lilo/lilo.sinatra +56 -0
  2211. data/lib/roebe/www/lilypond/lilypond.cgi +95 -0
  2212. data/lib/roebe/www/linguistics/linguistics.cgi +25 -0
  2213. data/lib/roebe/www/links/links.cgi +9 -0
  2214. data/lib/roebe/www/links/links.rb +310 -0
  2215. data/lib/roebe/www/links/links.sinatra +56 -0
  2216. data/lib/roebe/www/linux/ICEWM/preferences +1476 -0
  2217. data/lib/roebe/www/linux/KaOS/KaOS.cgi +37 -0
  2218. data/lib/roebe/www/linux/MX-Linux/mxlinux.cgi +7 -0
  2219. data/lib/roebe/www/linux/MX-Linux/mxlinux.rb +28 -0
  2220. data/lib/roebe/www/linux/MX-Linux/mxlinux.sinatra +56 -0
  2221. data/lib/roebe/www/linux/antiX/antiX.cgi +7 -0
  2222. data/lib/roebe/www/linux/antiX/antiX.rb +42 -0
  2223. data/lib/roebe/www/linux/antiX/antiX.sinatra +56 -0
  2224. data/lib/roebe/www/linux/deepin/deepin.cgi +30 -0
  2225. data/lib/roebe/www/linux/doc/how_to_shrink_the_home_partition.md +13 -0
  2226. data/lib/roebe/www/linux/fedora/fedora.cgi +7 -0
  2227. data/lib/roebe/www/linux/fedora/fedora.rb +44 -0
  2228. data/lib/roebe/www/linux/fedora/fedora.sinatra +56 -0
  2229. data/lib/roebe/www/linux/gobolinux/gobolinux.cgi +7 -0
  2230. data/lib/roebe/www/linux/gobolinux/gobolinux.rb +1424 -0
  2231. data/lib/roebe/www/linux/gobolinux/gobolinux.sinatra +56 -0
  2232. data/lib/roebe/www/linux/linux.cgi +12 -0
  2233. data/lib/roebe/www/linux/linux.rb +6268 -0
  2234. data/lib/roebe/www/linux/linux.sinatra +56 -0
  2235. data/lib/roebe/www/linux/manjaro/content.md +7 -0
  2236. data/lib/roebe/www/linux/mxlinux +1 -0
  2237. data/lib/roebe/www/linux/neptune/neptune.cgi +54 -0
  2238. data/lib/roebe/www/linux/resources/Xdefaults +180 -0
  2239. data/lib/roebe/www/linux/slackware/slackware.cgi +7 -0
  2240. data/lib/roebe/www/linux/slackware/slackware.rb +150 -0
  2241. data/lib/roebe/www/linux/slackware/slackware.sinatra +56 -0
  2242. data/lib/roebe/www/linux/sparky_linux/specification.md +19 -0
  2243. data/lib/roebe/www/linux/ubuntu/ubuntu.cgi +7 -0
  2244. data/lib/roebe/www/linux/ubuntu/ubuntu.rb +144 -0
  2245. data/lib/roebe/www/linux/ubuntu/ubuntu.sinatra +56 -0
  2246. data/lib/roebe/www/linux/void/void.cgi +7 -0
  2247. data/lib/roebe/www/linux/void/void.rb +56 -0
  2248. data/lib/roebe/www/linux/void/void.sinatra +56 -0
  2249. data/lib/roebe/www/linux_certifications/linux_certifications.cgi +7 -0
  2250. data/lib/roebe/www/linux_certifications/linux_certifications.rb +15 -0
  2251. data/lib/roebe/www/linux_certifications/linux_certifications.sinatra +56 -0
  2252. data/lib/roebe/www/linux_commands/linux_commands.cgi +7 -0
  2253. data/lib/roebe/www/linux_commands/linux_commands.rb +5224 -0
  2254. data/lib/roebe/www/linux_commands/linux_commands.sinatra +56 -0
  2255. data/lib/roebe/www/linux_distributions/README.md +3 -0
  2256. data/lib/roebe/www/linux_distributions/linux_distributions.cgi +9 -0
  2257. data/lib/roebe/www/linux_distributions/linux_distributions.rb +2215 -0
  2258. data/lib/roebe/www/linux_distributions/linux_distributions.sinatra +56 -0
  2259. data/lib/roebe/www/linuxmint/linuxmint.cgi +7 -0
  2260. data/lib/roebe/www/linuxmint/linuxmint.rb +58 -0
  2261. data/lib/roebe/www/linuxmint/linuxmint.sinatra +56 -0
  2262. data/lib/roebe/www/llvm/llvm.cgi +7 -0
  2263. data/lib/roebe/www/llvm/llvm.rb +38 -0
  2264. data/lib/roebe/www/llvm/llvm.sinatra +56 -0
  2265. data/lib/roebe/www/luft/luft.cgi +7 -0
  2266. data/lib/roebe/www/luft/luft.rb +15 -0
  2267. data/lib/roebe/www/luft/luft.sinatra +52 -0
  2268. data/lib/roebe/www/luft/luft_english.md +96 -0
  2269. data/lib/roebe/www/luft/luft_german.md +117 -0
  2270. data/lib/roebe/www/lyrics/lyrics.cgi +7 -0
  2271. data/lib/roebe/www/lyrics/lyrics.rb +48 -0
  2272. data/lib/roebe/www/lyrics/lyrics.sinatra +56 -0
  2273. data/lib/roebe/www/m4/m4.cgi +7 -0
  2274. data/lib/roebe/www/m4/m4.rb +24 -0
  2275. data/lib/roebe/www/m4/m4.sinatra +56 -0
  2276. data/lib/roebe/www/mageia/mageia.cgi +7 -0
  2277. data/lib/roebe/www/mageia/mageia.rb +104 -0
  2278. data/lib/roebe/www/mageia/mageia.sinatra +56 -0
  2279. data/lib/roebe/www/make/make.cgi +7 -0
  2280. data/lib/roebe/www/make/make.rb +216 -0
  2281. data/lib/roebe/www/make/make.sinatra +56 -0
  2282. data/lib/roebe/www/markdown/cheat_sheet.md +17 -0
  2283. data/lib/roebe/www/markdown/example.md +232 -0
  2284. data/lib/roebe/www/marketing/marketing.cgi +7 -0
  2285. data/lib/roebe/www/marketing/marketing.rb +94 -0
  2286. data/lib/roebe/www/marketing/marketing.sinatra +56 -0
  2287. data/lib/roebe/www/mars/mars.cgi +7 -0
  2288. data/lib/roebe/www/mars/mars.rb +51 -0
  2289. data/lib/roebe/www/mars/mars.sinatra +52 -0
  2290. data/lib/roebe/www/mate_desktop/mate_desktop.cgi +40 -0
  2291. data/lib/roebe/www/mathematics/bin/303/244rsystem/bin/303/244rsystem.cgi +158 -0
  2292. data/lib/roebe/www/mathematics/common.rb +16 -0
  2293. data/lib/roebe/www/mathematics/funktionen/funktion.cgi +81 -0
  2294. data/lib/roebe/www/mathematics/logarithmus/logarithmus.cgi +76 -0
  2295. data/lib/roebe/www/mathematics/mathematics.cgi +7 -0
  2296. data/lib/roebe/www/mathematics/mathematics.rb +1276 -0
  2297. data/lib/roebe/www/mathematics/mathematics.sinatra +52 -0
  2298. data/lib/roebe/www/matlab/matlab.cgi +31 -0
  2299. data/lib/roebe/www/md5sum/md5sum.cgi +33 -0
  2300. data/lib/roebe/www/meson/meson.cgi +7 -0
  2301. data/lib/roebe/www/meson/meson.rb +57 -0
  2302. data/lib/roebe/www/meson/meson.sinatra +56 -0
  2303. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.cgi +9 -0
  2304. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.rb +243 -0
  2305. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.sinatra +56 -0
  2306. data/lib/roebe/www/meteorologie/meteorologie.cgi +547 -0
  2307. data/lib/roebe/www/microbial_ecology/microbial_ecology.cgi +33 -0
  2308. data/lib/roebe/www/microbial_interactions/microbial_interactions.cgi +163 -0
  2309. data/lib/roebe/www/microbiology/microbiology.cgi +7 -0
  2310. data/lib/roebe/www/microbiology/microbiology.rb +1136 -0
  2311. data/lib/roebe/www/microbiology/microbiology.sinatra +56 -0
  2312. data/lib/roebe/www/microphones/microphones.cgi +7 -0
  2313. data/lib/roebe/www/microphones/microphones.rb +53 -0
  2314. data/lib/roebe/www/microphones/microphones.sinatra +56 -0
  2315. data/lib/roebe/www/microscopy/microscopy.cgi +7 -0
  2316. data/lib/roebe/www/microscopy/microscopy.rb +289 -0
  2317. data/lib/roebe/www/microscopy/microscopy.sinatra +56 -0
  2318. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.cgi +7 -0
  2319. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.rb +85 -0
  2320. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.sinatra +56 -0
  2321. data/lib/roebe/www/microsoft/microsoft.cgi +11 -0
  2322. data/lib/roebe/www/microsoft/microsoft.rb +2354 -0
  2323. data/lib/roebe/www/microsoft/microsoft.sinatra +56 -0
  2324. data/lib/roebe/www/midi/al_adagi.mid +0 -0
  2325. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.cgi +7 -0
  2326. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.rb +1055 -0
  2327. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.sinatra +56 -0
  2328. data/lib/roebe/www/military/military.cgi +7 -0
  2329. data/lib/roebe/www/military/military.rb +23 -0
  2330. data/lib/roebe/www/military/military.sinatra +56 -0
  2331. data/lib/roebe/www/misc/blutgruppen.md +26 -0
  2332. data/lib/roebe/www/mitochondria/mitochondria.cgi +56 -0
  2333. data/lib/roebe/www/module_www.rb +184 -0
  2334. data/lib/roebe/www/molecular_simulations/molecular_simulations.cgi +30 -0
  2335. data/lib/roebe/www/molecular_therapies/molecular_therapies.cgi +7 -0
  2336. data/lib/roebe/www/molecular_therapies/molecular_therapies.rb +169 -0
  2337. data/lib/roebe/www/molecular_therapies/molecular_therapies.sinatra +56 -0
  2338. data/lib/roebe/www/mpv/hints.md +4 -0
  2339. data/lib/roebe/www/mrxvt/mrxvtrc +424 -0
  2340. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.cgi +7 -0
  2341. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.rb +118 -0
  2342. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.sinatra +56 -0
  2343. data/lib/roebe/www/mysql/mysql.cgi +7 -0
  2344. data/lib/roebe/www/mysql/mysql.rb +544 -0
  2345. data/lib/roebe/www/mysql/mysql.sinatra +52 -0
  2346. data/lib/roebe/www/nano/nano.cgi +100 -0
  2347. data/lib/roebe/www/nanotechnology/nanotechnology.cgi +7 -0
  2348. data/lib/roebe/www/nanotechnology/nanotechnology.rb +173 -0
  2349. data/lib/roebe/www/nanotechnology/nanotechnology.sinatra +56 -0
  2350. data/lib/roebe/www/nato/nato.cgi +7 -0
  2351. data/lib/roebe/www/nato/nato.rb +35 -0
  2352. data/lib/roebe/www/nato/nato.sinatra +52 -0
  2353. data/lib/roebe/www/naturschutz/naturschutz.cgi +1463 -0
  2354. data/lib/roebe/www/netbsd/netbsd.cgi +7 -0
  2355. data/lib/roebe/www/netbsd/netbsd.rb +27 -0
  2356. data/lib/roebe/www/netbsd/netbsd.sinatra +52 -0
  2357. data/lib/roebe/www/networking_on_linux/networking_on_linux.cgi +7 -0
  2358. data/lib/roebe/www/networking_on_linux/networking_on_linux.rb +1652 -0
  2359. data/lib/roebe/www/networking_on_linux/networking_on_linux.sinatra +56 -0
  2360. data/lib/roebe/www/neuroanatomie/neuroanatomie.cgi +98 -0
  2361. data/lib/roebe/www/neurobiology/neurobiology.cgi +7 -0
  2362. data/lib/roebe/www/neurobiology/neurobiology.rb +355 -0
  2363. data/lib/roebe/www/neurobiology/neurobiology.sinatra +56 -0
  2364. data/lib/roebe/www/news/news.cgi +7 -0
  2365. data/lib/roebe/www/news/news.rb +20 -0
  2366. data/lib/roebe/www/news/news.sinatra +56 -0
  2367. data/lib/roebe/www/news/news_content.md +2798 -0
  2368. data/lib/roebe/www/nginx/nginx.cgi +7 -0
  2369. data/lib/roebe/www/nginx/nginx.rb +18 -0
  2370. data/lib/roebe/www/nginx/nginx.sinatra +56 -0
  2371. data/lib/roebe/www/nim/nim.cgi +7 -0
  2372. data/lib/roebe/www/nim/nim.rb +77 -0
  2373. data/lib/roebe/www/nim/nim.sinatra +56 -0
  2374. data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.cgi +7 -0
  2375. data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.rb +458 -0
  2376. data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.sinatra +61 -0
  2377. data/lib/roebe/www/node/snippets.md +15 -0
  2378. data/lib/roebe/www/nosql/nosql.cgi +7 -0
  2379. data/lib/roebe/www/nosql/nosql.rb +23 -0
  2380. data/lib/roebe/www/nosql/nosql.sinatra +52 -0
  2381. data/lib/roebe/www/ntfs/ntfs.cgi +7 -0
  2382. data/lib/roebe/www/ntfs/ntfs.rb +41 -0
  2383. data/lib/roebe/www/ntfs/ntfs.sinatra +56 -0
  2384. data/lib/roebe/www/obst/obst.cgi +45 -0
  2385. data/lib/roebe/www/ogre3d/ogre3d.cgi +7 -0
  2386. data/lib/roebe/www/ogre3d/ogre3d.rb +247 -0
  2387. data/lib/roebe/www/ogre3d/ogre3d.sinatra +56 -0
  2388. data/lib/roebe/www/openbsd/openbsd.cgi +7 -0
  2389. data/lib/roebe/www/openbsd/openbsd.rb +28 -0
  2390. data/lib/roebe/www/openbsd/openbsd.sinatra +56 -0
  2391. data/lib/roebe/www/opengl/opengl.cgi +9 -0
  2392. data/lib/roebe/www/opengl/opengl.rb +193 -0
  2393. data/lib/roebe/www/opengl/opengl.sinatra +56 -0
  2394. data/lib/roebe/www/openssl/openssl.cgi +7 -0
  2395. data/lib/roebe/www/openssl/openssl.rb +142 -0
  2396. data/lib/roebe/www/openssl/openssl.sinatra +56 -0
  2397. data/lib/roebe/www/opensuse/opensuse.cgi +24 -0
  2398. data/lib/roebe/www/opera/opera.cgi +7 -0
  2399. data/lib/roebe/www/opera/opera.rb +38 -0
  2400. data/lib/roebe/www/opera/opera.sinatra +56 -0
  2401. data/lib/roebe/www/operating_systems/operating_systems.cgi +43 -0
  2402. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.cgi +7 -0
  2403. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.rb +85 -0
  2404. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.sinatra +56 -0
  2405. data/lib/roebe/www/organic_chemistry/organic_chemistry.cgi +33 -0
  2406. data/lib/roebe/www/organic_chemistry/organic_chemistry.md +16 -0
  2407. data/lib/roebe/www/our_solar_system/our_solar_system.cgi +7 -0
  2408. data/lib/roebe/www/our_solar_system/our_solar_system.rb +448 -0
  2409. data/lib/roebe/www/our_solar_system/our_solar_system.sinatra +56 -0
  2410. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.cgi +7 -0
  2411. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.rb +394 -0
  2412. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.sinatra +56 -0
  2413. data/lib/roebe/www/palemoon/palemoon.cgi +7 -0
  2414. data/lib/roebe/www/palemoon/palemoon.rb +111 -0
  2415. data/lib/roebe/www/palemoon/palemoon.sinatra +56 -0
  2416. data/lib/roebe/www/paradise_island/paradise_island.cgi +9 -0
  2417. data/lib/roebe/www/paradise_island/paradise_island.rb +449 -0
  2418. data/lib/roebe/www/paradise_island/paradise_island.sinatra +56 -0
  2419. data/lib/roebe/www/patente/patente.cgi +7 -0
  2420. data/lib/roebe/www/patente/patente.rb +58 -0
  2421. data/lib/roebe/www/patente/patente.sinatra +56 -0
  2422. data/lib/roebe/www/pathologie/content.md +1 -0
  2423. data/lib/roebe/www/pathologie/pathologie.cgi +52 -0
  2424. data/lib/roebe/www/pathologie/vokabelliste.yml +1284 -0
  2425. data/lib/roebe/www/pdf/pdf.cgi +7 -0
  2426. data/lib/roebe/www/pdf/pdf.rb +129 -0
  2427. data/lib/roebe/www/pdf/pdf.sinatra +56 -0
  2428. data/lib/roebe/www/pekwm/autoproperties +219 -0
  2429. data/lib/roebe/www/pekwm/config +72 -0
  2430. data/lib/roebe/www/pekwm/keys +301 -0
  2431. data/lib/roebe/www/pekwm/menu +97 -0
  2432. data/lib/roebe/www/pekwm/mouse +141 -0
  2433. data/lib/roebe/www/pekwm/start +18 -0
  2434. data/lib/roebe/www/pekwm/vars +2 -0
  2435. data/lib/roebe/www/phages/phages.cgi +117 -0
  2436. data/lib/roebe/www/pharmacy/content.md +5 -0
  2437. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.cgi +7 -0
  2438. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.rb +66 -0
  2439. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.sinatra +56 -0
  2440. data/lib/roebe/www/photosynthesis/photosynthesis.cgi +7 -0
  2441. data/lib/roebe/www/photosynthesis/photosynthesis.rb +55 -0
  2442. data/lib/roebe/www/photosynthesis/photosynthesis.sinatra +56 -0
  2443. data/lib/roebe/www/physics/physics.cgi +7 -0
  2444. data/lib/roebe/www/physics/physics.rb +348 -0
  2445. data/lib/roebe/www/physics/physics.sinatra +56 -0
  2446. data/lib/roebe/www/physiology/physiology.cgi +7 -0
  2447. data/lib/roebe/www/physiology/physiology.rb +373 -0
  2448. data/lib/roebe/www/physiology/physiology.sinatra +56 -0
  2449. data/lib/roebe/www/pidgin/pidgin.cgi +7 -0
  2450. data/lib/roebe/www/pidgin/pidgin.rb +28 -0
  2451. data/lib/roebe/www/pidgin/pidgin.sinatra +56 -0
  2452. data/lib/roebe/www/pilze/pilze.cgi +276 -0
  2453. data/lib/roebe/www/plants/plants.cgi +7 -0
  2454. data/lib/roebe/www/plants/plants.rb +78 -0
  2455. data/lib/roebe/www/plants/plants.sinatra +56 -0
  2456. data/lib/roebe/www/play_songs/play_songs.cgi +100 -0
  2457. data/lib/roebe/www/play_this_video_file/play_this_video_file.cgi +103 -0
  2458. data/lib/roebe/www/politics/politics.cgi +7 -0
  2459. data/lib/roebe/www/politics/politics.rb +24 -0
  2460. data/lib/roebe/www/politics/politics.sinatra +56 -0
  2461. data/lib/roebe/www/politics/yaml/wahlbeteiligung_wien.yml +6 -0
  2462. data/lib/roebe/www/porg/main.m +26 -0
  2463. data/lib/roebe/www/porg/porg.cgi +7 -0
  2464. data/lib/roebe/www/porg/porg.rb +14 -0
  2465. data/lib/roebe/www/porg/porg.sinatra +56 -0
  2466. data/lib/roebe/www/porg/rpaco_base.h +19 -0
  2467. data/lib/roebe/www/porg/rpaco_base.m +20 -0
  2468. data/lib/roebe/www/povray/povray.cgi +7 -0
  2469. data/lib/roebe/www/povray/povray.rb +289 -0
  2470. data/lib/roebe/www/povray/povray.sinatra +56 -0
  2471. data/lib/roebe/www/povray/povray_files/sphere_and_lights.pov +14 -0
  2472. data/lib/roebe/www/povray/povray_files/sphere_and_lights_test.pov +28 -0
  2473. data/lib/roebe/www/powershell/powershell.cgi +7 -0
  2474. data/lib/roebe/www/powershell/powershell.rb +31 -0
  2475. data/lib/roebe/www/powershell/powershell.sinatra +56 -0
  2476. data/lib/roebe/www/preise/preise.cgi +47 -0
  2477. data/lib/roebe/www/preisvergleiche/preisvergleiche.cgi +7 -0
  2478. data/lib/roebe/www/preisvergleiche/preisvergleiche.rb +53 -0
  2479. data/lib/roebe/www/preisvergleiche/preisvergleiche.sinatra +56 -0
  2480. data/lib/roebe/www/presentations/fuzzy_words_versus_action_words.md +9 -0
  2481. data/lib/roebe/www/presentations/presentations.cgi +7 -0
  2482. data/lib/roebe/www/presentations/presentations.rb +103 -0
  2483. data/lib/roebe/www/presentations/presentations.sinatra +52 -0
  2484. data/lib/roebe/www/presentations/useful_words.md +16 -0
  2485. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.cgi +7 -0
  2486. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.rb +457 -0
  2487. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.sinatra +52 -0
  2488. data/lib/roebe/www/programming_advice/programming_advice.yml +31 -0
  2489. data/lib/roebe/www/programming_bible/programming_bible.cgi +7 -0
  2490. data/lib/roebe/www/programming_bible/programming_bible.rb +32 -0
  2491. data/lib/roebe/www/programming_bible/programming_bible.sinatra +56 -0
  2492. data/lib/roebe/www/programming_languages/javascript/javascript.cgi +10 -0
  2493. data/lib/roebe/www/programming_languages/javascript/javascript.rb +312 -0
  2494. data/lib/roebe/www/programming_languages/javascript/javascript.sinatra +56 -0
  2495. data/lib/roebe/www/project_management/project_management.cgi +7 -0
  2496. data/lib/roebe/www/project_management/project_management.rb +327 -0
  2497. data/lib/roebe/www/project_management/project_management.sinatra +56 -0
  2498. data/lib/roebe/www/prokaryotic_evolution/prokaryotic_evolution.cgi +267 -0
  2499. data/lib/roebe/www/propaganda/propaganda.cgi +7 -0
  2500. data/lib/roebe/www/propaganda/propaganda.rb +30 -0
  2501. data/lib/roebe/www/propaganda/propaganda.sinatra +56 -0
  2502. data/lib/roebe/www/protein_engineering/protein_engineering.cgi +5 -0
  2503. data/lib/roebe/www/protein_engineering/protein_engineering.rb +725 -0
  2504. data/lib/roebe/www/protein_engineering/protein_engineering.sinatra +56 -0
  2505. data/lib/roebe/www/proteins/proteins.cgi +7 -0
  2506. data/lib/roebe/www/proteins/proteins.rb +32 -0
  2507. data/lib/roebe/www/proteins/proteins.sinatra +56 -0
  2508. data/lib/roebe/www/protisten/protisten.cgi +72 -0
  2509. data/lib/roebe/www/psychologie/psychologie.cgi +7 -0
  2510. data/lib/roebe/www/psychologie/psychologie.rb +233 -0
  2511. data/lib/roebe/www/psychologie/psychologie.sinatra +56 -0
  2512. data/lib/roebe/www/publishing_scientific_papers/useful_phrases_and_tips_for_publishing_scientific_papers.md +259 -0
  2513. data/lib/roebe/www/pulseaudio/pulseaudio.cgi +7 -0
  2514. data/lib/roebe/www/pulseaudio/pulseaudio.rb +166 -0
  2515. data/lib/roebe/www/pulseaudio/pulseaudio.sinatra +56 -0
  2516. data/lib/roebe/www/qemu/content.md +5 -0
  2517. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.cgi +7 -0
  2518. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.rb +423 -0
  2519. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.sinatra +56 -0
  2520. data/lib/roebe/www/quotes/quotes.cgi +7 -0
  2521. data/lib/roebe/www/quotes/quotes.rb +603 -0
  2522. data/lib/roebe/www/quotes/quotes.sinatra +52 -0
  2523. data/lib/roebe/www/radiation/content.md +3 -0
  2524. data/lib/roebe/www/radio/radio.cgi +54 -0
  2525. data/lib/roebe/www/radioactivity/radioactivity.cgi +36 -0
  2526. data/lib/roebe/www/ratpoison/ratpoisonrc +62 -0
  2527. data/lib/roebe/www/reactos/reactos.cgi +9 -0
  2528. data/lib/roebe/www/reactos/reactos.rb +95 -0
  2529. data/lib/roebe/www/reactos/reactos.sinatra +56 -0
  2530. data/lib/roebe/www/recursion/recursion.md +41 -0
  2531. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.cgi +7 -0
  2532. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.rb +96 -0
  2533. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.sinatra +56 -0
  2534. data/lib/roebe/www/rfid/rfid.cgi +7 -0
  2535. data/lib/roebe/www/rfid/rfid.rb +956 -0
  2536. data/lib/roebe/www/rfid/rfid.sinatra +56 -0
  2537. data/lib/roebe/www/rhetorics/rhetorics.md +15 -0
  2538. data/lib/roebe/www/rhythmbox/rhythmbox.cgi +122 -0
  2539. data/lib/roebe/www/rna +1 -0
  2540. data/lib/roebe/www/robots/robots.cgi +9 -0
  2541. data/lib/roebe/www/robots/robots.rb +24 -0
  2542. data/lib/roebe/www/robots/robots.sinatra +56 -0
  2543. data/lib/roebe/www/routers/routers.cgi +7 -0
  2544. data/lib/roebe/www/routers/routers.rb +46 -0
  2545. data/lib/roebe/www/routers/routers.sinatra +56 -0
  2546. data/lib/roebe/www/ruby_viewer/ruby_viewer.cgi +7 -0
  2547. data/lib/roebe/www/ruby_viewer/ruby_viewer.rb +51 -0
  2548. data/lib/roebe/www/ruby_viewer/ruby_viewer.sinatra +56 -0
  2549. data/lib/roebe/www/scanner/scanner.cgi +9 -0
  2550. data/lib/roebe/www/scanner/scanner.rb +194 -0
  2551. data/lib/roebe/www/scanner/scanner.sinatra +56 -0
  2552. data/lib/roebe/www/science/URL_to_different_scientific_articles.md +12 -0
  2553. data/lib/roebe/www/science/science.cgi +7 -0
  2554. data/lib/roebe/www/science/science.rb +1806 -0
  2555. data/lib/roebe/www/science/science.sinatra +56 -0
  2556. data/lib/roebe/www/security/security.cgi +7 -0
  2557. data/lib/roebe/www/security/security.rb +381 -0
  2558. data/lib/roebe/www/security/security.sinatra +56 -0
  2559. data/lib/roebe/www/sed/sed_script_remove_colours.sed +1 -0
  2560. data/lib/roebe/www/shells/shells.cgi +7 -0
  2561. data/lib/roebe/www/shells/shells.rb +258 -0
  2562. data/lib/roebe/www/shells/shells.sinatra +56 -0
  2563. data/lib/roebe/www/shops/shops.cgi +7 -0
  2564. data/lib/roebe/www/shops/shops.rb +26 -0
  2565. data/lib/roebe/www/shops/shops.sinatra +56 -0
  2566. data/lib/roebe/www/signal_transduction/signal_transduction.cgi +93 -0
  2567. data/lib/roebe/www/simpsons/simpsons.cgi +7 -0
  2568. data/lib/roebe/www/simpsons/simpsons.rb +24 -0
  2569. data/lib/roebe/www/simpsons/simpsons.sinatra +56 -0
  2570. data/lib/roebe/www/smoking/smoking.cgi +26 -0
  2571. data/lib/roebe/www/sociology/content.md +26 -0
  2572. data/lib/roebe/www/socken/socken.cgi +7 -0
  2573. data/lib/roebe/www/socken/socken.rb +25 -0
  2574. data/lib/roebe/www/socken/socken.sinatra +56 -0
  2575. data/lib/roebe/www/solarzellen/solarzellen.cgi +7 -0
  2576. data/lib/roebe/www/solarzellen/solarzellen.rb +13 -0
  2577. data/lib/roebe/www/solarzellen/solarzellen.sinatra +56 -0
  2578. data/lib/roebe/www/sound_theory/sound_theory.cgi +163 -0
  2579. data/lib/roebe/www/space_exploration/space_exploration.cgi +7 -0
  2580. data/lib/roebe/www/space_exploration/space_exploration.rb +31 -0
  2581. data/lib/roebe/www/space_exploration/space_exploration.sinatra +56 -0
  2582. data/lib/roebe/www/sprechanlagen/sprechanlagen.cgi +34 -0
  2583. data/lib/roebe/www/statistik/statistik.cgi +7 -0
  2584. data/lib/roebe/www/statistik/statistik.rb +939 -0
  2585. data/lib/roebe/www/statistik/statistik.sinatra +56 -0
  2586. data/lib/roebe/www/std_linux.rb +95 -0
  2587. data/lib/roebe/www/stem_cells/stem_cells.cgi +219 -0
  2588. data/lib/roebe/www/strom/strom.cgi +7 -0
  2589. data/lib/roebe/www/strom/strom.rb +152 -0
  2590. data/lib/roebe/www/strom/strom.sinatra +56 -0
  2591. data/lib/roebe/www/structural_biology/structural_biology.cgi +65 -0
  2592. data/lib/roebe/www/sudoers/sudoers +43 -0
  2593. data/lib/roebe/www/svg/svg.cgi +7 -0
  2594. data/lib/roebe/www/svg/svg.rb +47 -0
  2595. data/lib/roebe/www/svg/svg.sinatra +56 -0
  2596. data/lib/roebe/www/synthetic_biology/synthetic_biology.cgi +7 -0
  2597. data/lib/roebe/www/synthetic_biology/synthetic_biology.rb +234 -0
  2598. data/lib/roebe/www/synthetic_biology/synthetic_biology.sinatra +56 -0
  2599. data/lib/roebe/www/systemd/systemd.cgi +9 -0
  2600. data/lib/roebe/www/systemd/systemd.rb +61 -0
  2601. data/lib/roebe/www/systemd/systemd.sinatra +56 -0
  2602. data/lib/roebe/www/tales_from_the_crypt/tales_from_the_crypt.html +71 -0
  2603. data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.cgi +7 -0
  2604. data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.rb +287 -0
  2605. data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.sinatra +56 -0
  2606. data/lib/roebe/www/telnet/telnet.cgi +64 -0
  2607. data/lib/roebe/www/terminals/lilyterm.md +8 -0
  2608. data/lib/roebe/www/terminals/terminals.cgi +7 -0
  2609. data/lib/roebe/www/terminals/terminals.rb +125 -0
  2610. data/lib/roebe/www/terminals/terminals.sinatra +56 -0
  2611. data/lib/roebe/www/test/README.md +1 -0
  2612. data/lib/roebe/www/test/database.sql +0 -0
  2613. data/lib/roebe/www/test/test.cgi +38 -0
  2614. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.cgi +11 -0
  2615. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.rb +1660 -0
  2616. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.sinatra +56 -0
  2617. data/lib/roebe/www/the_universe/the_universe.cgi +34 -0
  2618. data/lib/roebe/www/theoretische_informatik/theoretische_informatik.cgi +35 -0
  2619. data/lib/roebe/www/thermodynamik/thermodynamik.cgi +32 -0
  2620. data/lib/roebe/www/thinking_methods/thinking_methods.cgi +7 -0
  2621. data/lib/roebe/www/thinking_methods/thinking_methods.rb +144 -0
  2622. data/lib/roebe/www/thinking_methods/thinking_methods.sinatra +56 -0
  2623. data/lib/roebe/www/thunderbird/thunderbird.cgi +7 -0
  2624. data/lib/roebe/www/thunderbird/thunderbird.rb +70 -0
  2625. data/lib/roebe/www/thunderbird/thunderbird.sinatra +56 -0
  2626. data/lib/roebe/www/tierzucht/tierzucht.cgi +723 -0
  2627. data/lib/roebe/www/time/time.cgi +7 -0
  2628. data/lib/roebe/www/time/time.rb +82 -0
  2629. data/lib/roebe/www/time/time.sinatra +56 -0
  2630. data/lib/roebe/www/tmux/tmux.cgi +7 -0
  2631. data/lib/roebe/www/tmux/tmux.rb +74 -0
  2632. data/lib/roebe/www/tmux/tmux.sinatra +56 -0
  2633. data/lib/roebe/www/toxikologie/toxikologie.cgi +7 -0
  2634. data/lib/roebe/www/toxikologie/toxikologie.rb +553 -0
  2635. data/lib/roebe/www/toxikologie/toxikologie.sinatra +56 -0
  2636. data/lib/roebe/www/trac/trac.cgi +7 -0
  2637. data/lib/roebe/www/trac/trac.rb +46 -0
  2638. data/lib/roebe/www/trac/trac.sinatra +56 -0
  2639. data/lib/roebe/www/training/training.cgi +7 -0
  2640. data/lib/roebe/www/training/training.rb +281 -0
  2641. data/lib/roebe/www/training/training.sinatra +52 -0
  2642. data/lib/roebe/www/transcription/transcription.cgi +7 -0
  2643. data/lib/roebe/www/transcription/transcription.rb +163 -0
  2644. data/lib/roebe/www/transcription/transcription.sinatra +56 -0
  2645. data/lib/roebe/www/tv/tv.cgi +182 -0
  2646. data/lib/roebe/www/udev/udev.cgi +7 -0
  2647. data/lib/roebe/www/udev/udev.rb +128 -0
  2648. data/lib/roebe/www/udev/udev.sinatra +56 -0
  2649. data/lib/roebe/www/unicode/unicode.cgi +28 -0
  2650. data/lib/roebe/www/unionfs/unionfs.cgi +8 -0
  2651. data/lib/roebe/www/unionfs/unionfs.rb +325 -0
  2652. data/lib/roebe/www/unionfs/unionfs.sinatra +56 -0
  2653. data/lib/roebe/www/usb/usb.cgi +7 -0
  2654. data/lib/roebe/www/usb/usb.rb +807 -0
  2655. data/lib/roebe/www/usb/usb.sinatra +52 -0
  2656. data/lib/roebe/www/vaccines/vaccines.cgi +70 -0
  2657. data/lib/roebe/www/vectors/vectors.cgi +7 -0
  2658. data/lib/roebe/www/vectors/vectors.rb +90 -0
  2659. data/lib/roebe/www/vectors/vectors.sinatra +56 -0
  2660. data/lib/roebe/www/verfahrenstechnik/verfahrenstechnik.cgi +62 -0
  2661. data/lib/roebe/www/video/video.cgi +7 -0
  2662. data/lib/roebe/www/video/video.rb +7723 -0
  2663. data/lib/roebe/www/video/video.sinatra +52 -0
  2664. data/lib/roebe/www/view_via_pre_tag/README.md +2 -0
  2665. data/lib/roebe/www/view_via_pre_tag/view_via_pre_tag.cgi +26 -0
  2666. data/lib/roebe/www/vim/aliases/vim_aliases.yml +487 -0
  2667. data/lib/roebe/www/vim/autocmds/vim_autocmds +50 -0
  2668. data/lib/roebe/www/vim/colours/desert.vim +105 -0
  2669. data/lib/roebe/www/vim/colours/golden.vim +72 -0
  2670. data/lib/roebe/www/vim/colours/sienna.vim +47 -0
  2671. data/lib/roebe/www/vim/colours/softblue.vim +45 -0
  2672. data/lib/roebe/www/vim/colours/zenburn.vim +135 -0
  2673. data/lib/roebe/www/vim/functions/functions +185 -0
  2674. data/lib/roebe/www/vim/mappings/mappings.md +372 -0
  2675. data/lib/roebe/www/vim/matrix/matrix.vim +316 -0
  2676. data/lib/roebe/www/vim/tetris/tetris.vim +331 -0
  2677. data/lib/roebe/www/vim/vim.cgi +7 -0
  2678. data/lib/roebe/www/vim/vim.rb +856 -0
  2679. data/lib/roebe/www/vim/vim.sinatra +52 -0
  2680. data/lib/roebe/www/vim/vimrc/vimrc +332 -0
  2681. data/lib/roebe/www/virology/virology.cgi +7 -0
  2682. data/lib/roebe/www/virology/virology.rb +603 -0
  2683. data/lib/roebe/www/virology/virology.sinatra +56 -0
  2684. data/lib/roebe/www/virtual_reality/virtual_reality.cgi +7 -0
  2685. data/lib/roebe/www/virtual_reality/virtual_reality.rb +184 -0
  2686. data/lib/roebe/www/virtual_reality/virtual_reality.sinatra +52 -0
  2687. data/lib/roebe/www/visual_studio/visual_studio.cgi +7 -0
  2688. data/lib/roebe/www/visual_studio/visual_studio.rb +38 -0
  2689. data/lib/roebe/www/visual_studio/visual_studio.sinatra +56 -0
  2690. data/lib/roebe/www/visualization/content.md +2 -0
  2691. data/lib/roebe/www/vitamines/vitamines.cgi +11 -0
  2692. data/lib/roebe/www/vitamines/vitamines.rb +138 -0
  2693. data/lib/roebe/www/vitamines/vitamines.sinatra +56 -0
  2694. data/lib/roebe/www/vivaldi/vivaldi.cgi +27 -0
  2695. data/lib/roebe/www/vlc/vlc.cgi +32 -0
  2696. data/lib/roebe/www/vnc/vnc.cgi +7 -0
  2697. data/lib/roebe/www/vnc/vnc.rb +28 -0
  2698. data/lib/roebe/www/vnc/vnc.sinatra +56 -0
  2699. data/lib/roebe/www/voice_recorders/voice_recorders.cgi +7 -0
  2700. data/lib/roebe/www/voice_recorders/voice_recorders.rb +48 -0
  2701. data/lib/roebe/www/voice_recorders/voice_recorders.sinatra +52 -0
  2702. data/lib/roebe/www/waagen/waagen.cgi +36 -0
  2703. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.cgi +7 -0
  2704. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.rb +270 -0
  2705. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.sinatra +56 -0
  2706. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.cgi +7 -0
  2707. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.rb +251 -0
  2708. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.sinatra +56 -0
  2709. data/lib/roebe/www/waschmaschinen/waschmaschinen.cgi +7 -0
  2710. data/lib/roebe/www/waschmaschinen/waschmaschinen.rb +168 -0
  2711. data/lib/roebe/www/waschmaschinen/waschmaschinen.sinatra +52 -0
  2712. data/lib/roebe/www/wayland/wayland.cgi +25 -0
  2713. data/lib/roebe/www/webserving/webserving.cgi +7 -0
  2714. data/lib/roebe/www/webserving/webserving.rb +905 -0
  2715. data/lib/roebe/www/webserving/webserving.sinatra +52 -0
  2716. data/lib/roebe/www/weechat/weechat.cgi +7 -0
  2717. data/lib/roebe/www/weechat/weechat.rb +166 -0
  2718. data/lib/roebe/www/weechat/weechat.sinatra +52 -0
  2719. data/lib/roebe/www/wein/wein.cgi +7 -0
  2720. data/lib/roebe/www/wein/wein.rb +41 -0
  2721. data/lib/roebe/www/wein/wein.sinatra +56 -0
  2722. data/lib/roebe/www/wget/wgetrc +124 -0
  2723. data/lib/roebe/www/why_linux/why_linux.cgi +7 -0
  2724. data/lib/roebe/www/why_linux/why_linux.rb +317 -0
  2725. data/lib/roebe/www/why_linux/why_linux.sinatra +56 -0
  2726. data/lib/roebe/www/wikis/wikis.cgi +7 -0
  2727. data/lib/roebe/www/wikis/wikis.rb +18 -0
  2728. data/lib/roebe/www/wikis/wikis.sinatra +56 -0
  2729. data/lib/roebe/www/wine/wine.cgi +7 -0
  2730. data/lib/roebe/www/wine/wine.rb +323 -0
  2731. data/lib/roebe/www/wine/wine.sinatra +52 -0
  2732. data/lib/roebe/www/wine/wine_config +69 -0
  2733. data/lib/roebe/www/wings3d/data/House_Villa.wings +0 -0
  2734. data/lib/roebe/www/wings3d/wings3d.cgi +7 -0
  2735. data/lib/roebe/www/wings3d/wings3d.rb +64 -0
  2736. data/lib/roebe/www/wings3d/wings3d.sinatra +56 -0
  2737. data/lib/roebe/www/witze/witze.cgi +9 -0
  2738. data/lib/roebe/www/witze/witze.rb +1054 -0
  2739. data/lib/roebe/www/witze/witze.sinatra +56 -0
  2740. data/lib/roebe/www/wlan/wlan.cgi +9 -0
  2741. data/lib/roebe/www/wlan/wlan.rb +778 -0
  2742. data/lib/roebe/www/wlan/wlan.sinatra +56 -0
  2743. data/lib/roebe/www/wlan/wpa_supplicant.conf +57 -0
  2744. data/lib/roebe/www/working_from_home/working_from_home.md +60 -0
  2745. data/lib/roebe/www/world_health_organization/world_health_organization.cgi +7 -0
  2746. data/lib/roebe/www/world_health_organization/world_health_organization.rb +68 -0
  2747. data/lib/roebe/www/world_health_organization/world_health_organization.sinatra +56 -0
  2748. data/lib/roebe/www/xampp/xampp.cgi +7 -0
  2749. data/lib/roebe/www/xampp/xampp.rb +126 -0
  2750. data/lib/roebe/www/xampp/xampp.sinatra +56 -0
  2751. data/lib/roebe/www/xchat/xchat.cgi +7 -0
  2752. data/lib/roebe/www/xchat/xchat.rb +146 -0
  2753. data/lib/roebe/www/xchat/xchat.sinatra +56 -0
  2754. data/lib/roebe/www/xfce/xfce.cgi +31 -0
  2755. data/lib/roebe/www/xmas/xmas.cgi +7 -0
  2756. data/lib/roebe/www/xmas/xmas.rb +521 -0
  2757. data/lib/roebe/www/xmas/xmas.sinatra +56 -0
  2758. data/lib/roebe/www/xorg/xorg.cgi +9 -0
  2759. data/lib/roebe/www/xorg/xorg.rb +2912 -0
  2760. data/lib/roebe/www/xorg/xorg.sinatra +56 -0
  2761. data/lib/roebe/www/xournalpp/content.md +12 -0
  2762. data/lib/roebe/www/yeast/yeast.cgi +7 -0
  2763. data/lib/roebe/www/yeast/yeast.rb +147 -0
  2764. data/lib/roebe/www/yeast/yeast.sinatra +56 -0
  2765. data/lib/roebe/www/zenity/zenity.cgi +7 -0
  2766. data/lib/roebe/www/zenity/zenity.rb +208 -0
  2767. data/lib/roebe/www/zenity/zenity.sinatra +56 -0
  2768. data/lib/roebe/www/zitieren/example.md +10 -0
  2769. data/lib/roebe/www/zitieren/wie_zitiert_man_in_der_Wissenschaft_richtig.md +261 -0
  2770. data/lib/roebe/www/zoologie/zoologie.cgi +7 -0
  2771. data/lib/roebe/www/zoologie/zoologie.gtk +150 -0
  2772. data/lib/roebe/www/zoologie/zoologie.rb +280 -0
  2773. data/lib/roebe/www/zoologie/zoologie.sinatra +56 -0
  2774. data/lib/roebe/www/zoom/zoom.cgi +7 -0
  2775. data/lib/roebe/www/zoom/zoom.rb +55 -0
  2776. data/lib/roebe/www/zoom/zoom.sinatra +56 -0
  2777. data/lib/roebe/www/zsh/zshrc +360 -0
  2778. data/lib/roebe/xml/catalog +29 -0
  2779. data/lib/roebe/yaml/advertisement_servers/advertisement_servers.yml +18 -0
  2780. data/lib/roebe/yaml/autogenerate_these_rewrite_rules/autogenerate_these_rewrite_rules.yml +131 -0
  2781. data/lib/roebe/yaml/autostart_these_programs.yml +22 -0
  2782. data/lib/roebe/yaml/bezirke_in_wien/bezirke_in_wien.yml +29 -0
  2783. data/lib/roebe/yaml/binary_to_hexadecimal/binary_to_hexadecimal.csv +17 -0
  2784. data/lib/roebe/yaml/bin/303/244re_einheiten/bin/303/244re_einheiten.yml +9 -0
  2785. data/lib/roebe/yaml/books/favourite_books.yml +15 -0
  2786. data/lib/roebe/yaml/boot_settings/boot_settings.yml +53 -0
  2787. data/lib/roebe/yaml/browser.yml +1 -0
  2788. data/lib/roebe/yaml/compile/compile.yml +262 -0
  2789. data/lib/roebe/yaml/current_ruby_versions.yml +12 -0
  2790. data/lib/roebe/yaml/directory_structure.yml +121 -0
  2791. data/lib/roebe/yaml/display_settings/display_settings.yml +184 -0
  2792. data/lib/roebe/yaml/e_kennzeichnungen/e_kennzeichnungen.yml +101 -0
  2793. data/lib/roebe/yaml/english_letter_frequency/english_letter_frequency.yml +30 -0
  2794. data/lib/roebe/yaml/error_codes/error_codes.yml +342 -0
  2795. data/lib/roebe/yaml/escape_codes/escape_codes.yml +12 -0
  2796. data/lib/roebe/yaml/examples/README.md +4 -0
  2797. data/lib/roebe/yaml/examples/c_headers_creator.yml +10 -0
  2798. data/lib/roebe/yaml/examples/constant.yml +4 -0
  2799. data/lib/roebe/yaml/examples/fixnum.yml +1 -0
  2800. data/lib/roebe/yaml/examples/hash_example.yml +42 -0
  2801. data/lib/roebe/yaml/examples/ruby_keywords.yml +43 -0
  2802. data/lib/roebe/yaml/examples/symbols.yml +3 -0
  2803. data/lib/roebe/yaml/examples/test.yml +9 -0
  2804. data/lib/roebe/yaml/examples/tree.yml +8 -0
  2805. data/lib/roebe/yaml/famous_bboys/famous_bboys.yml +14 -0
  2806. data/lib/roebe/yaml/file_information.yml +34 -0
  2807. data/lib/roebe/yaml/fonts/fonts.yml +33 -0
  2808. data/lib/roebe/yaml/forbidden_IPs/forbidden_IPs.yml +2 -0
  2809. data/lib/roebe/yaml/fstab/fstab.yml +122 -0
  2810. data/lib/roebe/yaml/funstuff/am/303/274sante_deutsche_w/303/266rter.yml +2 -0
  2811. data/lib/roebe/yaml/gnome/gnome.yml +8 -0
  2812. data/lib/roebe/yaml/holidays/holidays.yml +24 -0
  2813. data/lib/roebe/yaml/http_status_codes/http_status_codes.yml +52 -0
  2814. data/lib/roebe/yaml/individual_environment_variables/cflags.yml +59 -0
  2815. data/lib/roebe/yaml/individual_environment_variables/lang.yml +75 -0
  2816. data/lib/roebe/yaml/individual_environment_variables/ldflags.yml +2 -0
  2817. data/lib/roebe/yaml/individual_environment_variables/term.yml +14 -0
  2818. data/lib/roebe/yaml/ip_suffix/ip_suffix.yml +22 -0
  2819. data/lib/roebe/yaml/irc/irc.yml +11 -0
  2820. data/lib/roebe/yaml/kde/kde.yml +54 -0
  2821. data/lib/roebe/yaml/kernel/kernel.yml +11 -0
  2822. data/lib/roebe/yaml/kernel_config/kernel_config.yml +79 -0
  2823. data/lib/roebe/yaml/linux_kernel_settings.yml +11 -0
  2824. data/lib/roebe/yaml/ls_colors.yml +17 -0
  2825. data/lib/roebe/yaml/main_avi.yml +1 -0
  2826. data/lib/roebe/yaml/main_editor.yml +1 -0
  2827. data/lib/roebe/yaml/main_jpg.yml +1 -0
  2828. data/lib/roebe/yaml/main_pdf.yml +1 -0
  2829. data/lib/roebe/yaml/main_png.yml +1 -0
  2830. data/lib/roebe/yaml/mark_this_directory.yml +1 -0
  2831. data/lib/roebe/yaml/mime/mime.yml +615 -0
  2832. data/lib/roebe/yaml/mime_types.yml +37 -0
  2833. data/lib/roebe/yaml/monitors/monitors.yml +127 -0
  2834. data/lib/roebe/yaml/n_people_in_these_countries.yml +31 -0
  2835. data/lib/roebe/yaml/name_for_the_wireless_interface.yml +1 -0
  2836. data/lib/roebe/yaml/pdf/pdf1.yml +1 -0
  2837. data/lib/roebe/yaml/pdf/pdf2.yml +1 -0
  2838. data/lib/roebe/yaml/pdf/pdf3.yml +1 -0
  2839. data/lib/roebe/yaml/pdf/pdf4.yml +1 -0
  2840. data/lib/roebe/yaml/pdf/pdf5.yml +1 -0
  2841. data/lib/roebe/yaml/pdf/pdf6.yml +1 -0
  2842. data/lib/roebe/yaml/pdf/pdf7.yml +1 -0
  2843. data/lib/roebe/yaml/pdf/pdf8.yml +1 -0
  2844. data/lib/roebe/yaml/pdf/pdf9.yml +1 -0
  2845. data/lib/roebe/yaml/peoples_age.yml +6 -0
  2846. data/lib/roebe/yaml/ports/ports.yml +50 -0
  2847. data/lib/roebe/yaml/posix_character_classes.yml +13 -0
  2848. data/lib/roebe/yaml/project_base_directory.yml +0 -0
  2849. data/lib/roebe/yaml/rufnummern_in_/303/266sterreich/rufnummern_in_/303/266sterreich.yml +5 -0
  2850. data/lib/roebe/yaml/size_of_countries.yml +197 -0
  2851. data/lib/roebe/yaml/statistics/statistics.yml +17 -0
  2852. data/lib/roebe/yaml/sternzeichen/sternzeichen.yml +16 -0
  2853. data/lib/roebe/yaml/system/system.yml +80 -0
  2854. data/lib/roebe/yaml/temperature_of_the_planets_in_our_solar_system/temperature_of_the_planets_in_our_solar_system.yml +22 -0
  2855. data/lib/roebe/yaml/test/README.md +4 -0
  2856. data/lib/roebe/yaml/test/umlaute.yml +2 -0
  2857. data/lib/roebe/yaml/the_beginning_of_linux/the_beginning_of_linux.yml +29 -0
  2858. data/lib/roebe/yaml/use_colours.yml +1 -0
  2859. data/lib/roebe/yaml/world_capitals/world_capitals.yml +204 -0
  2860. data/lib/roebe/yaml/world_geography_and_people/world_geography_and_people.yml +25 -0
  2861. data/lib/roebe.rb +7 -0
  2862. data/roebe.gemspec +104 -0
  2863. data/test/active_record/testing +0 -0
  2864. data/test/active_record/testing_active_record.rb +25 -0
  2865. data/test/comparison_example/comparison_example.rb +34 -0
  2866. data/test/hello_world/hello_world.rb +1 -0
  2867. data/test/misc/README.md +2 -0
  2868. data/test/misc/arity_example.rb +44 -0
  2869. data/test/misc/display_the_shell_colours.rb +48 -0
  2870. data/test/misc/fetch_a_specific_key_from_a_hash.rb +26 -0
  2871. data/test/misc/fork_example.rb +15 -0
  2872. data/test/misc/hello_world.rb +1 -0
  2873. data/test/misc/heredoc_example.rb +9 -0
  2874. data/test/misc/hooks/README.md +3 -0
  2875. data/test/misc/hooks/test_inherited_hook.rb +13 -0
  2876. data/test/misc/minimal_irc_bot/minimal_irc_bot.rb +33 -0
  2877. data/test/misc/name_of_this_script.rb +12 -0
  2878. data/test/misc/read_keypresses.rb +79 -0
  2879. data/test/misc/readline/README.md +1 -0
  2880. data/test/misc/readline/completion_for_a_static_list.rb +33 -0
  2881. data/test/misc/readline/simple_readline_example.rb +14 -0
  2882. data/test/misc/simple_sigint_example.rb +51 -0
  2883. data/test/misc/simple_user_input_via_stdin_or_Readline_example.rb +14 -0
  2884. data/test/misc/tcp_socket_example.rb +28 -0
  2885. data/test/misc/tracer.rb +39 -0
  2886. data/test/misc/with_border.rb +22 -0
  2887. data/test/testing_cat.rb +3 -0
  2888. data/test/testing_class_configuration/testing_class_configuration.rb +81 -0
  2889. data/test/testing_core_functionality_of_ruby/README.md +6 -0
  2890. data/test/testing_core_functionality_of_ruby/file_test.rb +1 -0
  2891. data/test/testing_core_functionality_of_ruby/verbose_file_copy.rb +5 -0
  2892. data/test/testing_google_url_cleaner.rb +25 -0
  2893. data/test/testing_http_status_codes.rb +13 -0
  2894. data/test/testing_identical.rb +17 -0
  2895. data/test/testing_move_file.rb +14 -0
  2896. data/test/testing_permission_ascii_format.rb +23 -0
  2897. data/test/testing_sql_paradise.rb +17 -0
  2898. data/test/testing_the_roebe_shell.rb +31 -0
  2899. data/test/testing_twentyfour_hours_notation.rb +37 -0
  2900. data/test/testing_zenity.rb +26 -0
  2901. metadata +3031 -0
@@ -0,0 +1,1969 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+ Dies ist mein Tutorial, wie man Ruby <b>embedded</b>, also mit
31
+ C Programmen verknüpft.
32
+
33
+ Ein Vorteil des "Embedding" ist der immense
34
+ <b class="darkblue FI">Geschwindigkeitsgewinn</b>.
35
+
36
+ Meine Beispiele hierzu findet man unter:
37
+
38
+ cd $RSRC/C
39
+
40
+ _
41
+
42
+ ## Wie überprüfe ich, in Ruby-MRB, ob ein String Objekt
43
+ frozen ist?
44
+ !MRB_FROZEN_P(mrb->exc)) {
45
+
46
+ Man kann auch recht einfach bestehende .rb Dateien
47
+ in Ruby-C (um)schreiben.
48
+
49
+ Dir Initialisierung (also der Beginn) geht via:
50
+
51
+ ruby_init()','BO
52
+
53
+ Dabei wird der <b>Ruby Interpreter</b> initialisiert.
54
+
55
+ ruby_init_loadpath()
56
+
57
+ ist sehr wichtig wenn man Module laden will, denn sie
58
+ initialisiert
59
+
60
+ die <b class="BO">$LOAD_PATH Variable</b>.
61
+
62
+ Sie enthält auch den Ort von <b>site_ruby</b>.
63
+
64
+ <b>ruby_script(name</b> ist einfach, denn diese Funktion
65
+ weist den Namen des Ruby Scripts an die $0 variable.
66
+
67
+ Abfragen gehen zum Beispiel so:
68
+
69
+ if $0 != "embed"
70
+
71
+ Fehlt dies, so <b></b>wird $0 der false Wert zugewiesen</b>.
72
+
73
+ Klingt ein wenig chaotisch?
74
+
75
+ Nun gut - bringen wir ein wenig Ordnung in dieses Chaos.
76
+
77
+ # ===================================================================== #
78
+ # === Ruby QTrue tag (true tag)
79
+ # ===================================================================== #
80
+ ## Ruby True',HEADER_CSS,'true',HEADER_BORDER
81
+ VALUE some_function(VALUE mod)
82
+ {
83
+ return Qtrue;
84
+ }
85
+
86
+ # ===================================================================== #
87
+ # === Define alias in Ruby C. alias tag.
88
+ # ===================================================================== #
89
+ ## Ruby Aliases in C',HEADER_CSS, HEADER_BORDER,
90
+ 'rb_define_alias
91
+
92
+ Dies geht via <b>rb_define_alias</b>, wobei der
93
+ erste Name der AliasName ist:
94
+
95
+ rb_define_alias(klass, name1, name2);
96
+ rb_define_alias(cJukebox, "a", "add");
97
+ rb_define_alias(cJukebox, "d", "delete");
98
+
99
+ (Das gehört zum Beispiel innerhalb der <b>Init_*</b> Funktion rein.)
100
+
101
+ # ===================================================================== #
102
+ # === Ruby Funcall
103
+ # ===================================================================== #
104
+ ## Ruby Funcall',HEADER_CSS,'ruby_funcall',HEADER_BORDER
105
+ rb_funcall - Calls a method.
106
+
107
+ First arg is the invocant','marl1em
108
+
109
+ Second is the method','marl2em
110
+
111
+ Third is the number of arguments','marl3em
112
+
113
+ Der Rest sind die restlichen Argumente.
114
+
115
+ rb_funcall(file, method, 1, self);
116
+ VALUE name = rb_funcall(current, rb_intern("to_s"), 0);
117
+
118
+ anm('<b>rb_funcall</b> raises a NameError if you try to call
119
+ a method that does not exist.
120
+
121
+ # ==================================================================== #
122
+ # === rb iv get tag
123
+ #
124
+ # Getter Methode.
125
+ #
126
+ # rf ruby_embedded rb_iv_get
127
+ #
128
+ # ===================================================================== #
129
+ ## rb_iv_get',HEADER_CSS,'rb_iv_get',HEADER_BORDER
130
+ Getter Methode auf Ruby-C Ebene.
131
+
132
+ array_sum = rb_iv_get(self, "@array_sum");
133
+
134
+ rb_iv_get(self, "@file");
135
+ rb_iv_get(self, "@line");
136
+
137
+ # ===================================================================== #
138
+ # === Ruby Cache
139
+ # ===================================================================== #
140
+ ## Ruby Cache',HEADER_CSS,'ruby_cache',HEADER_BORDER
141
+ rb_clear_cache_by_id(id);
142
+
143
+ # ===================================================================== #
144
+ # === RESPOND TO
145
+ # ===================================================================== #
146
+ ## Ruby and .respond_to?',HEADER_CSS,'ruby_respond_to',HEADER_BORDER
147
+ rb_respond_to(current, rb_intern("to_s")));
148
+
149
+ # ===================================================================== #
150
+ # === protect method calls in ruby-C
151
+ # ===================================================================== #
152
+ ## Ruby and protected methods?',HEADER_CSS,'rb_protet',HEADER_BORDER)+
153
+ Method calls can be protected by surrounding them via:
154
+
155
+ rb_protect();
156
+
157
+ # ===================================================================== #
158
+ # === Ruby Thread Schedule
159
+ # ===================================================================== #
160
+ ## Ruby Thread Schedule',HEADER_CSS,'ruby_thread_schedule',HEADER_BORDER)+
161
+ Mache einen Scheduler:
162
+
163
+ rb_thread_schedule();
164
+
165
+ Once you are finished with your Ruby thread and assuming no
166
+ other threads are scheduled to run, control will return back to the
167
+ point in C extension where you called rb_thread_schedule().
168
+
169
+ Das ganze ist letzten Endes <b>Thread.pass</b> in Ruby direkt
170
+ äquivalent.
171
+
172
+ # ===================================================================== #
173
+ # Modul Funktionen definieren
174
+ # ===================================================================== #
175
+ ## Modul Funktionen definieren',HEADER_CSS, 'ruby_module_functions',HEADER_BORDER)+
176
+ mModul = rb_define_module("CModul");
177
+ rb_define_module_function(mModul, "sendeGrussAnC", sendeGrussAnC, 1);
178
+ rb_define_module_function(mDB2CLI,
179
+ "SQLColAttribute", db2_SQLColAttribute, 4);
180
+
181
+ Das erste Argument in rb_define_module_function ist das Module, das
182
+ die Funktion erhalten soll.
183
+
184
+ # ===================================================================== #
185
+ # === Ruby Info. Ruby Version.
186
+ # ===================================================================== #
187
+ ## Ruby Info',HEADER_CSS,'ruby_info',HEADER_BORDER)+
188
+ Zeige information über Ruby an:
189
+
190
+ ruby_show_version(); // shows ruby info like so:
191
+ ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]
192
+
193
+ # ===================================================================== #
194
+ # === Data get Tag. get tag. struct tag.
195
+ # ===================================================================== #
196
+ div(id: 'Data_Get_Struct'){
197
+ e("Data_Get_Struct wird recht häufig eingesetzt")+
198
+
199
+ Zuerst die allgemeine Syntax hierzu:
200
+
201
+ void Data_Get_Struct(VALUE obj, type, type *ptr
202
+ Data_Get_Struct(self, qp_movie_context, movie_ctx);
203
+
204
+ Die C Extension sieht dann etwa so aus:
205
+
206
+ VALUE CompondShape_arelink VALUE self) {
207
+ CompoundShape *ptr;
208
+ Data_Get_Struct(selof, CompoundShape, ptr);')
209
+
210
+ # ===================================================================== #
211
+ # === Ruby Return Values.
212
+ #
213
+ # qtrue tag siehe eins darunter.
214
+ #
215
+ # return tag. qnil tag. qfalse tag.
216
+ # ===================================================================== #
217
+ ## Ruby Return Values',HEADER_CSS,'return_values',HEADER_BORDER)+
218
+ Ein VALUE (wie die folgenden) auf der C Seite ist das Äquivalent
219
+ zu einem Object auf Ruby Seite.
220
+
221
+ Hat man eine Funktion vom void type, gibt man <b>return Qnil</b>
222
+ zurück.
223
+
224
+ return Qtrue;
225
+ return Qfalse;
226
+ return Qnil;
227
+ return Qundef;
228
+ br+
229
+ # ===================================================================== #
230
+ # === RUBY METHODEN DEFINIEREN in C via rb_define_method tag
231
+ #
232
+ # method tag
233
+ # METHODEN tag. rf embedded ruby_methods
234
+ # ===================================================================== #
235
+ ## Methoden - Ruby Methoden definieren in RUBY C, (es wird eine Klasse
236
+ gebraucht)', HEADER_CSS, 'ruby_methods', HEADER_BORDER)+
237
+ In Ruby erklärt man eine Methode mittels
238
+ <b class="darkblue">def</b>.
239
+
240
+ Auf C Seite geschieht das mittels <b>rb_define_method</b>.
241
+
242
+ Jede Methode in Ruby-C, die etwas bestimmtes mit Ruby Pointern
243
+ macht, muss als erstes Argument <b>VALUE self</b> erhalten.
244
+
245
+ Beispiel:
246
+
247
+ static VALUE t_add(VALUE self, VALUE anObject);
248
+
249
+ Instanz Methoden in Ruby-C setzt man mittels
250
+ <b>rb_define_method</b>:
251
+
252
+ static VALUE der_klassen_pointer;
253
+ rb_define_method(dieRubyKlasse, const char * methodName, VALUE(*) cFunc, int numArgs);
254
+ rb_define_method(der_klassen_pointer, "add", t_add, 1);
255
+ rb_define_method(cTest, "initialize", t_init, 0);
256
+ rb_define_method(cSimpleClass, "add_to_array", t_add, 1 // akzeptiert 1 Argument);
257
+ rb_define_method(cSimpleClass, "show_var", t_show_var, 0);
258
+ rb_define_method(cCircle, "area", Circle_area, 3 // akzeptiert 3 Argumente);
259
+ rb_define_method(rb_mKernel, "nil?", rb_false, 0);
260
+ rb_define_method(rb_cMeine_klasse, "methoden_name_in_ruby",
261
+ name_der_c_funktion, anzahl_der_argumente_als_int);
262
+
263
+ Das erste Argument ist also immer die Klasse, an der die Methode anhaftet -
264
+ das letzte Argument sagt einem, wie viele Argumente die Methode erhalten
265
+ soll.
266
+
267
+ Nun ein kurzer Ausflug nach array.c, um anzusehen,
268
+ wie es implementiert ist auf C Ebene:
269
+
270
+ rb_define_method(rb_cArray,"to_s", rb_ary_to_s, 0);
271
+
272
+ Um die <b>method_id</b> zu bekommen verwendet man rb_intern:
273
+
274
+ rb_intern("method_name");
275
+
276
+ Noch ein kompletteres Beispiel, wie so eine Methode dann
277
+ aussieht:
278
+
279
+ VALUE your_method(VALUE self) {
280
+ int x = 10;
281
+ return INT2NUM(x
282
+ }
283
+ br+
284
+ # ===================================================================== #
285
+ # === CONSTANTS AND RUBY const tag constants tag
286
+ # rf rubyembedded ruby_constants
287
+ # ===================================================================== #
288
+ ## Constants und Ruby',HEADER_CSS,'ruby_constants',HEADER_BORDER)+
289
+
290
+
291
+ Eine <b>normale Konstante</b> in Ruby folgt diesen Regeln:
292
+
293
+ rb_define_const(klass, name_of_our_constant, value);
294
+ rb_define_const(module_or_class, "NAME", value);' )+
295
+
296
+ name_of_our_constant ist der Name unserer Konstanten.
297
+
298
+ Weitere, konkrete Beispiele für Konstanten:
299
+
300
+ rb_define_const("RELEASE_DATE", d);
301
+ rb_define_const(module, "Value", rb_str_new2("Hello World"));
302
+ rb_define_const(rb_mProcess, "PRIO_PROCESS", INT2FIX(PRIO_PROCESS);
303
+ rb_define_const(rb_mProcess, "PRIO_PGRP", INT2FIX(PRIO_PGRP);
304
+ rb_define_const(rb_mProcess, "PRIO_USER", INT2FIX(PRIO_USER);
305
+ rb_define_const(mRubygame,"INIT_TIMER",INT2NUM(SDL_INIT_TIMER);
306
+ rb_define_const(cCD,"STOPPED",INT2NUM(CD_STOPPED);
307
+ rb_define_const(cCD,"PLAYING",INT2NUM(CD_PLAYING);
308
+ rb_define_const(cCD,"PAUSED",INT2NUM(CD_PAUSED);
309
+ rb_define_const(cCD,"ERROR",INT2NUM(CD_ERROR);
310
+ rb_define_const(mVte, "BUILD_VERSION);",
311
+ rb_ary_new3(3, INT2FIX(VTE_MAJOR_VERSION),
312
+ INT2FIX(VTE_MINOR_VERSION), INT2FIX(VTE_MICRO_VERSION)));
313
+
314
+ Innerhalb einer ifdef Schleife geht dies so:
315
+
316
+ ifdef RLIMIT_CORE
317
+ rb_define_const(rb_mProcess, "RLIMIT_CORE", INT2FIX(RLIMIT_CORE)
318
+ #endif
319
+
320
+ # ===================================================================== #
321
+ # === Ruby False tag
322
+ # ===================================================================== #
323
+ ## Ruby False',HEADER_CSS,'false',HEADER_BORDER)+
324
+ In ruby können wir <b>false</b> wie folgt verwenden:
325
+
326
+ VALUE some_function(VALUE mod)
327
+ {
328
+ return Qfalse;
329
+ }
330
+
331
+ # ===================================================================== #
332
+ # === RUBY OBJEKTE IN C
333
+ #
334
+ # Ruby_objekte. # rf embedded Ruby_objekte
335
+ # ===================================================================== #
336
+ ## Ruby Objekte in C',HEADER_CSS,'Ruby_objekte',HEADER_BORDER)+
337
+ In Ruby wird jeder Inhalt eines Objektes mittels
338
+ einer <b>C Structure</b> beschrieben.
339
+
340
+ Dies wird mittels <b>pointer</b> realisiert.
341
+
342
+ Jede Klasse hat eine andere <b>struct</b>, der Pointer Type ist
343
+ aber immer <b>VALUE</b>. Mit anderen Worten, ein VALUE auf C
344
+ Ebene ist ein Objekt auf Ruby Ebene.
345
+
346
+ img('PC/RUBY/ch_object_value.png','bblack1 mars1em
347
+
348
+ <b>VALUE</b> wiederum findet man in <b>ruby.h</b>
349
+
350
+ vim $PROGRAMS/Ruby/Current/lib/ruby/1.8/i686-linux/ruby.h','BO s3em
351
+
352
+ Dort gibt es viele besondere Structs, wie zum Beispiel:
353
+
354
+ struct RData
355
+ struct RBasic
356
+ struct RObject
357
+ struct RClass
358
+ struct RHash
359
+ struct RFile
360
+ struct RFloat
361
+ struct RString # siehe Anhang für ein beispiel
362
+ struct RArray
363
+ struct RRegexp
364
+
365
+ Und <b>VALUE</b> hat diese Struktur:
366
+
367
+ typedef unsigned long VALUE;
368
+
369
+ Folgendes Beispiel zeigt eine <b>Initialierung eines Ruby
370
+ Array</b> (entspräche dem Ruby Code <b>def initialize</b>):
371
+
372
+ static VALUE t_init(VALUE self) //# def initialize
373
+ {
374
+ VALUE array;
375
+ array = rb_ary_new();
376
+ rb_iv_set(self, "@array", array);
377
+ return self;
378
+ }
379
+
380
+ Genauer betrachtet ist .new in Ruby-C etwas komplizierter,
381
+ wie folgendes Beispiel illustriert:
382
+
383
+ info = Data_Make_Struct(cTest, MP3Info, 0, free, one);
384
+
385
+ rb_obj_call_init(info, argc, argv);
386
+
387
+ Klassen sind in Ruby ein <b>zentrales Element</b>,
388
+ die zuerst deklariert werden müssen, bevor man sie
389
+ verwenden kann.','padl1em
390
+
391
+ Folgendes Beispiel illustriert dies anhand der
392
+ cTest Klasse:
393
+
394
+ VALUE cTest;
395
+
396
+ void Init_my_test() {
397
+ cTest = rb_define_class("MyTest", rb_cObject
398
+
399
+ Jede C-Extension definiert eine globale C Funktion
400
+ namens <b>Init_</b>, der Name der Extension wird
401
+ angehängt.
402
+
403
+ Mit anderen Worten, die allgemein Syntax ist:
404
+
405
+ Init_moduleName
406
+
407
+ Lädt man zb eine Datei namens <b>hello_world.so</b>,
408
+ so ist die dazugehörige Init funktion diese:
409
+
410
+ Init_hello_world
411
+
412
+ Diese <b>muss</b> soweit mir bekannt immer vom <b>void</b>
413
+ Typ sein, nicht static oder irgendwas sonst. Beispiel:
414
+
415
+ void Init_global_variables();
416
+ void Init_hello_world();
417
+ void Init_genx4r();
418
+
419
+ Diese Funktion wird aufgerufen wenn der Interpreter
420
+ die <b>Extension ladet</b>.
421
+
422
+ Ausserdem kann man das ganze in eine schöne Methode
423
+ verpacken, in Verbindung mit Data_Make_Struct. Siehe
424
+ dazu folgendes Beispiel:
425
+
426
+ VALUE mp3_info_new() {
427
+ VALUE info;
428
+ MP3Info *one;
429
+ info = Data_Make_Struct(cTest, MP3Info, 0, free, one
430
+ rb_obj_call_init(info, 0, 0
431
+ return info;
432
+ }
433
+
434
+ # ===================================================================== #
435
+ # === rb_class2name
436
+ # ===================================================================== #
437
+ ## Ruby Class2Name Konversion',HEADER_CSS,'rb_class2name',HEADER_BORDER)+
438
+ Die reverse function von rb_class2Name() ist so:
439
+
440
+ rb_path2class(path);
441
+
442
+ # ===================================================================== #
443
+ # === Define ruby attr Ruby C
444
+ # ===================================================================== #
445
+ ## Ruby Attr in C',HEADER_CSS,'rb_define_attr',HEADER_BORDER)+
446
+ Attr Methoden gehen einfach, wobei ein Wert von 1 ein <b>ja</b>
447
+ bedeutet.
448
+
449
+ Zuerst kommt read, dann write.
450
+
451
+ rb_define_attr( die_klass_für_das_attr, ihr_attr_name, read, write)
452
+ rb_define_attr( cLoader, "families", 1, 1 );
453
+ rb_define_attr( cprivateType, "value", 1, 1 );
454
+ rb_define_attr( cJukebox, "value", 1, 1 );
455
+ rb_define_attr( cparser, "options", 1, 1 );
456
+ rb_define_attr( cTest, "test_var", 1, 0 );
457
+
458
+ # ===================================================================== #
459
+ # === rb_scan_args tag. rf embedded rb_scan_args
460
+ # ===================================================================== #
461
+ ## Ruby und rb_scan_args',HEADER_CSS,'rb_scan_args',HEADER_BORDER)+
462
+ rb_scan_args ist zu verwenden um Arguments zu counten.
463
+
464
+ Beispiel:
465
+
466
+ static VALUE my_function(int argc, VALUE* argv, VALUE self)
467
+ {
468
+ VALUE v_name, v_age; // die argumente
469
+
470
+ rb_scan_args(argc, argv, "11", &v_name, &v_age
471
+
472
+ Zudem kann man rb_scan_args verwenden um default values zu
473
+ setzen:
474
+ in_ruby+
475
+ def foobar(arg=1)
476
+ end
477
+
478
+ in_ruby_c+
479
+ rb_define_method(myclass, "method_name", meth_fnc, -1);
480
+ rb_define_method_function(module, "name", c_function, argc);
481
+
482
+ In your method use rb_scan_args to scan the argument list.
483
+
484
+ If you dont get enough arguments, use the default values instead.
485
+
486
+ div {
487
+ h2('Random Tidbits
488
+ Ruby stores ivars for immutable object types (e.g. Fixnum/Symbol)
489
+ in external hashes (see generic_ivar_* in variable.c for
490
+ ruby/trunk).')
491
+
492
+ div {
493
+ ## Was ist rb_funcall2?')
494
+
495
+ div {
496
+ ## Wie erhalte ich den Namen einer Klasse in Ruby-C?
497
+ class Bar; end; Object.const_get("bar".capitalize).new
498
+ VALUE time_klass = rb_const_get( rb_cObject, rb_intern("Time") );')
499
+
500
+ div {
501
+ Hier eine Liste mit C code und Ruby code:
502
+
503
+ table2('s1em','','',
504
+ 'rb_current_realfilepath', '== __FILE__'
505
+ )
506
+
507
+ From 1.8 to 1.9...
508
+ bitsweat> change RSTRING(...)->ptr to RSTRING_PTR(...)
509
+ bitsweat> and same for ->len to _LEN
510
+
511
+ Damit die .c Beispiele funktionieren, müssen sie allesamt
512
+ eine <b class="FI darkblue">Init Funktion</b> deklarieren,
513
+ wie zum Beispiel so:
514
+
515
+ void Init_genx4r();
516
+ void Init_ruby_fstab();
517
+ void Init_hello();
518
+
519
+ Die Init Funktionen geben <b>nichts zurück</b> via return.
520
+
521
+ anm('Der Name der Init Funktionen ist immer <b>der Name der
522
+ Extension</b>, also zum Beispiel:','FW4
523
+
524
+ void Init_extname();
525
+
526
+ // void Init_jukebox() // wie man hier sieht, muss
527
+ der Name nach Init_ <b>klein</b> geschrieben werden.
528
+
529
+ # ===================================================================== #
530
+ # === Data Wrap Tag. Wrap tag. struct tag.
531
+ # ===================================================================== #
532
+ div {
533
+ ## Ruby Data_Wrap_Struct',HEADER_CSS,'rb_data_wrap_struct',HEADER_BORDER)+
534
+ Ruby-C stellt eine besonderen Data Type bereit, mit dem man Pointers
535
+ zu C und C++ Speicher nutzen kann. Der Ruby Interpreter glaubt, das es
536
+ sich um echte Ruby Klassen handelt.
537
+
538
+ API des Makro ist:
539
+
540
+ VALUE Data_Wrap_Struct(VALUE class, void (*mark_func) (void *),
541
+ void (*free_func) (void *), void *ptr
542
+
543
+ Der ptr nimmt einen Pointer zu einer Speicherort auf.
544
+
545
+ Typischerweise sieht der Code dann in etwa so aus:
546
+
547
+ lem(' CompoundShape *ptr;
548
+ lem(' VALUE obj;
549
+
550
+ lem(' ptr = CreateCompoundShape(
551
+ lem(' obj = Data_Wrap_Struct(cCompoundShape, CompoundShape_mark,
552
+ CompoundShape_free, ptr
553
+
554
+ Es gibt eine ähnliche Form dieses Funktion, und zwar wird hierbei
555
+ eine neue Instanz des C struczt erstellt, und erst danach wird die
556
+ <b>Data_Wrap_Struct()</b> Aktion durchgeführt:
557
+
558
+ lem(' VALUE Data_Make_Struct(VALUE class, type, void
559
+ (*mark_func)(void *), void (*free_func)(void *), void
560
+ *ptr
561
+
562
+ Nutzt man diesen Code, dann wird der Speicher mittels Rubys
563
+ ALLOC macro alloziiert. Dieser Makro ruft wiederum malloc() auf,
564
+ und wenn Speicher limitiert ist, ruft er Rubys Garbage Collector
565
+ auf bevor er malloc() aufruft.
566
+
567
+ Anmerkung: dieser Speicher sollte mit free() befreit werden.
568
+
569
+ Zudem muss man jedes Mal wenn man Data_Make_Struct() oder
570
+ <b>Data_Wrap_Struct()</b> verwendet, pointers zur C Funktion
571
+ schicken, die die mark und free Phasen sehen.')
572
+
573
+ # ===================================================================== #
574
+ # === ruby_singleton_methods
575
+ # ===================================================================== #
576
+ ## Definieren von Singleton Methods:',HEADER_CSS,
577
+ 'ruby_singleton_methods',HEADER_BORDER)+
578
+ rb_define_singleton_method
579
+
580
+ # ===================================================================== #
581
+ # === OBJECT ID tag
582
+ #
583
+ # von http://www.oreillynet.com/ruby/blog/2006/02/ruby_values_and_object_ids.html
584
+ # ===================================================================== #
585
+ ## Object ID von Ruby Objekten',HEADER_CSS,'ruby_object_id',HEADER_BORDER)+
586
+ Ruby kalkuliert Objekt IDs (object_id) wie folgt: # drbrain: see rb_obj_id for how the object_id is computed
587
+
588
+ VALUE rb_obj_id(VALUE obj)
589
+ {
590
+ if (SPECIAL_CONST_pobj)) {
591
+ cmd3('return LONG2NUM((long)obj
592
+ }
593
+ return (VALUE)((long)obj|FIXNUM_FLAG
594
+ }
595
+
596
+ nil.object_id zb gibt immer <b>4</b> zurück.
597
+
598
+ # ===================================================================== #
599
+ # === Check_Type
600
+ # ===================================================================== #
601
+ ## Herausfinden was was ist mit Check_Type',
602
+ HEADER_CSS,'ruby_check_type',HEADER_BORDER
603
+ )+
604
+ Finde heraus, was was ist mittels Check_Type(VALUE val, int type)
605
+
606
+ Check_Type(val, T_STRING); // Ist es ein String?
607
+ Check_Type(val, T_OBJECT); // Ist es ein Object?
608
+
609
+ # ===================================================================== #
610
+ # === STRUCTS TAG
611
+ # ===================================================================== #
612
+ ## Hier ein Beispiel von Struct Usage',HEADER_CSS,'ruby_struct',HEADER_BORDER)+
613
+ struct time_object {
614
+
615
+ struct timeval tv;
616
+ struct tm tm;
617
+ int gmt;
618
+ int tm_got;
619
+
620
+ };
621
+
622
+ struct time_object *tobj;
623
+ obj = Data_Make_Struct(klass, struct time_object, 0, time_free, tobj
624
+ tobj->tm_got = 0;
625
+ tobj->tv.tv_sec = 0;
626
+ tobj->tv.tv_usec = 0;
627
+
628
+ # ===================================================================== #
629
+ # === COMPILEN VON RUBY C CODE STRUKTUREN. compile tag
630
+ #
631
+ # Makefile tag.
632
+ # rf embedded compiling
633
+ # ===================================================================== #
634
+ ## Compilen von Ruby C Code Strukturen mittels mkmf / Makefile:',
635
+ HEADER_CSS,'compiling',HEADER_BORDER)+
636
+ Zum Compilen muss man zb dies hier machen:
637
+
638
+ -lruby
639
+
640
+ Hier ein Beispiel dazu:
641
+
642
+ gcc test.c -lruby -o embedded','extconf
643
+
644
+ gcc -o embeddedRuby embeddedRuby.o -O2 -fpic \\")+
645
+ -I/usr/lib/ruby/1.6/i386-linux -rdynamic
646
+ -L/usr/lib/ruby/1.6/i386-linux \\")+
647
+ -lruby -lm -ldl
648
+
649
+ anm('Der einfachste Weg zum Kompilieren ist es aber
650
+ <b>extconf.rb</b> zu nutzen.
651
+
652
+ Typische Struktur bzw Commands dazu folgt wobei wir mit
653
+ extconf.rb anfangen:
654
+
655
+ vim $RSRC/C/extconf.rb
656
+ bl $RSRC/C/extconf.rb
657
+
658
+ <b>extconf.rb</b> erlaubt einige Besonderheiten,
659
+ wie zum Beispiel <b>dir_config("some_dir")</b>.
660
+
661
+ Soweit ich weiss, nutzt dies alle vorhandenen .c Dateien in
662
+ einem Verzeichnis, wird also besonders gerne angewandt bei
663
+ Verzeichnissen in <b>non-standard directories</b>.
664
+
665
+ Folgend sehen wir ein kompletteres Beispiel für
666
+ <b>extconf.rb</b>:
667
+
668
+ cmd2(" require('mkmf')")+
669
+
670
+ dir_config("genx4r")
671
+
672
+ abort "need stdio.h" unless have_header("stdio.h") # aborten geht auch
673
+ cmd2(" have_library('libraryName', 'libraryFunction')")+
674
+
675
+ dir_config hat übrigens 2 weitere Argumente - Nr 2 gibt
676
+ include Paths an, Nr 3 gibt Library Paths an.
677
+
678
+ ee('Eine weitere Methode ist <b>create_makefile</b>, Docu hierzu
679
+ sieht man
680
+ a('http://www.ruby-doc.org/core/files/lib/mkmf_rb.src/M000067.html',
681
+ content: 'hier', css_class: 'BO marl2em
682
+
683
+
684
+ create_makefile("my_test") # my_test is the name of
685
+ your c. file
686
+
687
+ Es gehen auch mehrere Argumente, wobei ich aber noch nicht
688
+ weiss, was die weiteren Argumente bewirken.
689
+
690
+ Beispiel:
691
+
692
+ create_makefile('inotify', 'ext')")+
693
+
694
+ // or this create_makefile("genx4r")
695
+
696
+ <b>dir_config</b> sagt Ruby, das man alle .c Dateien im aktuellen
697
+ Verzeichnis nutzen soll, um eine Extension namens genx4r zu
698
+ erstellen.
699
+
700
+ anm('Danach kann man ruby extconf.rb anwenden; dies erstellt
701
+ dann eine Makefile Datei.
702
+
703
+ Ob ein Computer System bestimmte <b>Headers</b> hat, kann
704
+ man so abfragen:
705
+
706
+ have_header('linux/inotify.h')")+
707
+
708
+ Dies würde zb so eine Zeile ausgeben:
709
+
710
+ checking for linux/inotify.h... no
711
+
712
+ Hier ein "chained" Beispiel dazu:
713
+
714
+ if have_header("readline/readline.h") and
715
+ have_header("readline/history.h") and have_library("readline", "readline")'
716
+ )+
717
+ Das ganze alleine bricht aber nicht ab, wenn man einen Abbruch
718
+ möchte, dann muss man ein <b>if</b> davor schalten.
719
+
720
+ Mehrere headers überprüfen kann man zb so:
721
+
722
+ if have_header('X11/Xlib.h') and find_library('X11', 'XOpenDisplay',
723
+ '/usr/X11R6/lib') and find_library('Xpm', 'XpmCreatePixmapFromData',
724
+ '/usr/X11R6/lib') and find_library('Xext', 'XShapeCombineMask',
725
+ '/usr/X11R6/lib')")+
726
+ cmd2(" create_makefile('dockapp')")+
727
+ end
728
+ br+
729
+ Das Übergeben einer bestimmten Bibliothek geht so:
730
+
731
+ have_library('foo') # -lfoo")+
732
+ have_library('m') # -lm")+
733
+
734
+ Will man hier gleich mehrer Libaries zugleich abfragen, geht
735
+ dies zum Beispiel so:
736
+
737
+ if have_library("ole32") and have_library("oleaut32")
738
+
739
+ Einen <b class="darkblue">speziellen Namen </b> kann man
740
+ seiner Extension auch geben (sehr zu empfehlen):
741
+
742
+ extension_name = 'mytest'")+
743
+
744
+ Ein Win-Makefile kann man so erstellen:
745
+
746
+ create_win32ole_makefile
747
+ # To create it, run:
748
+ ruby extconf.rb;make(
749
+
750
+ Nun kommt eine Meldung "<b>creating Makefile</b>", die sehr
751
+ schnell beendet sein sollte - ansonsten handelt es sich wohl
752
+ um einen Syntax Fehler.
753
+
754
+ Danach <b>make</b> aufrufen
755
+
756
+ Übrigens, nicht auf <b>Init_</b> vergessen!
757
+
758
+ Dies erstellt zb foobar.so (shared library), und kann dann so
759
+ genutzt werden (die <b>.so Extension</b> muss nicht angegeben
760
+ werden):
761
+ require('foobar'")+
762
+ require('global_variables'")+
763
+
764
+ Man kann übrigens nur require verwenden, load
765
+ funktioniert nur mit .rb Dateien.
766
+
767
+ Ok, folgend nun ein paar Code Beispiele für C:
768
+
769
+ VALUE callback(void)
770
+ {
771
+ printf("C callback\n"
772
+ return T_TRUE;
773
+ }
774
+
775
+ # ===================================================================== #
776
+ # === FIXNUMS UND RUBY (Fixnum tag, Fixnums tag.
777
+ # ===================================================================== #
778
+ ## Fixnums und Ruby',HEADER_CSS,'ruby_fixnums',HEADER_BORDER)+
779
+ Fixnum, Symbol, true, false, und nil werden direkt in VALUE
780
+ gespeichert, und sind keine Pointers. Man nennt sie auch
781
+ <b>immediate values</b>.
782
+
783
+ Um zu überprüfen, ob es sich bei einem Wert um einen
784
+ <b>Fixnum</b> handelt, kann man zb dies hier tun:
785
+
786
+ FIXNUM_pvalue)
787
+
788
+ Dies gibt einen Wert von <b>nicht 0</b> zurück wenn es
789
+ sich um einen Fixnum Wert handelt. Ähnliches geht auch mit
790
+ SYMBOL_P für symbols, NIL_P für nil Werte, und RTEST für Werte
791
+ die weder nil noch false sind.
792
+
793
+ Im Anhang A gibts ein Listing, ansonsten folgen hier
794
+ noch einige Beispiele:
795
+
796
+ /* structure for ordinary objects */
797
+
798
+ struct RObject {
799
+
800
+ struct RBasic basic;
801
+ struct st_table *iv_tbl;
802
+
803
+ };
804
+
805
+ /* structure for strings (instance of String) */
806
+
807
+ struct RString {
808
+ struct RBasic basic;
809
+ long len;
810
+ char *ptr;
811
+ union {
812
+ long capa;
813
+ VALUE shared;
814
+ } aux;
815
+ }
816
+
817
+ /* structure for arrays (instance of Array) */
818
+
819
+ struct RArray {
820
+ struct RBasic basic;
821
+ long len;
822
+ union {
823
+ long capa;
824
+ VALUE shared;
825
+ } aux;
826
+ VALUE *ptr;
827
+ };
828
+
829
+ Jede Extension in Ruby definiert eine globale C Funktion, die
830
+ so aussieht:
831
+
832
+ Init_<i>name</i>
833
+
834
+ Wie oben beschrieben definiert man den Namen einer Klasse in
835
+ C-Ruby so:
836
+
837
+ VALUE der_klassen_pointer;
838
+ der_klassen_pointer = <b>rb_define_class</b>("MeineKlasse",
839
+ rb_cObject);
840
+
841
+ # ===================================================================== #
842
+ # === Class Method. define a c method or class method.
843
+ # ===================================================================== #
844
+ ## Class Methods',HEADER_CSS,'ruby_class_methods',HEADER_BORDER)+
845
+ define_c_method
846
+
847
+ # ===================================================================== #
848
+ # === ruby modules tag mod tag module tag.
849
+ # ===================================================================== #
850
+ ## Definieren von Ruby Modules', HEADER_CSS,'ruby_modules',HEADER_BORDER)+
851
+
852
+ Es ist anzuraten, ein kleines <b>m</b> voranzustellen, um
853
+ darauf hinzuweisen, das es sich um ein Modul handelt.
854
+
855
+ Dies ist eine gute Konvention in Ruby.
856
+ br +
857
+ VALUE mNcurses;
858
+
859
+ static VALUE mWtmp;
860
+ mWtmp = rb_define_module("Wtmp"); // the argument is the module name
861
+ VALUE module = rb_define_module("name");' )+
862
+ rb_mGenX = rb_define_module ("GenX");
863
+
864
+ anm('Anmerkung: Ein module in Ruby-C gibt <b>immer</b> ein VALUE
865
+ zurück.
866
+
867
+ rb_define_method_function(module, "name", c_function, argc);
868
+ rb_define_method_function
869
+
870
+ Noch ein Beispiel:
871
+
872
+ static VALUE rb_mHello, mShapes;
873
+ rb_mHello = rb_define_module("Hello");
874
+ mShapes = rb_define_module("Shape");
875
+
876
+ Module innerhalb anderer Module zu definieren geht so:
877
+
878
+ VALUE mRubygame;
879
+
880
+ mRubygame = rb_define_module("Rubygame");
881
+
882
+ Hier noch wie das Modul Enumerable definiert wurde:
883
+
884
+ VALUE rb_mEnumerable;
885
+
886
+ rb_mEnumerable = rb_define_module("Enumerable");
887
+
888
+ Um Module Functions zu definieren siehe
889
+
890
+ a('#ruby_module_functions', content: 'hier
891
+
892
+ # ===================================================================== #
893
+ # === rb_require tag
894
+ # ===================================================================== #
895
+ ## Ruby Require',HEADER_CSS,'rb_require',HEADER_BORDER)+
896
+ rb_require("./embedding.rb"); // Ruby-Modul laden
897
+
898
+ # ===================================================================== #
899
+ # === rb_class_new_instance tag
900
+ # ===================================================================== #
901
+ ## Ruby und rb_class_new_instance',HEADER_CSS, 'rb_class_new_instance',HEADER_BORDER)+
902
+ Beispiel:
903
+
904
+ VALUE entry = rb_class_new_instance (0, 0, cEntry);
905
+
906
+ Was macht rb_class_new_instance?
907
+
908
+ obj = rb_obj_alloc(klass);
909
+ rb_obj_call_init(obj, argc, argv);
910
+
911
+ Man findet es in object.c
912
+
913
+ # ===================================================================== #
914
+ # === Dynamic Libraries.
915
+ # ===================================================================== #
916
+ div('FS1em','dynamic_libraries'){
917
+
918
+ C libraries can usually be accessed via <b>dynamic linker</b>.
919
+ Die Ruby dl-Bibliothek vereinfacht dies ungemein:
920
+
921
+ require('dl'")+
922
+ require('dl/import'")+
923
+
924
+ module Libc")+
925
+ extend DL::Importable")+
926
+ dlload '/lib/libc.so.6'")+
927
+ extern 'char* ttyname(int)'")+
928
+ end
929
+
930
+ puts Libc.ttyname(0)")
931
+
932
+ # ===================================================================== #
933
+ # === Ruby Array Entry tag.
934
+ # ===================================================================== #
935
+ ## Ruby Array Entry',HEADER_CSS,'rb_ary_entry',HEADER_BORDER)+
936
+ VALUE rb_ary_entry(VALUE ary, long offset)
937
+ [1,2,3][2]
938
+ [1,2,3].at(2)
939
+
940
+ Der C Code sieht so aus:
941
+
942
+ VALUE num;
943
+ num = rb_ary_entry(ary, offset);
944
+ printf("%d\n", FIX2INT(num));
945
+ VALUE num = RARRAY(ary)->ptr[offset]);
946
+
947
+ div {
948
+ static VALUE sendeGrussAnC(VALUE self, VALUE str)
949
+ {
950
+ printf("Ruby hat uns den Gruss gesendet: %s\n",
951
+ StringValuePtr(str)
952
+ }
953
+
954
+ int main (int argv[], int argc)
955
+ {
956
+ VALUE cModul;
957
+ VALUE gruss;')
958
+
959
+
960
+ printf("Ein Hallo von C\n");
961
+ ruby_init; // Dieser Aufruf ist zwingend
962
+ cModul = rb_define_module("CModul");
963
+ rb_define_module_function(cModul,
964
+ "sendeGrussAnC", sendeGrussAnC, 1);
965
+
966
+ # ===================================================================== #
967
+ # === C HASH DEFINIEREN in C. (hash tag, hashes tag). #Hashes
968
+ # ===================================================================== #
969
+ ## Ruby Hash definieren in RUBY C',HEADER_CSS,'Hashes',HEADER_BORDER)+
970
+ cEntry = rb_define_class_under (mWtmp, "Entry", rb_cHash);
971
+
972
+ <b>hash = Hash.new</b> geht so:
973
+
974
+ VALUE hash; hash = rb_hash_new(); // Hash.new # Wir erstellen
975
+ einen neuen Hash
976
+
977
+ <b>.select</b> in Hash:
978
+
979
+ rb_hash_select
980
+
981
+ <b>.values_at</b> in Hash:
982
+
983
+ rb_hash_values_at
984
+
985
+ <b>.reject!</b> in Hash:
986
+
987
+ rb_hash_reject_bang
988
+
989
+ <b>.freeze</b> in Hash:
990
+
991
+ rb_hash_freeze
992
+
993
+ <b>.each</b> in Hash:
994
+
995
+ rb_hash_foreach # iterate over a hash
996
+ rb_define_alloc_func hash_alloc;
997
+ "[]", rb_hash_s_create, -1
998
+ "initialize", rb_hash_initialize, -1
999
+ "initialize_copy", rb_hash_replace, 1
1000
+ "rehash", rb_hash_rehash, 0
1001
+ "to_hash", rb_hash_to_hash, 0
1002
+ "to_a", rb_hash_to_a, 0
1003
+ "to_s", rb_hash_to_s, 0
1004
+ "inspect", rb_hash_inspect, 0
1005
+ "==", rb_hash_equal, 1
1006
+
1007
+ Um gespeicherte Einträge aus einem Hash zu <b>holen</b>,
1008
+ geht dies hier:
1009
+ in_ruby+
1010
+ hash = { :foo => 'blah' }")+
1011
+
1012
+ In Ruby-C:
1013
+
1014
+ hash = rb_hash_new();
1015
+ foo = rb_hash_aref(hash, ID2SYM(rb_intern("foo")));
1016
+
1017
+ bzw (etwas länger)
1018
+
1019
+ int age;
1020
+ hash = rb_hash_new();
1021
+ key = rb_str_new2("Oscar");
1022
+ value = rb_hash_aref(hash, key);
1023
+ age = NUM2INT(value); // Should return 6, Siehe oben bei
1024
+ INT2NUM
1025
+
1026
+ anm('NUM2INT und INT2FIX sind Möglichkeiten wie man Nummer in
1027
+ Ruby erstellt.
1028
+
1029
+ anm('rb_hash_aref gibt Qnil wieder wenn der angegebene
1030
+ Key nicht im Hash drinnen is. Argumente an rb_hash_aset
1031
+ und rb_hash_aref müssen vom type VALUE sein.
1032
+
1033
+ Das heisst auch, das ein Hash, der strings als Keys verwenden,
1034
+ diese zuerst in Ruby Strings konvertieren muss:
1035
+
1036
+ VALUE string_key, value;
1037
+
1038
+ string_key = rb_str_new2("Some key");
1039
+ value = rb_hash_aref(hash, string_key)
1040
+ in_ruby+
1041
+ h = { "a" => 100, "b" => 200 }; h.fetch("a")
1042
+ in_ruby_c+
1043
+ foo = rb_hash_fetch(hash, ID2SYM(rb_intern("foo"))
1044
+
1045
+ Um <b>neue</b> Einträge (key, value) in einen Hash
1046
+ reinzugeben verwendet man rb_hash_aset():
1047
+
1048
+ Beispiel:
1049
+
1050
+ in_ruby+
1051
+ hash << "foo"
1052
+ in_ruby_c+
1053
+ h = { "a" => 100, "b" => 200 }; h.fetch("a")
1054
+ hash = rb_hash_new();
1055
+ key = rb_str_new2("Oscar");
1056
+ value = INT2NUM(6);
1057
+ rb_hash_aset(hash, key, value));
1058
+
1059
+ Weiter geht es:
1060
+
1061
+ "store", rb_hash_aset, 2
1062
+ "default", rb_hash_default, -1
1063
+ "default=", rb_hash_set_default, 1
1064
+ "default_proc", rb_hash_default_proc, 0
1065
+ "index", rb_hash_index, 1
1066
+ "indexes", rb_hash_indexes, -1
1067
+ "indices", rb_hash_indexes, -1
1068
+ "size", rb_hash_size, 0
1069
+ "length", rb_hash_size, 0
1070
+ "empty?", rb_hash_empty_p, 0
1071
+ "each", rb_hash_each, 0
1072
+ "each_value", rb_hash_each_value, 0
1073
+ "each_key", rb_hash_each_key, 0
1074
+ "each_pair", rb_hash_each_pair, 0
1075
+
1076
+ Sortieren geht in Ruby so:
1077
+ in_ruby+
1078
+ h = { "c"=> 300, "a" => 100, "b" => 200 }; h.sort
1079
+ in_ruby_c+
1080
+ "sort", rb_hash_sort, 0
1081
+ "keys", rb_hash_keys, 0
1082
+ "values", rb_hash_values, 0
1083
+ "values_at", rb_hash_values_at, -1
1084
+ "shift", rb_hash_shift, 0
1085
+ "delete", rb_hash_delete, 1
1086
+ "delete_if", rb_hash_delete_if, 0
1087
+ "select", rb_hash_select, -1
1088
+ "reject", rb_hash_reject, 0
1089
+ "reject!", rb_hash_reject_bang, 0
1090
+ "clear", rb_hash_clear, 0
1091
+ "invert", rb_hash_invert, 0
1092
+ "update", rb_hash_update, 1
1093
+ "replace", rb_hash_replace, 1
1094
+ "merge!", rb_hash_update, 1
1095
+ "merge", rb_hash_merge, 1
1096
+ "include?", rb_hash_has_key, 1
1097
+ "member?", rb_hash_has_key, 1
1098
+ "has_key?", rb_hash_has_key, 1
1099
+ "has_value?", rb_hash_has_value, 1
1100
+ "key?", rb_hash_has_key, 1
1101
+ "value?", rb_hash_has_value, 1
1102
+ "[]", rb_f_getenv, 1
1103
+ "fetch", env_fetch, -1
1104
+ "[]=", env_aset, 2
1105
+ "store", env_aset, 2
1106
+ "each", env_each, 0
1107
+ "each_pair", env_each_pair, 0
1108
+ "each_key", env_each_key, 0
1109
+ "each_value", env_each_value, 0
1110
+ "delete", env_delete_m, 1
1111
+ "delete_if", env_delete_if, 0
1112
+ "clear", env_clear, 0
1113
+ "reject", env_reject, 0
1114
+ "reject!", env_reject_bang, 0
1115
+ "select", env_select, -1
1116
+ "shift", env_shift, 0
1117
+ "invert", env_invert, 0
1118
+ "replace", env_replace, 1
1119
+ "update", env_update, 1
1120
+ "inspect", env_inspect, 0
1121
+ "rehash", env_none, 0
1122
+ "to_a", env_to_a, 0
1123
+ "to_s", env_to_s, 0
1124
+ "index", env_index, 1
1125
+ "indexes", env_indexes, -1
1126
+ "indices", env_indexes, -1
1127
+ "size", env_size, 0
1128
+ "length", env_size, 0
1129
+ "empty?", env_empty_p, 0
1130
+ "keys", env_keys, 0
1131
+ "values", env_values, 0
1132
+ "values_at", env_values_at, -1
1133
+ "include?", env_has_key, 1
1134
+ "member?", env_has_key, 1
1135
+ "has_key?", env_has_key, 1
1136
+ "has_value?", env_has_value, 1
1137
+ "key?", env_has_key, 1
1138
+ "value?", env_has_value, 1
1139
+ "to_hash", env_to_hash, 0
1140
+
1141
+ # ======================================================================= #
1142
+ # === Arrays in C (ruby c)
1143
+ #
1144
+ # C ARRAY DEFINIEREN in C. array tag.
1145
+ #
1146
+ # rf embedded Array_definieren
1147
+ # ======================================================================= #
1148
+ h4('Ruby Array definieren in RUBY C',
1149
+ HEADER_CSS,'Array_definieren',HEADER_BORDER)+
1150
+ VALUE array; array = rb_ary_new();
1151
+ VALUE hardware_list; hardware_list = rb_ary_new();
1152
+ br+
1153
+ Intern ruft rb_ary_new übrigens rb_ary_new2 auf
1154
+ (ist in <i class="darkblue">
1155
+ <a href="http://www.ruby-doc.org/doxygen/1.8.4/array_8c.html">
1156
+ array.c </a></i> beschrieben):
1157
+ br+
1158
+ return rb_ary_new2(ARY_DEFAULT_SIZE
1159
+ br+
1160
+ Wie man sieht genügt die Deklaration <b>VALUE array_name</b>
1161
+ br+
1162
+ Weitere Manipulationen mit Arrays gehen so:
1163
+ br+
1164
+ rb_ary_push(VALUE ary, VALUE val); // <b>.push</b> fügt am
1165
+ Ende des Array ein neues Element hinzu
1166
+ br+
1167
+ rb_ary_push(hardware_list, rb_str_new2("\"HDD1\"=>\"/dev/hdc1\"")',
1168
+ 'marl4em
1169
+ br+
1170
+ rb_ary_pop(VALUE ary); // <b>.pop</b> entfernt das letzte
1171
+ Element eines Array und gibt ihn wieder
1172
+ br+
1173
+ rb_ary_shift(VALUE ary) // Entfernt das erste Element
1174
+ eines Arrays und gibt es wieder
1175
+ br+
1176
+ rb_ary_unshift(VALUE ary, VALUE val) // das Gegenteil
1177
+ von shift - fügt den Eintrag vorne an
1178
+ br+
1179
+ Hier noch die wichtigsten Funktionen als <b>Übersicht</b>:
1180
+ br+
1181
+ table3('marl1em','','',
1182
+ 'C Function','Equivalent Ruby Statement','Description',
1183
+
1184
+ 'VALUE rb_ary_new()','anArray = [] (or anArray = Array.new())','Returns
1185
+ a new empty array. Internally, it will create an array
1186
+ with a default capacity, which is 16 elements.',
1187
+ 'VALUE rb_ary_new2(long size)','anArray = Array.new(size)','Returns
1188
+ a new array with size elements; each element is initialized to
1189
+ Qnil, which is Rubys way of nil. The advantage is that
1190
+ this function is faster than rb_ary_new, however you must
1191
+ know how big your array will be.',
1192
+
1193
+ 'VALUE rb_ary_new3(long size, VALUE arg1, VALUE arg2, ...)',
1194
+ 'anArray = [arg1, arg2, ...]','Returns a new array with size
1195
+ elements; each element is initialized with the corresponding
1196
+ argument passed into rb_ary_new3()+',
1197
+
1198
+ 'VALUE rb_ary_new4(long size, VALUE *values)','anArray = ["this",
1199
+ "that","other"]','Returns a new array with size elements; each
1200
+ element is initialized with the corresponding
1201
+ element in the values array.',
1202
+
1203
+ 'VALUE rb_ary_aref (int argc,
1204
+ VALUE *argv, VALUE array)','value = array[index]<br>
1205
+ value = array[start, length]<br>
1206
+ value = Array[range]','This is the implementation of the
1207
+ Array class [] method and accepts three different forms of
1208
+ inputs; here, argv is a C array of the input argument
1209
+ values and argc is the number of arguments in that array.
1210
+ If there is only one input argument, it is evaluated
1211
+ as either a Fixnum index into the array or a
1212
+ Range of indices. If there are
1213
+ two arguments, they are evaluated
1214
+ as Fixnums indiciating the starting index and
1215
+ length of the subarray.',
1216
+
1217
+ 'void rb_ary_store(VALUE array, long index, VALUE value)',
1218
+ 'array[index] = value',
1219
+ 'Stores value in the specified array slot (where index is zero-based)',
1220
+
1221
+ 'VALUE rb_ary_entry(VALUE array, long index)','value = array[index]',
1222
+ 'Dies gibt das Element am spezifizierten Index wieder',
1223
+
1224
+ 'VALUE rb_ary_push(VALUE array, VALUE value)','array.push(value)',
1225
+ 'pushes value onto the end of array and returns a reference to it.',
1226
+
1227
+ 'VALUE rb_ary_popVALUE array)','value = array.pop','Pops value
1228
+ onto the end of array and returns a reference to it.',
1229
+
1230
+ 'VALUE rb_ary_shift(VALUE array)','array.shift','Removes and
1231
+ returns the first element from array.',
1232
+
1233
+ 'VALUE rb_ary_unshift(VALUE array, VALUE value)','array.unshift(value)',
1234
+ 'Pushes value onto the front of array and returns a reference to
1235
+ value.',
1236
+
1237
+ 'VALUE rb_ary_each(VALUE array)','array.each','Calls rb_yield() on each
1238
+ element of the array in turn and returns a reference to the array as
1239
+ its result',
1240
+
1241
+ 'VALUE rb_ary_join(VALUE array, VALUE sep)','array.join(sep)','Returns
1242
+ a new string whose contents are formed by joining the array elements
1243
+ with the specified string separator',
1244
+
1245
+ 'VALUE rb_ary_reverse(VALUE array)','array.reverse','Returns a
1246
+ reference to a new array whose elements are the same as those of
1247
+ array, in reverse order.',
1248
+
1249
+ 'VALUE rb_ary_sort(VALUE array)','array.sort','Returns a reference
1250
+ to a new array whose elements are the same as those
1251
+ of array, in sorted order.',
1252
+
1253
+ 'VALUE rb_ary_sort_bang(VALUE array)','array.sort!','
1254
+ performs an in-place sort of array and returns a reference to the
1255
+ array. Example: <br>
1256
+ <b>rb_funcall(ary, rb_intern("sort!"), 0</b>',
1257
+
1258
+ 'VALUE rb_ary_delete(VALUE array, VALUE value)',
1259
+ 'array.delete(value)','Deletes all occurrences of value
1260
+ from array and returns a reference to value.',
1261
+
1262
+ 'VALUE rb_ary_delete_at(VALUE array, long index)','array.delete_at(index)','
1263
+ deletes the array element at the specified index.',
1264
+
1265
+ 'VALUE rb_ary_clear(VALUE array)','array.clear','Removes
1266
+ all elements from the array and returns a reference to the array',
1267
+
1268
+ 'VALUE rb_ary_plus(VALUE array, VALUE other)','array.concat(other)',
1269
+ 'adds the contents of other onto the end of array and returns a
1270
+ reference to the array. Unlike rb_ary_plus(), this function
1271
+ does modify the first array',
1272
+
1273
+ 'VALUE rb_ary_includes(VALUE array, VALUE value)','array.include?(value)','
1274
+ returns Qtrue or Qfalse, depending on whether value is found in array.',
1275
+
1276
+ 'VALUE rb_ary_length(VALUE array)','array.length','Returns the legnth of
1277
+ the array as a Fixnum. An alternatvie method for determinign the
1278
+ length of an array is to use RARRAY(array)->len',
1279
+
1280
+ 'VALUE rb_ary_empty_pVALUE array)','array.empty?','returns
1281
+ Qtrue if the array lenght is zero, Qfalse otherwise.
1282
+ An alternative is to check the array length directly
1283
+ with RARRAY(array)->len'
1284
+ )+
1285
+ # ===================================================================== #
1286
+ # === ruby und .dup
1287
+ # ===================================================================== #
1288
+ ## Ruby und .dup',HEADER_CSS,'ruby_dup',HEADER_BORDER)+
1289
+ rb_str_dupstr
1290
+
1291
+ (Allerdings mag dies nicht mehr aktuell sein.)
1292
+
1293
+ # ===================================================================== #
1294
+ # === Globale Variables in Ruby
1295
+ # ===================================================================== #
1296
+ ## Globale Variablen in Ruby',HEADER_CSS,'ruby_global_vars',HEADER_BORDER)+
1297
+ Anmerkung: Man sollte seine globalen Variablen mit dem $
1298
+ Prefix prependen.','s0_5em
1299
+
1300
+ Allgemein deklarieren wir eine Variable in C-Ruby so (mit
1301
+ Beispiel):
1302
+
1303
+ rb_define_variable();
1304
+ rb_define_variable("$gvars", &hardware_list);
1305
+ rb_define_variable("$String", &MyString);
1306
+
1307
+ Folgender BeispielCode zeigt an, wie man globale Variablen in
1308
+ Ruby-C definiert:
1309
+
1310
+ static VALUE hardware_list;
1311
+ static VALUE MyString;
1312
+ MyString = rb_str_new(
1313
+ static VALUE Init_SysInfo() {
1314
+ rb_define_class(....
1315
+ hardware_list = rb_ary_new();
1316
+ rb_define_variable("$hardware", &hardware_list
1317
+ rb_ary_push(hardware_list, rb_str_new2("DVD")
1318
+ rb_ary_push(hardware_list, rb_str_new2("CDPlayer1")
1319
+ rb_ary_push(hardware_list, rb_str_new2("CDPlayer2")
1320
+ }
1321
+
1322
+ # ====================================================================== #
1323
+ # === RUBY ERRORS TAG ERROR TAG
1324
+ #
1325
+ # rb_raise tag.
1326
+ # rf embedded ruby_errors
1327
+ # ===================================================================== #
1328
+ ## Ruby Errors',HEADER_CSS,'ruby_errors',HEADER_BORDER)+
1329
+ Gezielte Errors erzielt man mittels <b>rb_raise</b> so:
1330
+
1331
+ rb_raise(rb_eRangeError, "0x%lx is recycled object", p0
1332
+
1333
+ Ein anderer Fehler zb so:
1334
+
1335
+ rb_raise(rb_eTypeError, "wrong argument type %s
1336
+ (expected %s)", etype, type->name);
1337
+
1338
+ rb_raise(rb_eTypeError, "operand is not valid type");
1339
+
1340
+ rb_raise(rb_eTypeError, "cannot convert
1341
+ %s into String", rb_obj_classname(arg1));
1342
+
1343
+ rb_raise(rb_eArgError, "no stream to tell");
1344
+
1345
+ rb_raise(rb_eNameError, "undefined method %s
1346
+ in super", rb_id2name(id));
1347
+
1348
+ rb_raise(rb_eTypeError, "type of arg must be Matrix");
1349
+
1350
+ Wie man übrigens sieht, werden Errors mit <b>rb_e</b>
1351
+ prepended.
1352
+
1353
+ # ===================================================================== #
1354
+ # === RUBY CLASS DEFINIEREN in C class tag
1355
+ # ===================================================================== #
1356
+ ## Ruby Classes definieren in RUBY C',HEADER_CSS,'Class_definieren',HEADER_BORDER)+
1357
+ Eine Klasse in ruby-C definieren geht über <b>static VALUE</b>:
1358
+
1359
+ static VALUE rb_cGenX;
1360
+ static VALUE rb_cGenXWriter;
1361
+ static VALUE rb_cFstabAppender;
1362
+ static VALUE rb_cTest;
1363
+
1364
+ Hier nochmals letzteres Beispiel kombiniert, um zu demonstrieren
1365
+ wie wir eine Klasse in <b>Ruby-C</b> definieren:
1366
+
1367
+ static VALUE cTest; cTest = rb_define_class("Test",
1368
+ <b>rb_cObject</b>); // <b class="red">class Test</b>
1369
+
1370
+ rb_cFstabAppender = rb_define_class("FstabAppender",
1371
+ rb_cObject);
1372
+
1373
+ Das zweite Argument (also <b>rb_cObject</b>) zeigt an,
1374
+ das unsere Klasse eine <b>Subklasse von Object</b> ist.
1375
+
1376
+ Object wird durch rb_cObject dargestellt. Den Rest
1377
+ findet man in ruby.h, bzw in Anhang D.
1378
+
1379
+ Um eine Klasse innerhalb zb eines Modules zu definieren
1380
+ muss man folgendes verwenden:
1381
+
1382
+ cTest = rb_define_class_under("Test", rb_cObject);
1383
+ rb_cMyFile = rb_define_class_under(rb_mHello,"MyFile", rb_cObject);
1384
+ rb_cGenXWriter = rb_define_class_under (rb_mGenX,
1385
+ "Writer", rb_cObject);
1386
+
1387
+ Die Klasse kann man dann einfach benutzen nachdem man die
1388
+ .so-SharedLib geladen hat.
1389
+
1390
+ Verwendungs Beispiel:
1391
+
1392
+ x = Test.new
1393
+ x = Jukebox.new
1394
+ x = SimpleClass.new
1395
+
1396
+ # ===================================================================== #
1397
+ # === rb define alloc func
1398
+ # ===================================================================== #
1399
+ ## Ruby Alloc',HEADER_CSS,'rb_define_alloc_func',HEADER_BORDER)+
1400
+ Noch keine Info dazu erhältlich.
1401
+
1402
+ rb_define_alloc_func();
1403
+
1404
+ # ===================================================================== #
1405
+ # rb iv set tag. #rb_iv_set
1406
+ # rf embedded rb_iv_set
1407
+ # ===================================================================== #
1408
+ ## rb_iv_set',HEADER_CSS,'rb_iv_set',HEADER_BORDER)+
1409
+ Eine Instanz Variable kann man auch setzen, und zwar so:
1410
+
1411
+ VALUE rb_iv_set(VALUE obj, char *name, VALUE value)
1412
+
1413
+ Dies setzt den Wert der <b>InstanzVariablen</b> namens name,
1414
+ also <b>@name</b> in ruby code, im Objekt auf value,
1415
+ welcher auch zurückgeliefert wird.
1416
+
1417
+ Konkrete Beispiele:
1418
+ br+
1419
+ rb_iv_set(self, "@array", array);
1420
+ rb_iv_set(self, "@msg", rb_str_new2("Hello, World !") // String Beispiel
1421
+ br+
1422
+ # ===================================================================== #
1423
+ # === Ruby Symbols
1424
+ # ===================================================================== #
1425
+ ## Ruby Symbols in RUBY C',HEADER_CSS,'Symbols_definieren',HEADER_BORDER)+
1426
+ Das Erstellen eines Symbols ist leicht:
1427
+
1428
+ ID2SYM( rb_intern("verbose") ); '+ruby('/* In Ruby :verbose */'))+
1429
+ ID2SYM( rb_intern("noop") ); '+ruby('/* In Ruby :noop */'))+
1430
+
1431
+ rb_intern() gibt einem eine ID, die lediglich eine C Nummer ist.
1432
+ Man muss diese Nummer in ein Ruby Symbol Objekt verändern mittels
1433
+ des <b>ID2SYM() macro</b>.
1434
+
1435
+ Hierzu nun ein kompletteres Beispiel:
1436
+
1437
+ ID2SYM(rb_intern("name"));
1438
+ node_name = ID2SYM(rb_intern("ICKY"));
1439
+ ID method = rb_intern("<<");
1440
+
1441
+ creates a symbol :name for the string name.
1442
+
1443
+ Hat man die ID kann man <b>rb_id2name</b> verwenden um
1444
+ den Namen zu rekonstruieren.
1445
+
1446
+ Diese Nummer verwandelt man in ein Ruby Symbol Object
1447
+ indem man das ID2SYM() macro verwendet.
1448
+
1449
+ Den ID Wert eines Strings innerhalb von C erhält man
1450
+ allgemein so:
1451
+
1452
+ rb_intern(const char *name);
1453
+
1454
+ header('class Thread
1455
+ VALUE rb_thread_create(VALUE *func, void *data)
1456
+ Dies erstellt ein neues Thread.
1457
+
1458
+ # ===================================================================== #
1459
+ # === rb_obj_is_instance_of
1460
+ # ===================================================================== #
1461
+ div(id: 'rb_obj_is_instance_of'){
1462
+ h2('rb_obj_is_instance_of
1463
+ rb_obj_is_instance_of
1464
+ br
1465
+
1466
+ # ===================================================================== #
1467
+ # === Ruby Nil tag
1468
+ # ===================================================================== #
1469
+ ## Ruby Nil',HEADER_CSS,'nil',HEADER_BORDER)+
1470
+ Es scheint so zu sein, das man in Ruby Qnil als Ergebnis zu
1471
+ liefern hat, auch wenn die Methode an sich nix macht...
1472
+
1473
+ VALUE some_function(int argc, VALUE *argv, VALUE classmod)
1474
+ {
1475
+ return Qnil;
1476
+ }
1477
+
1478
+ # ===================================================================== #
1479
+ # === ruby_inline
1480
+ # ===================================================================== #
1481
+ div(id: 'ruby_inline'){
1482
+ Mittels ruby inline kann man C code in .rb Dateien einbetten.
1483
+ br +
1484
+ Dies kann oft zu schnellerem Code führen.
1485
+
1486
+ require('inline'")+
1487
+ class << self
1488
+ inline do |builder|
1489
+ cmd3(' builder.c "
1490
+ cmd4(' int dummy(int input) {
1491
+ cmd5(' int i = 1;
1492
+ cmd5(' while (input >= 1) { input--; i *= 2; }
1493
+ cmd5(' return i;
1494
+ cmd4(' }
1495
+ cmd3(' "
1496
+ end
1497
+ end
1498
+
1499
+ puts dummy(8)')
1500
+
1501
+ # ===================================================================== #
1502
+ # === String tag strings tag.
1503
+ #
1504
+ # rb_eval_string tag. rf embedded rb_eval_string
1505
+ #
1506
+ # ===================================================================== #
1507
+ div(id: 'rb_eval_string'){
1508
+ h2("rb_eval_string und weitere String Functions",'','strings
1509
+ Mittels rb eval kann man bequem Ruby Code testen:','','','Strings
1510
+ rb_eval_string("anObject.each{|x| x.clearFlag }"
1511
+
1512
+ Will man eine spezielle Methode aufrufen (sollte schneller gehen
1513
+ als eval), so ist folgendes zu empfehlen:
1514
+
1515
+ rb_funcall(receiver, method_id, argc, ...)
1516
+
1517
+ Hier noch die andere String Functions:
1518
+
1519
+ h2('String functions
1520
+
1521
+ rb_str_new(const char *ptr, long len);
1522
+ --Creates a new Ruby string.
1523
+ rb_str_new2(const char *ptr);
1524
+ -- Creates a new Ruby string from a C string.
1525
+ This is equivalent to rb_str_new(ptr, strlen(ptr))
1526
+ rb_tainted_str_new(const char *ptr, long len)
1527
+ -- Creates a new tainted Ruby string.
1528
+ Strings from external data sources should be tainted.
1529
+
1530
+ rb_tainted_str_new2(const char *ptr);
1531
+ -- Creates a new tainted Ruby string from a C string.
1532
+
1533
+ rb_str_cat(VALUE str, const char *ptr, long len);
1534
+ -- Appends len bytes of data from ptr to the Ruby string.
1535
+
1536
+ # =================================================================== #
1537
+ # === rb_define_module_function
1538
+ # =================================================================== #
1539
+ div(id: 'rb_define_module_function'){
1540
+ Dies nutzt man um module_function zu implementieren.
1541
+
1542
+ rb_define_module_function')
1543
+
1544
+ # =================================================================== #
1545
+ # === Strings in Ruby
1546
+ # =================================================================== #
1547
+ ## Ruby Strings auf C Ebene', HEADER_CSS,'ruby_str_new',HEADER_BORDER)+
1548
+ Strings in Ruby werden so verwendet:
1549
+
1550
+ rb_str_new2
1551
+
1552
+ Dies is die typische Art von Ruby, wie man Strings nutzt
1553
+
1554
+ VALUE str = rb_str_new2(p);
1555
+ return str;
1556
+ result = xmlBufferCreate();
1557
+ ret = rb_str_new2(result->content);
1558
+
1559
+ Noch ein Beispiel:
1560
+
1561
+ VALUE roebe;
1562
+ roebe = rb_str_new2("Roebe war hier");
1563
+ printf("%s <--",roebe);
1564
+
1565
+ Noch ein Beispiel:
1566
+
1567
+ VALUE string;
1568
+ string = rb_str_new2("Dein String");
1569
+ Will man die Information von einem Ruby String als einen C
1570
+ String repräsentieren, verwendet man das STR2CSTR Makro.
1571
+
1572
+ VALUE stringObj;
1573
+ char *cstr;
1574
+ cstr = STR2CSTR(stringObj);
1575
+
1576
+ anm('Dieses Makro gibt einem einen Pointer zurück, der die
1577
+ aktuelle String Daten hat - es ist also keine Kopie, und man
1578
+ sollte genau schauen was man damit macht.
1579
+
1580
+ Will man die echte Länge eines Ruby String wissen, inklusive der
1581
+ NULL bytes und so weiter, kann man dies verwenden:
1582
+
1583
+ VALUE stringObj;
1584
+ char *cstr;
1585
+ int stringLength;
1586
+ cstr = rb_str2cstr(stringObj, &stringLength);
1587
+
1588
+ Statt diesem Weg gibt es einen noch schnelleren Weg:
1589
+
1590
+ VALUE stringObj;
1591
+ int stringLength;
1592
+ stringLength = RSTRING(stringObj)->len;
1593
+ p {
1594
+ Hier noch Funktionen um einen neuen String zu
1595
+ erstellen (String.new):
1596
+
1597
+ table2('','','',
1598
+ 'VALUE rb_str_new(const char *str, long size)','Returns a
1599
+ new string whose contents are copied from the first size
1600
+ characters pointed to by str.',
1601
+ 'VALUE rb_str_ne2 (const char *cstr)','Returns a new Ruby string
1602
+ whose contents are copied from the NULL-terminated C string cstr.'
1603
+ )+
1604
+
1605
+ Und hier Funktionen, mit denen wir mit Strings arbeiten:
1606
+
1607
+ table3('','','',
1608
+ 'C Funktion','Äquivalentes Ruby Statement','Beschreibung',
1609
+ 'VALUE rb_str_to_str(VALUE obj)','obj.to_str', 'Attempts to
1610
+ convert the original object to a string by calling its to_str method.',
1611
+ 'VALUE rb_str_dup VALUE str)','String.new(str)','Returns a
1612
+ new string that is a duplicate of the original',
1613
+ 'VALUE rb_str_plus(VALUE str1, VALUE str2)','str1+str2.to_str',
1614
+ 'returns a new string formed by concatenating the contents of str1
1615
+ and str2; neither of the original strings is modified. Note
1616
+ that if str2 is not a string but is a string-like object
1617
+ that implements a to_str method, Ruby will first call that
1618
+ objects to_str method to get a string representation
1619
+ of str2',
1620
+ 'VALUE rb_str_times(VALUE str, VALUE count)','str * count',
1621
+ 'Returns a new string which is formed by repeating the
1622
+ original string count times.',
1623
+ 'VALUE rb_str_substr(VALUE str, long start, long length)',
1624
+ 'str[start, length]','Returns a new string which is the
1625
+ substring of str, beginning at position start and with
1626
+ specified length.',
1627
+ 'VALUE rb_str_cat(VALUE str, const char *str, long size)',
1628
+ 'str += "another string"','Modifies the original string
1629
+ by adding the first size characters pointed to by str to
1630
+ the end of this string. Returns a reference to
1631
+ the modified string.',
1632
+ 'VALUE rb_str_cat2(VALUE str, const char *cstr)','','
1633
+ same as rb_str_cat(), but assumes that cstr is a
1634
+ NULL-terminated C string.',
1635
+ 'VALUE rb_str_append(VALUE str1, VALUE str2)','str1 += str2.to_str',
1636
+ 'Modifies str1 by appending str2 to it. Note that if str2 is not
1637
+ astring but is a string-like object that
1638
+ implements a to_str method, Ruby will first call that objects
1639
+ to_str method to get a string representation of str',
1640
+ 'VALUE rb_str_concat(VALUE str1, VALUE str2)','str1 << str2',
1641
+ 'Modifies str1 by concatenating it with str2. If str2 is a Fixnum,
1642
+ it is interpreted as an ASCII character code; otherwise, the
1643
+ same rules used for rb_str_append() apply.',
1644
+ 'int rb_str_hash(VALUE str)','str.hash','returns the hash code for str',
1645
+ 'int rb_str_cmpVALUE str1, VALUE str2)','str1 <=> str','Compares
1646
+ the contents of the two strings and returns -1 if str1 is lexicographically
1647
+ less than str2, 1 if str1 is greater than str2, or 0 if they are equial.',
1648
+ 'VALUE rb_str_match(VALUE str, VALUE obj)','str =~ obj','Uses obj as a pattern
1649
+ to match against str. If obj is either a Regexp or String instance,
1650
+ rb_str_match() will return a Fixnum containing the match position or
1651
+ Qnil if no match is found. If obj is some other type that doesnt
1652
+ implement a =~ method, rb_str_match() will return QFalse',
1653
+ 'VALUE rb_str_split(VALUE str, const char *pattern)','str.split(pattern)',
1654
+ 'Returns a new array formed by splitting the input string at delimiters
1655
+ specified in the pattern string. If pattern is not a single
1656
+ character string (for example, a comma) it is evaluated as a
1657
+ regular expression.',
1658
+ 'VALUE rb_str_length(VALUE str)','str.length','Returns the length of str.',
1659
+ 'VALUE rb_str_empty(VALUE str)','str.empty?','Returns Qtrue if str
1660
+ is empty (its size = 0), otherwise it returns Qfalse'
1661
+ )
1662
+ }
1663
+
1664
+ # ===================================================================== #
1665
+ # === ANHANG TAG
1666
+ #
1667
+ # ANHANG A
1668
+ # ===================================================================== #
1669
+ div('mart3em s0_5em'){
1670
+ h1('Anhang zu Embedding and Extending Ruby','','','Anhang
1671
+ h2('Anhang A - bitte alfabetisch ordnen.
1672
+ h3('Structs:
1673
+
1674
+ table2('s2em','','anhang_a',
1675
+ '<b>struct RArray</b>','array',
1676
+ '<b>struct RBignum</b>','big integers (one of the three numeric types)',
1677
+ '<b>struct RClass</b>','class object, also has
1678
+ an m_tbl (a symbol table for storing methods)
1679
+ and a superclass (pointer to a superclass)',
1680
+ '<b>struct RData</b>','all the classes defined at C level,
1681
+ except the ones mentioned above',
1682
+ '<b>struct RFile</b>','IO, File, Socket, etc',
1683
+ '<b>struct RFloat</b>','small numbers',
1684
+ '<b>struct RHash</b>','hash table',
1685
+ '<b>struct RObject</b>','all things for which none of
1686
+ the following applies',
1687
+ '<b>struct RRegexp</b>','regular expression',
1688
+ '<b>struct RString</b>','string class',
1689
+ '<b>struct RStruct</b>',"Ruby's Struct class"
1690
+ )
1691
+
1692
+ # ===================================================================== #
1693
+ # === Anhang B - Makros und Methoden zum Konvertieren
1694
+ #
1695
+ # MAKROS TAG
1696
+ # rf rembedded anhang_b
1697
+ # ===================================================================== #
1698
+ h3('Anhang B - Makros und Methoden zum Konvertieren
1699
+ table2('s2em','','anhang_b',
1700
+ '<b>INT2FIX(long or int)</b>','Integer nach Fixnum
1701
+ Konvertierung (faster) [Beispiel: v_age = INT2FIX(25]',
1702
+ '<b>INT2NUM(int)</b>','Fixnum or Bignum',
1703
+ '<b>INT2NUM(long or int)</b>','Fixnum or Bignum',
1704
+ '<b>LL2NUM</b>','conversion for 64bit',
1705
+ '<b>LONG2FIX</b>','',
1706
+ '<b>rb_str_new2(char *)</b>','String',
1707
+ '<b>rb_float_new(double)</b>','Float, wird zum
1708
+ Beispiel so eingesetzt:
1709
+ <b>return rb_float_new(qp_get_frame_rate(movie_ctx)</b>'
1710
+ )+
1711
+ # ===================================================================== #
1712
+ # === Anhang C
1713
+ #
1714
+ # CHECKS TAG
1715
+ # ===================================================================== #
1716
+ h3('Anhang C - Checks (Pointer ist zum Beispiel
1717
+ <b>unsigned long ptr</b>, p0; p0 =
1718
+ ptr = NUM2ULONG(objid)
1719
+ table2('s2em','','anhang_c',
1720
+ 'if (ptr == Qtrue)', 'return Qtrue;',
1721
+ 'if (ptr == Qfalse)','return Qfalse;',
1722
+ 'if (ptr == Qnil)', 'return Qnil;'
1723
+ )+
1724
+ # ===================================================================== #
1725
+ # === CLASS VARS TAG
1726
+ # ===================================================================== #
1727
+ h3('Anhang D - Vordefinierte Klassenvariablen, bitte <b>alphabetisch</b>
1728
+ ordnen.
1729
+ table2('s2em', '','anhang_d',
1730
+ 'rb_cArray;', '',
1731
+ 'rb_cBignum;', '',
1732
+ 'rb_cClass;', '',
1733
+ 'rb_cDir;', '',
1734
+ 'rb_cData;','',
1735
+ 'rb_cFalseClass;','',
1736
+ 'rb_cFile;','',
1737
+ 'rb_cFixnum;', '',
1738
+ 'rb_cFloat;', '',
1739
+ 'rb_cHash;','',
1740
+ 'rb_cInteger;', 'oder <b>rb_int_new(</b><br>
1741
+ rb_define_const(iFP, "MAX_PATHLEN", rb_int_new(IFP_MAXPATHLEN)',
1742
+ 'rb_cIO;', '',
1743
+ 'rb_cModule;', '',
1744
+ 'rb_cNilClass;', '',
1745
+ 'rb_cNumeric;', '',
1746
+ 'rb_cObject;', '',
1747
+ 'rb_cproc;','',
1748
+ 'rb_cRange;', '',
1749
+ 'rb_cRegexp;', '',
1750
+ 'rb_cString;', '',
1751
+ 'rb_cStruct;', '',
1752
+ 'rb_cSymbol;', '',
1753
+ 'rb_cThread;', '',
1754
+ 'rb_cTime;','',
1755
+ 'rb_cTrueClass;', ''
1756
+ )+
1757
+ # ===================================================================== #
1758
+ # === Anhang E - Data Types für Ruby
1759
+ # ===================================================================== #
1760
+ h3('Anhang E - Data Types für Ruby (<b>alphabetisch</b> geordnet)
1761
+ table2('BO mars4px s2em','','anhang_e',
1762
+ 'T_ARRAY', 'array',
1763
+ 'T_BIGNUM', 'multi precision integer',
1764
+ 'T_CLASS', 'class',
1765
+ 'T_DATA', 'data',
1766
+ 'T_FALSE', 'false',
1767
+ 'T_FILE', 'IO',
1768
+ 'T_FIXNUM', 'Fixnum(31bit integer)',
1769
+ 'T_FLOAT', 'floating point number',
1770
+ 'T_HASH', 'associative array',
1771
+ 'T_MODULE', 'module',
1772
+ 'T_NIL', 'nil',
1773
+ 'T_OBJECT', 'ordinary object',
1774
+ 'T_REGEXP', 'regular expression',
1775
+ 'T_STRING', 'string',
1776
+ 'T_STRUCT', '(Ruby) structure',
1777
+ 'T_SYMBOL ','symbol',
1778
+ 'T_TRUE', 'true'
1779
+ )+
1780
+ # ===================================================================== #
1781
+ # === Anhang F
1782
+ #
1783
+ # Functions for Working with Objects #anhang_f
1784
+ # ===================================================================== #
1785
+ h3('Anhang F - Funktionen zum Arbeiten mit Objekten
1786
+ (<b>alphabetisch</b> ordnen)
1787
+ table2('FW4 mars4px s2em','','anhang_f',
1788
+ 'void rb_obj_call_init (<b>VALUE</b> obj, int argc, VALUE *argv)',
1789
+ 'Calls the objects initialize method, passing the array
1790
+ of arguments, argv, with lengthc argc.array',
1791
+
1792
+ '<b>VALUE</b> rb_obj_is_instance_of(VALUE obj, VALUE klass)','Returns
1793
+ Qtrue (the C constant for rubys true) if obj is an instance of
1794
+ class klass.',
1795
+
1796
+ '<b>VALUE</b> rb_obj_is_kind_of (VALUE obj, VALUE klass)',
1797
+ 'Returns Qtrue if obj is an instance of class klass or one
1798
+ of its subclasses',
1799
+
1800
+ '<b>VALUE</b> rb_obj_clone (VALUE obj)','Returns the result of
1801
+ calling the objects <b>.clone</b> method',
1802
+
1803
+ '<b>VALUE</b> rb_obj_dup (VALUE obj)','Returns the result of
1804
+ calling the objects <b>.dup</b> method.',
1805
+
1806
+ '<b>VALUE</b> rb_any_to_s (VALUE obj)','Returns a string containing
1807
+ information about the object, the default <b>.to_s</b> method
1808
+ from Rubys Kernel module',
1809
+
1810
+ '<b>VALUE</b> rb_obj_as_string (VALUE obj)','returns a string
1811
+ representation of obj by first calling the objects <b>.to_s</b>
1812
+ method or, if that fails, by calling rb_any_to_s() on obj',
1813
+
1814
+ '<b>VALUE</b> rb_inspect (VALUE obj)','returns the result of
1815
+ calling the objects <b>.inspect</b> method'
1816
+ )+
1817
+ # ===================================================================== #
1818
+ # === Anhang G
1819
+ #
1820
+ # Functions for Conversion from Ruby Numeric Types into C
1821
+ #
1822
+ # Numeric Types.
1823
+ # ===================================================================== #
1824
+ h3('Anhang G - Funktionen zum Konvertieren von Ruby Numeric Types in
1825
+ C Numeric Types (<b>alphabetisch</b> ordnen)
1826
+ table2('FW4 mars4px s2em','','anhang_g',
1827
+ 'C Function/Macro','Beschreibung',
1828
+ 'int NUM2INT (VALUE aNumeric)','Converts the input Numeric
1829
+ value to a C int. If you know that the input value is a
1830
+ Fixnum, use the faster FIX2INT macro.',
1831
+
1832
+ 'int FIX2INT(VALUE aFixnum)','Converts the input
1833
+ Fixnum value to a C int.',
1834
+
1835
+ 'unsigned int NUM2UINT(VALUE aNumeric)','Converts the
1836
+ input Numeric value to a C unsigned int. If you know that
1837
+ the input value is a Fixnum, use the faster FIX2UINT macro.',
1838
+
1839
+ 'unsigned int FIX2UINT(VALUE aFixnum)','Converts the input
1840
+ Fixnum value to a C unsigned int.',
1841
+
1842
+ 'long NUM2LONG (VALUE aNumeric)','Converts the input Numeric
1843
+ value to a C long. If you know that the input value is
1844
+ a Fixnum, use the faster FIX2LONG macro',
1845
+
1846
+ 'long FIX2LONG (VALUE aFixnum)','Converts the input Fixnum
1847
+ value to a C long',
1848
+
1849
+ 'unsigned long NUM2ULONG (VALUE aNumeric)','Converts
1850
+ the input Numeric value to a C unsigned long',
1851
+
1852
+ 'char NUM2CHR (VALUE aNumeric)', 'converts the input
1853
+ Numeric value to a C char',
1854
+
1855
+ 'double NUM2DBL (VALUE aNumeric)','Converts the input
1856
+ Numeric value to a C double',
1857
+
1858
+ 'VALUE INT2NUM(int i) or VALUE INT2NUM(long l) ','converts
1859
+ the input int or long value into either a Fixnum or
1860
+ Bignum instance, depending on its size.',
1861
+
1862
+ 'VALUE INT2FIX(int i) or VALUE INT2FIX(long l)',' converts
1863
+ the input int or long alue into a Fixnum. If you are sure
1864
+ that the input value will fit into a Fixnumm, this macro
1865
+ is a little faster than the INT2NUM macro.',
1866
+
1867
+ 'VALUE CHR2FIX(char c)','converts the input char value
1868
+ into a fixnum.',
1869
+
1870
+ 'VALUE rb_float_new(double f) ','converts the input
1871
+ double value into a Float'
1872
+ )+
1873
+ # ===================================================================== #
1874
+ # === Anhang H
1875
+ # ===================================================================== #
1876
+ h3('Anhang H
1877
+ div {
1878
+ h3('Ruby API Accessing Variables
1879
+ rb_iv_get
1880
+ rb_ivar_get
1881
+ rb_iv_set
1882
+ rb_ivar_set
1883
+ rb_gv_set
1884
+ rb_gv_get
1885
+ rb_cvar_set
1886
+ rb_cvar_get
1887
+ rb_cvar_defined
1888
+ rb_cv_set
1889
+ rb_cv_get')
1890
+
1891
+ # ========================================================================= #
1892
+ # === LINKS ZU EMBEDDED RUBY
1893
+ # ========================================================================= #
1894
+ div('marpad1em marl2_5em','','border:5px dotted grey'){
1895
+ h2('Links zu Embedded Ruby','mart2px
1896
+ p('marl1em ind0px'){
1897
+ a('http://www.onlamp.com/pub/a/onlamp/2004/11/18/extending_ruby.html',
1898
+ content: 'RubyOnLamp.com', css_class: 's1em'
1899
+ )+
1900
+
1901
+ a('http://rhg.rubyforge.org/chapter02.html',
1902
+ content: 'A GREAT Tutorial', css_class: 's1em'
1903
+ )+
1904
+
1905
+ a('http://www.ruby-doc.org/doxygen/1.8.4/classes.html',
1906
+ content: 'Die C Klassen von Ruby', css_class: 's1em'
1907
+ )+
1908
+
1909
+ a('http://www.oreillynet.com/ruby/blog/2006/02/ruby_values_and_object_ids.html',
1910
+ content: 'Ruby VALUEs und .object_id', css_class: 's1em'
1911
+ )+
1912
+
1913
+ a('http://eigenclass.org/hiki.rb?ruby+internals+guide',
1914
+ content: 'Ruby VALUEs und .object_id', css_class: 's1em'
1915
+ )+
1916
+
1917
+ a('http://phrogz.net/ProgrammingRuby/ext_ruby.html',
1918
+ content: 'Auch gute Erklärungen', css_class: 's1em'
1919
+ )+
1920
+
1921
+ a('http://www.oreillynet.com/ruby/blog/2007/04/c_extension_authors_use_rb_sca_1.html',
1922
+ content: 'Ruby-C Scan Arg Beispiel', css_class: 's1em'
1923
+ )+
1924
+
1925
+ a('http://www.jaredrichardson.net/blog/2006/03/25/#C-extenstions',
1926
+ content: 'Ruby-C', css_class: 's1em'
1927
+ )+
1928
+
1929
+ a('http://www.rubyist.net/~nobu/ruby/Ruby_Extension_Manual.html',
1930
+ content: 'Extending Ruby', css_class: 's1em'
1931
+ )+
1932
+
1933
+ a('http://fixnum.org/ruby_c.html',
1934
+ content: 'Von Ruby zu C', css_class: 's1em'
1935
+ )+
1936
+
1937
+ a('http://izumi.plan99.net/blog/index.php/2007/10/12/how-the-ruby-heap-is-implemented/',
1938
+ content: 'Ruby und Heap Management', css_class: 's1em'
1939
+ )+
1940
+
1941
+ a('http://www.ruby-forum.com/',
1942
+ content: 'Ruby Forum', css_class: 's1em'
1943
+ )+
1944
+
1945
+ a('http://blog.zenspider.com/archives/2006/08/writing_c_exten.html',
1946
+ content: 'Zenspider on Writing a C extension', css_class: 's1em'
1947
+ )+
1948
+
1949
+ a('http://banisterfiend.wordpress.com/2008/10/25/the-secret-life-of-singletons/',
1950
+ content: 'The Secret of Singletons', css_class: 's1em'
1951
+ )+
1952
+
1953
+ a('http://www.rubyfleebie.com/ruby-and-c-part-1/',
1954
+ content: 'Ruby and C', css_class: 's1em'
1955
+ )+
1956
+
1957
+ a('http://coaxialhost.com/tutorials/writing_ruby_extensions.html',
1958
+ content: 'Ruby and C', css_class: 's1em'
1959
+ )+
1960
+
1961
+ a('https://silverhammermba.github.io/emberb/c/',
1962
+ content: 'Ruby and C', css_class: 's1em'
1963
+ )+
1964
+
1965
+ a(:c_language, content: 'Lokale C Page', css_class: 's1em
1966
+
1967
+ a(:ruby_gtk, content: 'Lokale GTK Page', css_class: 's1em
1968
+ br
1969
+