ArcherSysOS 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/-interactive +0 -0
  3. data/.302.html.swp +0 -0
  4. data/.AerodiaServer.rb.swp +0 -0
  5. data/.README.md.swp +0 -0
  6. data/.archersys_os_peace.py.swp +0 -0
  7. data/.authorize.php.swp +0 -0
  8. data/.buildinfo +4 -0
  9. data/.git.cmd.swp +0 -0
  10. data/.gitconfig +1 -0
  11. data/.gitignore +9 -0
  12. data/.htaccess +12 -0
  13. data/.index.php.swl +0 -0
  14. data/.index.php.swm +0 -0
  15. data/.index.php.swn +0 -0
  16. data/.index.php.swo +0 -0
  17. data/.index.php.swp +0 -0
  18. data/.irb.cmd.swp +0 -0
  19. data/.irb_history +436 -0
  20. data/.irbrc +24 -0
  21. data/.irbrc~ +24 -0
  22. data/.livesearch.php.swp +0 -0
  23. data/.login.php.swl +0 -0
  24. data/.login.php.swm +0 -0
  25. data/.login.php.swn +0 -0
  26. data/.login.php.swo +0 -0
  27. data/.login.php.swp +0 -0
  28. data/.logout.php.swp +0 -0
  29. data/.npmrc +96 -0
  30. data/.os-desktop.php.swp +0 -0
  31. data/.pythonrc.py +11 -0
  32. data/.railsrc +1 -0
  33. data/.travis.yml +3 -0
  34. data/.vimstarter.bat.swp +0 -0
  35. data/302.html +8 -0
  36. data/401.html +43 -0
  37. data/403.html +9 -0
  38. data/404.html +43 -0
  39. data/7imperialisminjapan2.ppt +0 -0
  40. data/8_imperialism_by_the_united_states2.ppt +0 -0
  41. data/AbstractArrbyKlass.rb +16 -0
  42. data/AbstractImplementation.rb +10 -0
  43. data/Aerodia2.scn +0 -0
  44. data/AerodiaServer.rb +130 -0
  45. data/AerodiaServer.rb~ +129 -0
  46. data/AerodiaServer.txt +53 -0
  47. data/ArcherCGI.txt +8 -0
  48. data/ArcherDBM.rb +30 -0
  49. data/ArcherSysOS.gemspec +33 -0
  50. data/ArcherSysOS.rb +13 -0
  51. data/ArcherSysOS.rb.txt +13 -0
  52. data/ArcherSysOSDate.rb +10 -0
  53. data/ArcherSysOSOptionsParser.rb +108 -0
  54. data/ArcherSysOSOptionsParser.rb~ +108 -0
  55. data/ArcherVMCashewDelegator.rb +17 -0
  56. data/ArcherVMCashewLogger.rb +55 -0
  57. data/ArcherVMCashewLogger.rb~ +55 -0
  58. data/ArcherVMCashewTimeServer.rb +23 -0
  59. data/ArcherVMCashewTimeServer.rb~ +23 -0
  60. data/ArcherVMException.rb +13 -0
  61. data/CHANGELOG.md +4 -0
  62. data/CONTRIBUTING.md +8 -0
  63. data/CodeIgniter_2.2.0.zip +0 -0
  64. data/ConfigTest.php +11 -0
  65. data/F16MUDCockpitServlet.rb +14 -0
  66. data/F16MUDTape.rb +7 -0
  67. data/F16Shell.rb +42 -0
  68. data/Gemfile +4 -0
  69. data/LICENSE +19 -0
  70. data/Listing.rb +31 -0
  71. data/Middleware.rb +12 -0
  72. data/Middleware.txt +12 -0
  73. data/Movie.rb +8 -0
  74. data/MovieLibrary.rb +10 -0
  75. data/MySQLDumper1.24.4.zip +0 -0
  76. data/NotakerPro.aia +0 -0
  77. data/Num.rb +17 -0
  78. data/OSStartScreen.py +31 -0
  79. data/Product.rb +26 -0
  80. data/QAERODIACORP.sav +0 -0
  81. data/Queue.rb +16 -0
  82. data/Queue.rb~ +15 -0
  83. data/README.md +39 -0
  84. data/README.md~ +46 -0
  85. data/Rakefile +1 -0
  86. data/StockTickerServlet.rb +19 -0
  87. data/StockTickerServlet.rb~ +19 -0
  88. data/Symfony_cookbook_2.5.pdf +35637 -39
  89. data/Taxgator.rb +9 -0
  90. data/Tetris +2 -0
  91. data/Ticker.rb +63 -0
  92. data/Ticker.rb~ +63 -0
  93. data/WeakHash.rb +10 -0
  94. data/WikiPage.rb +27 -0
  95. data/WikiPage.rb~ +27 -0
  96. data/ZlibEngine.rb +20 -0
  97. data/_.swm +0 -0
  98. data/_.swn +0 -0
  99. data/_.swo +0 -0
  100. data/_.swp +0 -0
  101. data/acoserver_acoserver (2).sql +15131 -0
  102. data/acoserver_acoserver.sql +34707 -0
  103. data/acoserver_admin.sql +571 -0
  104. data/acoserver_games.sql +6344 -0
  105. data/acoserver_moodle.sql +16013 -0
  106. data/activate_docs_gen.bat +1 -0
  107. data/activate_docs_gen.txt +1 -0
  108. data/ager.py +6 -0
  109. data/alarmpy.py +6 -0
  110. data/american_imperialism2.ppt +0 -0
  111. data/apple-touch-icon.png +0 -0
  112. data/apps.php +35 -0
  113. data/apps.php.txt +7 -0
  114. data/arbylog.rb +16 -0
  115. data/archergit.py +6 -0
  116. data/archergit.py.txt +6 -0
  117. data/archergit.txt +6 -0
  118. data/archerlua.lua +3 -0
  119. data/archersys-logo.png +0 -0
  120. data/archersys.gemspec +32 -0
  121. data/archersys_os_peace.py +7 -0
  122. data/archersys_os_peace.py~ +5 -0
  123. data/autoexec.bat +3 -0
  124. data/bootstrap-tour.css +65 -0
  125. data/bootstrap-tour.js +698 -0
  126. data/bootstrap-tour.min.css +19 -0
  127. data/bootstrap-tour.min.js +19 -0
  128. data/bootstrap.css +7098 -0
  129. data/bootstrap.js +2002 -0
  130. data/bucketwise-master.zip +0 -0
  131. data/cargo.bat +1 -0
  132. data/cargo.cmd +1 -0
  133. data/changelog.txt +769 -0
  134. data/client_secrets.json +4 -0
  135. data/cockpitguess.py +12 -0
  136. data/collaborant-0.1.0.gem +0 -0
  137. data/composer.json +40 -0
  138. data/composer.lock +1484 -0
  139. data/composer.phar +0 -0
  140. data/conchtack_id.dat +0 -0
  141. data/config.json +4 -0
  142. data/config.php +17 -0
  143. data/config.ru +5 -0
  144. data/config.yml +16 -0
  145. data/console.html +8 -0
  146. data/console.php +42 -0
  147. data/contact.db +0 -0
  148. data/contacts.db +0 -0
  149. data/contrib-update.cmd +6 -0
  150. data/contrib-update.cmd~ +6 -0
  151. data/crossdomain.xml +9 -0
  152. data/cse.xml +25 -0
  153. data/depression_dbq.pdf +0 -0
  154. data/desktop-w10.php +6 -0
  155. data/desktop.html +33 -0
  156. data/desktop.php +310 -0
  157. data/dialogue.txt +13 -0
  158. data/dict.rb +15 -0
  159. data/dictionary_of_words.db +0 -0
  160. data/doc-create.html +5 -0
  161. data/doc-create.php +12 -0
  162. data/dokuwiki-d9556fbc2c1c07a0baaf81c07d4165f6.tgz +0 -0
  163. data/drive-appfolder.php +19 -0
  164. data/drive.php +49 -0
  165. data/dropbox-login.php +13 -0
  166. data/drupal-7.34.zip +0 -0
  167. data/dtop.php +131 -0
  168. data/f18mud.rb +2 -0
  169. data/favicon.ico +0 -0
  170. data/favicon.png +0 -0
  171. data/footer.html +5 -0
  172. data/forum.php +5 -0
  173. data/game1.py +171 -0
  174. data/genindex.html +164 -0
  175. data/git.cmd~ +2 -0
  176. data/github-ci.rb +6 -0
  177. data/histogram.py +36 -0
  178. data/htdocs.gemspec~ +31 -0
  179. data/https___summerjobs.dc.gov_(S(ryzytlym5hqgi255zgb4ojjk))_parental_consent_form.pdf +0 -0
  180. data/ieconfig.xml +12 -0
  181. data/imperialism_dbq_questions2.doc +0 -0
  182. data/imperialism_graphic_organizer2.docx +0 -0
  183. data/index-desktop.php +42 -0
  184. data/index-desktop.php.txt +14 -0
  185. data/index.html +175 -0
  186. data/index.php +302 -0
  187. data/index.php~ +315 -0
  188. data/info.php +3 -0
  189. data/iostarter.py +88 -0
  190. data/irb.cmd +3 -0
  191. data/irb.cmd~ +2 -0
  192. data/jquery-mobile-theme-105213-0.zip +0 -0
  193. data/jquery-ui-1.11.1.custom.zip +0 -0
  194. data/laravel-master.zip +0 -0
  195. data/laravel.phar +0 -0
  196. data/latest_specs.4.8 +0 -0
  197. data/latest_specs.4.8.gz +0 -0
  198. data/login.php +266 -0
  199. data/login.php~ +265 -0
  200. data/logout.php +13 -0
  201. data/logout.php~ +13 -0
  202. data/lua.bat +1 -0
  203. data/main.php +22 -0
  204. data/manage.py +10 -0
  205. data/manifest.appcache +22 -0
  206. data/manifest.json +19 -0
  207. data/manifest.webapp +14 -0
  208. data/meter.js +19 -0
  209. data/meter.php +17 -0
  210. data/mime.types +0 -0
  211. data/moodle.sqk +12123 -0
  212. data/moodle.sql +12123 -0
  213. data/movielibrary.rhtml +16 -0
  214. data/mud_login.rb +38 -0
  215. data/news.py +18 -0
  216. data/node.exe +0 -0
  217. data/node_etw_provider.man +153 -0
  218. data/node_perfctr_provider.man +107 -0
  219. data/nodejs-portable.bat +194 -0
  220. data/nodevars.bat +24 -0
  221. data/notifications-gateway.php +5 -0
  222. data/now.bat +3 -0
  223. data/npm +14 -0
  224. data/npm-debug.log +40 -0
  225. data/npm.cmd +6 -0
  226. data/objects.inv +0 -0
  227. data/ocular.phar +0 -0
  228. data/opensearch.xml +12 -0
  229. data/os-desktop.php +211 -0
  230. data/os-mobile.php +127 -0
  231. data/package.json +5 -0
  232. data/parse-js-blank-1.3.0.zip +0 -0
  233. data/partii.appcache +2 -0
  234. data/pear.conf +2 -0
  235. data/phpldapadmin-1.2.3.zip +0 -0
  236. data/phpliteAdmin_v1-9-5.zip +0 -0
  237. data/phpunit.cmd +1 -0
  238. data/phpunit.dist.xml +8 -0
  239. data/phpunit.phar +77428 -2
  240. data/phpunit.xml +8 -0
  241. data/pik.bat +3 -0
  242. data/pik.ps1 +3 -0
  243. data/pik_runner.exe +0 -0
  244. data/pip-selfcheck.json +1 -0
  245. data/prerelease_specs.4.8 +0 -0
  246. data/prerelease_specs.4.8.gz +0 -0
  247. data/producktivshellwin +0 -0
  248. data/profile.php +7 -0
  249. data/prototype.php +7 -0
  250. data/pyconsole.cmd +3 -0
  251. data/pyconsole.py +8 -0
  252. data/pygubu-asos.py +19 -0
  253. data/pythonray.py +62 -0
  254. data/pythonray.py~ +62 -0
  255. data/pyvenv.cfg +3 -0
  256. data/radius.py +12 -0
  257. data/react-0.11.2.zip +0 -0
  258. data/readme.txt +8 -0
  259. data/register.php +130 -0
  260. data/register.php~ +126 -0
  261. data/rockpaperscissors.py +68 -0
  262. data/rockpaperscissors.py~ +28 -0
  263. data/run_f16.rb +2 -0
  264. data/rustc.cmd +1 -0
  265. data/scrollbar.css +6 -0
  266. data/scrollbar.css~ +4 -0
  267. data/scrutinizer.yml +5 -0
  268. data/search.html +177 -0
  269. data/searchindex.js +1 -0
  270. data/setup-owncloud.php +300 -0
  271. data/setup.py +9 -0
  272. data/sinatra-1.4.5.gem +0 -0
  273. data/smartsheet.html +1 -0
  274. data/span.html +5 -0
  275. data/specs.4.8 +0 -0
  276. data/specs.4.8.gz +0 -0
  277. data/starter-kit-1.8.1.zip +0 -0
  278. data/startscreen.php +11 -0
  279. data/startscreen.py +33 -0
  280. data/startup.png +0 -0
  281. data/svg-edit-2.6.zip +0 -0
  282. data/symfony.com_pdf_Symfony_book_2.5.pdf +0 -0
  283. data/telnet-client.py +18 -0
  284. data/tess.py +26 -0
  285. data/time.css +279 -0
  286. data/time.html +2 -0
  287. data/time.php +56 -0
  288. data/tinymce_spellchecker_php_2_0_6_1.zip +0 -0
  289. data/urllib2.py +1371 -0
  290. data/uru.bat +12 -0
  291. data/uru.bat.bak +12 -0
  292. data/uru.ps1 +11 -0
  293. data/uru.ps1.bak +11 -0
  294. data/uru_rt.exe +0 -0
  295. data/vimstarter.bat +3 -0
  296. metadata +338 -0
data/.irbrc ADDED
@@ -0,0 +1,24 @@
1
+ require 'irb/completion'
2
+
3
+ IRB.conf[:IRB_NAME]="arrby"
4
+ IRB.conf[:MATH_MODE]=false
5
+ IRB.conf[:INSPECT_MODE]=true
6
+ IRB.conf[:IRB_RC] = nil
7
+ IRB.conf[:BACK_TRACE_LIMIT]=16
8
+ IRB.conf[:USE_LOADER] = false
9
+ IRB.conf[:USE_READLINE] = nil
10
+ IRB.conf[:SAVE_HISTORY] = 1000
11
+ IRB.conf[:USE_TRACER] = false
12
+ IRB.conf[:IGNORE_SIGINT] = true
13
+ IRB.conf[:IGNORE_EOF] = false
14
+ IRB.conf[:PROMPT_MODE] = :ARCHERVMCASHEW_PROMPT
15
+ IRB.conf[:PROMPT] [:ARCHERVMCASHEW_PROMPT] = {
16
+ :AUTO_INDENT => true,
17
+ :PROMPT_I => 'ARRBY>> ',
18
+ :PROMPT_S => '??>> ',
19
+ :PROMPT_C => '??>>??>>',
20
+ :RETURN => " ==>%s\n"
21
+ }
22
+
23
+ IRB.conf[:DEBUG_LEVEL]=0
24
+
data/.irbrc~ ADDED
@@ -0,0 +1,24 @@
1
+ require 'irb/completion'
2
+
3
+ IRB.conf[:IRB_NAME]="arrby"
4
+ IRB.conf[:MATH_MODE]=false
5
+ IRB.conf[:INSPECT_MODE]=true
6
+ IRB.conf[:IRB_RC] = nil
7
+ IRB.conf[:BACK_TRACE_LIMIT]=16
8
+ IRB.conf[:USE_LOADER] = false
9
+ IRB.conf[:USE_READLINE] = nil
10
+ IRB.conf[:SAVE_HISTORY] = 1000
11
+ IRB.conf[:USE_TRACER] = false
12
+ IRB.conf[:IGNORE_SIGINT] = true
13
+ IRB.conf[:IGNORE_EOF] = false
14
+ IRB.conf[:PROMPT_MODE] = :DEFAULT
15
+ IRB.conf[:PROMPT] [:ARCHERVMCASHEW_PROMPT] = {
16
+ :AUTO_INDENT => true,
17
+ :PROMPT_I => 'ARRBY>> ',
18
+ :PROMPT_S => '??>> ',
19
+ :PROMPT_C => '??>>??>>',
20
+ :RETURN => " ==>%s\n"
21
+ }
22
+
23
+ IRB.conf[:DEBUG_LEVEL]=0
24
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/.npmrc ADDED
@@ -0,0 +1,96 @@
1
+ ;;;;
2
+ ; npm userconfig file
3
+ ; this is a simple ini-formatted file
4
+ ; lines that start with semi-colons are comments.
5
+ ; read `npm help config` for help on the various options
6
+ ;;;;
7
+
8
+
9
+ ;;;;
10
+ ; all options with default values
11
+ ;;;;
12
+ ; always-auth=false
13
+ ; bin-links=true
14
+ ; browser=null
15
+ ; ca=null
16
+ ; cafile=undefined
17
+ ; cache=K:\ArcherVMPeridot\htdocs\npm-cache
18
+ ; cache-lock-stale=60000
19
+ ; cache-lock-retries=10
20
+ ; cache-lock-wait=10000
21
+ ; cache-max=null
22
+ ; cache-min=10
23
+ ; cert=null
24
+ ; color=true
25
+ ; depth=null
26
+ ; description=true
27
+ ; dev=false
28
+ ; editor=notepad.exe
29
+ ; email=
30
+ ; engine-strict=false
31
+ ; force=false
32
+ ; fetch-retries=2
33
+ ; fetch-retry-factor=10
34
+ ; fetch-retry-mintimeout=10000
35
+ ; fetch-retry-maxtimeout=60000
36
+ ; git=git
37
+ ; git-tag-version=true
38
+ ; global=false
39
+ ; globalconfig=k:\ArcherVMPeridot\htdocs\etc\npmrc
40
+ ; group=0
41
+ ; heading=npm
42
+ ; ignore-scripts=false
43
+ ; init-module=K:\ArcherVMPeridot\htdocs\.npm-init.js
44
+ ; init.author.name=
45
+ ; init.author.email=
46
+ ; init.author.url=
47
+ ; init.license=ISC
48
+ ; json=false
49
+ ; key=null
50
+ ; link=false
51
+ ; local-address=undefined
52
+ ; loglevel=warn
53
+ ; long=false
54
+ ; message=%s
55
+ ; node-version=0.10.35
56
+ ; npat=false
57
+ ; onload-script=null
58
+ ; optional=true
59
+ ; parseable=false
60
+ ; prefix=K:\ArcherVMPeridot\htdocs
61
+ ; production=false
62
+ ; proprietary-attribs=true
63
+ ; proxy=null
64
+ ; https-proxy=null
65
+ ; user-agent=npm/{npm-version} node/{node-version} {platform} {arch}
66
+ ; rebuild-bundle=true
67
+ ; registry=https://registry.npmjs.org/
68
+ ; rollback=true
69
+ ; save=false
70
+ ; save-bundle=false
71
+ ; save-dev=false
72
+ ; save-exact=false
73
+ ; save-optional=false
74
+ ; save-prefix=^
75
+ ; searchopts=
76
+ ; searchexclude=null
77
+ ; searchsort=name
78
+ ; shell=K:\ArcherVMPeridot\xampp_shell.bat
79
+ ; shrinkwrap=true
80
+ ; sign-git-tag=false
81
+ ; spin=true
82
+ ; strict-ssl=true
83
+ ; tag=latest
84
+ ; tmp=K:\ArcherVMPeridot\tmp
85
+ ; unicode=true
86
+ ; unsafe-perm=true
87
+ ; usage=false
88
+ ; user=0
89
+ ; username=
90
+ ; userconfig=K:\ArcherVMPeridot\.npmrc
91
+ ; umask=0
92
+ ; version=false
93
+ ; versions=false
94
+ ; viewer=browser
95
+ ; _exit=true
96
+ ; globalignorefile=k:\ArcherVMPeridot\htdocs\etc\npmignore
Binary file
@@ -0,0 +1,11 @@
1
+ import atexit
2
+ import os
3
+ import readline
4
+
5
+ histfile = os.path.join(os.path.expanduser("~"), ".python_history")
6
+ try:
7
+ readline.read_history_file(histfile)
8
+ except FileNotFoundError:
9
+ pass
10
+
11
+ atexit.register(readline.write_history_file, histfile)
@@ -0,0 +1 @@
1
+ -d sqlite3
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.1
Binary file
@@ -0,0 +1,8 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <title>Error ASOS-0003: Not Modified</title>
5
+ </head>
6
+ <body>
7
+ </body>
8
+ </html>
@@ -0,0 +1,43 @@
1
+ <!DOCTYPE HTML>
2
+
3
+ <html>
4
+
5
+ <title>Error ASOS-002: 401</title>
6
+
7
+ <style>
8
+
9
+ body{
10
+
11
+ background-image: url("http://t0.gstatic.com/images?q=tbn:ANd9GcTjrKSET1HxBAvKvRBwIb_lwnEaSXhbqJ-2K-i6E_UPNPDZQBelJg:i1.ytimg.com/vi/gR0-z7eWXQk/maxresdefault.jpg");
12
+
13
+ background-repeat: no-repeat;
14
+
15
+ background-size: cover;
16
+
17
+
18
+ }
19
+
20
+ .AnacondaError{
21
+
22
+ color: red;
23
+
24
+ font-family: Segoe UI, Verdana;
25
+
26
+ font-size: 30px;
27
+
28
+ font-weight: bold;
29
+
30
+ }
31
+
32
+ </style>
33
+
34
+ </head>
35
+
36
+ <body id="404">
37
+
38
+ <p class="AnacondaError">Error A0-0006 : Authorization Required</p>
39
+
40
+
41
+ </body>
42
+
43
+ </html>
@@ -0,0 +1,9 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <title>Error ASOS-0004: Access Forbidden</title>
5
+ </head>
6
+ <body>
7
+ </body>
8
+ </html>
9
+
@@ -0,0 +1,43 @@
1
+ <!DOCTYPE HTML>
2
+
3
+ <html>
4
+
5
+ <title>Error ASOS-001: 404</title>
6
+
7
+ <style>
8
+
9
+ body{
10
+
11
+ background-image: url("http://t0.gstatic.com/images?q=tbn:ANd9GcTjrKSET1HxBAvKvRBwIb_lwnEaSXhbqJ-2K-i6E_UPNPDZQBelJg:i1.ytimg.com/vi/gR0-z7eWXQk/maxresdefault.jpg");
12
+
13
+ background-repeat: no-repeat;
14
+
15
+ background-size: cover;
16
+
17
+
18
+ }
19
+
20
+ .AnacondaError{
21
+
22
+ color: red;
23
+
24
+ font-family: Segoe UI, Verdana;
25
+
26
+ font-size: 30px;
27
+
28
+ font-weight: bold;
29
+
30
+ }
31
+
32
+ </style>
33
+
34
+ </head>
35
+ <body id="404">
36
+
37
+ <p class="AnacondaError">
38
+ Error ASOS-001 : Not Found
39
+ </p>
40
+
41
+ </body>
42
+
43
+ </html>
Binary file
@@ -0,0 +1,16 @@
1
+ module ArcherSysOS
2
+ require 'singleton'
3
+ class AbstractArrbyKlass
4
+ include Singleton
5
+ attr_accessor :keep, :strip
6
+ def _dump(depth)
7
+ # this strips the @strip information from the instance
8
+ Marshal.dump(@keep, depth)
9
+ end
10
+
11
+ def self._load(str)
12
+ instance.keep = Marshal.load(str)
13
+ instance
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,10 @@
1
+ module ArcherSysOS
2
+
3
+ class AbstractImplementation
4
+ def self.service
5
+ puts "serviced!"
6
+ end
7
+ end
8
+ extend SingleForwardable
9
+ def_delegator :Implementation, :service
10
+ end
Binary file
@@ -0,0 +1,130 @@
1
+ module ArcherSysOS
2
+ require "gdbm"
3
+ require 'ruby_mud'
4
+ require "readline"
5
+
6
+ class WordDictionary
7
+ def initialize(title)#creates a hash like a dictionary
8
+ @title = title
9
+ @words = GDBM.new("dictionary_of_words.db")
10
+
11
+ end
12
+ def add_entry(word,definition) # Add Definitions
13
+ @words[word] = definition
14
+ end
15
+ def get_entry(word)
16
+ return "#{word} : #{@words[word]}"
17
+ end
18
+ end
19
+
20
+ DICTIONARY_OF_WORDS = WordDictionary.new("Dictionary of Word")
21
+ class MudServer::DefaultController
22
+ def on_start
23
+ # Send messages via send_text.
24
+ send_text "Welcome! Here's a list of available commands"
25
+ send_text "TIME : See the current time."
26
+ send_text "SAY : Talk."
27
+ send_text "SECRET: Go somewhere super secret."
28
+ send_text "QUIT : Disconnect from the server."
29
+
30
+ end
31
+ def allowed_methods
32
+ super + ['time', 'secret', 'say','study'] # Quit is available by default via `super`
33
+ # No need to implement it yourself.
34
+ end
35
+ # User input after a command is provided via `params`.
36
+ def say
37
+ send_text "You just said: #{params}"
38
+ end
39
+
40
+ def time
41
+ send_text "The time is now #{Time.now}"
42
+ end
43
+ #Transfer people to a different menu / area using `transfer_to`
44
+ def secret
45
+ transfer_to PokerRoom # Define the PokerRoom as a controller.
46
+ end
47
+ def study
48
+ transfer_to StudyHall
49
+ end
50
+ end
51
+ class PokerRoom < MudServer::AbstractController # controllers are inherited.
52
+ def on_start
53
+ send_text 'You found the secret poker room!'
54
+ send_text 'Type DEAL to get a hand of cards.'
55
+
56
+ end
57
+
58
+
59
+ def allowed_methods
60
+ ['quit', 'deal']
61
+ end
62
+
63
+ def deal
64
+ send_text 'Did I say poker? I meant dice.'
65
+ send_text "You rolled a #{rand(5)+1}."
66
+ end
67
+ end
68
+ class StudyHall < MudServer::AbstractController # Main course of ArcherSys OS Cashew's
69
+ def on_start
70
+ send_text 'You are now in the Study Hall! Use this room to collaborate with study group members'
71
+ send_text 'Commands: '
72
+ send_text 'LOOKUP: Looks up a word from the dictionary '
73
+
74
+
75
+
76
+ end
77
+ def allowed_methods
78
+ super + ['quiz','lookup','admin','talk','review_notes']
79
+ end
80
+ def quiz # goes to F16Cockpit
81
+ transfer_to F16Cockpit
82
+ end
83
+ def admin
84
+ transfer_to Library
85
+ end
86
+
87
+ def lookup # Looks up a word from a dictionary
88
+ word = params
89
+
90
+ send_text DICTIONARY_OF_WORDS.get_entry(word)
91
+ end
92
+ end
93
+
94
+ class F16Cockpit < MudServer::AbstractController
95
+
96
+ end
97
+ class Library < MudServer::AbstractController
98
+ def on_start
99
+ send_text 'You Just Entered the Library'
100
+ end
101
+ def allowed_methods
102
+ super + ['add_entry','quit','study']
103
+ end
104
+ def add_entry
105
+ word = Readline.readline("Word: ",true)
106
+ definition = Readline.readline("Definition: ",true)
107
+
108
+ ArcherSysOS::DICTIONARY_OF_WORDS.add_entry(word,definition)
109
+ DICTIONARY_OF_WORD.words.close
110
+
111
+ end
112
+ def study
113
+ transfer_to StudyHall
114
+ end
115
+ end
116
+
117
+ SERVER = MudServer.new '0.0.0.0', '4321' # Run server on all IPs on port 4321.
118
+
119
+ # Defaults to 0.0.0.0:4000 if none set.
120
+
121
+
122
+ SERVER.start # Accept connections
123
+ begin
124
+ puts 'Press enter to exit.'
125
+ loop{}
126
+ rescue Interrupt => e
127
+
128
+ SERVER.stop
129
+ end
130
+ end