rtg 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7d3bcec7a23d403d9c8e933b3325688bc1013a48
4
+ data.tar.gz: 04f682ea4f47c55eebef2a06c5e9d57c23196eba
5
+ SHA512:
6
+ metadata.gz: e21db586b35fc60efab8d0983225b3b00f64c616aadd05e8701024e663e04d8c2948067b05dc0b1efb010d8fa57c8a300e9239b06af9754abb44f7d0cdcb2608
7
+ data.tar.gz: 3e439a6d8b67cd557a2abb69c40aa5b54043c6633f07ffa10be8a07d871cab720def7ba9f26c5de4a652be4b1d79e607d300165509e310124436b6c340024986
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+
11
+ # rspec failure tracking
12
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.2.7
5
+ before_install: gem install bundler -v 1.15.1
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at k128585@ie.u-ryukyu.ac.jp. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in rtg.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 siman-man
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,32 @@
1
+ # RTG
2
+
3
+ Ruby Typing Game
4
+
5
+
6
+ ## Installation
7
+
8
+ ```
9
+ $ gem install rtg
10
+ ```
11
+
12
+ ## Usage
13
+
14
+ Run `rtg` command.
15
+
16
+ ```
17
+ rtg
18
+ ```
19
+
20
+ ![](images/typing.gif)
21
+
22
+ ## Contributing
23
+
24
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/rtg. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
25
+
26
+ ## License
27
+
28
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
29
+
30
+ ## Code of Conduct
31
+
32
+ Everyone interacting in the RTG project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/rtg/blob/master/CODE_OF_CONDUCT.md).
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "rtg"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/exe/rtg ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "optparse"
4
+ require "rtg"
5
+
6
+ RTG::Server.new.start
Binary file
@@ -0,0 +1,8 @@
1
+ require "colorize"
2
+ require "keyevent"
3
+ require "timeout"
4
+ require "yaml"
5
+
6
+ require "rtg/version"
7
+ require "rtg/screen"
8
+ require "rtg/server"
@@ -0,0 +1,58 @@
1
+ module RTG
2
+ module Screen
3
+ module_function
4
+
5
+ WIDTH = 60
6
+
7
+ def main_screen(word)
8
+ diff = word.size - word.uncolorize.size
9
+ puts
10
+ puts ["\t+", "-" * WIDTH, "+"].join
11
+ puts ["\t|", " " * WIDTH, "|"].join
12
+ puts ["\t|", word.center(WIDTH + diff), "|"].join
13
+ puts ["\t|", " " * WIDTH, "|"].join
14
+ puts ["\t+", "-" * WIDTH, "+"].join
15
+ puts
16
+ end
17
+
18
+ def print_time_bar(remain_time)
19
+ puts
20
+ puts ["\t+", "-" * Server::TIME_LIMIT, "+"].join
21
+ puts ["\t", (" " * (Server::TIME_LIMIT - remain_time) + "|" * remain_time).chars.each_slice(Server::TIME_LIMIT).map { |l| l.join.colorize(:green) }, ""].join("|")
22
+ puts ["\t+", "-" * Server::TIME_LIMIT, "+"].join
23
+ end
24
+
25
+ def wait_screen
26
+ puts
27
+ puts
28
+ puts ["\t+", "-" * WIDTH, "+"].join
29
+ puts ["\t|", " " * WIDTH, "|"].join
30
+ puts ["\t|", "Press the `space` key to start game".center(WIDTH), "|"].join
31
+ puts ["\t|", " " * WIDTH, "|"].join
32
+ puts ["\t+", "-" * WIDTH, "+"].join
33
+ puts
34
+ puts
35
+ end
36
+
37
+ def result_screen(type_count, typo_count)
38
+ puts
39
+ puts
40
+ puts ["\t+", "-" * WIDTH, "+"].join
41
+ puts ["\t|", " " * WIDTH, "|"].join
42
+ puts ["\t|", "typing speed : #{type_count}/min".center(WIDTH), "|"].join
43
+ puts ["\t|", " " * WIDTH, "|"].join
44
+ puts ["\t+", "-" * WIDTH, "+"].join
45
+ puts
46
+ puts ["\tQ)uit"]
47
+ puts
48
+ end
49
+
50
+ def clean_screen(num)
51
+ _height, width = STDIN.winsize
52
+ num.times do
53
+ puts "\r" + " " * width
54
+ end
55
+ print "\r\e[#{num}A"
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,83 @@
1
+ module RTG
2
+ class Server
3
+ TIME_LIMIT = 60
4
+
5
+ def init
6
+ @words = YAML.load_file(File.expand_path("words.yml", __dir__))["method"]
7
+ @words << YAML.load_file(File.expand_path("words.yml", __dir__))["class"]
8
+ @words << YAML.load_file(File.expand_path("words.yml", __dir__))["library"]
9
+ @words.flatten!
10
+ @time = 0
11
+ @type_count = 0
12
+ @typo_count = 0
13
+ end
14
+
15
+ def start
16
+ init
17
+ word = get_word
18
+ inputted = []
19
+
20
+ Screen.wait_screen
21
+ print "\r\e[9A"
22
+
23
+ while input = getkey
24
+ if input == Keyevent::SPACE
25
+ break
26
+ elsif input == Keyevent::ETX
27
+ exit(0)
28
+ end
29
+ end
30
+
31
+ Screen.clean_screen(9)
32
+
33
+ while @time < TIME_LIMIT
34
+ begin
35
+ Timeout.timeout(1) do
36
+ loop do
37
+ Screen.print_time_bar(TIME_LIMIT - @time)
38
+ Screen.main_screen(inputted.join.colorize(:white) + word.join)
39
+ print "\r\e[11A"
40
+
41
+ input = getkey
42
+
43
+ if input == Keyevent::ETX
44
+ exit(0)
45
+ elsif input == word.first
46
+ inputted << word.shift
47
+ @type_count += 1
48
+
49
+ if word.empty?
50
+ word = get_word
51
+ inputted = []
52
+ end
53
+ else
54
+ @typo_count += 1
55
+ print "\a"
56
+ end
57
+ end
58
+ end
59
+ rescue Timeout::Error
60
+ @time += 1
61
+ end
62
+ end
63
+
64
+ Screen.clean_screen(11)
65
+ Screen.result_screen(@type_count, @typo_count)
66
+
67
+ while input = getkey
68
+ case input
69
+ when /Q/
70
+ break
71
+ when Keyevent::ETX
72
+ exit(0)
73
+ end
74
+ end
75
+ end
76
+
77
+ private
78
+
79
+ def get_word
80
+ @words.sample.chars
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,3 @@
1
+ module RTG
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,967 @@
1
+ method:
2
+ - "!"
3
+ - "!="
4
+ - "!~"
5
+ - "<"
6
+ - "<="
7
+ - "<=>"
8
+ - "=="
9
+ - "==="
10
+ - "=~"
11
+ - ">"
12
+ - ">="
13
+ - "Array"
14
+ - "Complex"
15
+ - "Float"
16
+ - "Hash"
17
+ - "Integer"
18
+ - "Rational"
19
+ - "String"
20
+ - "[]"
21
+ - "__callee__"
22
+ - "__dir__"
23
+ - "__id__"
24
+ - "__method__"
25
+ - "__send__"
26
+ - "_all"
27
+ - "_clear_load_cache"
28
+ - "_id2ref"
29
+ - "_load"
30
+ - "_resort!"
31
+ - "`"
32
+ - "abort"
33
+ - "abort_on_exception"
34
+ - "abort_on_exception="
35
+ - "absolute_path"
36
+ - "acos"
37
+ - "acosh"
38
+ - "add_spec"
39
+ - "add_specs"
40
+ - "aliases"
41
+ - "all"
42
+ - "all="
43
+ - "all?"
44
+ - "all_names"
45
+ - "all_symbols"
46
+ - "allocate"
47
+ - "ancestors"
48
+ - "any?"
49
+ - "argv0"
50
+ - "array_attributes"
51
+ - "asciicompat_encoding"
52
+ - "asin"
53
+ - "asinh"
54
+ - "at"
55
+ - "at_exit"
56
+ - "atan"
57
+ - "atan2"
58
+ - "atanh"
59
+ - "atime"
60
+ - "attribute_names"
61
+ - "autoload"
62
+ - "autoload?"
63
+ - "basename"
64
+ - "bin_path"
65
+ - "binary_mode"
66
+ - "binding"
67
+ - "bindir"
68
+ - "binread"
69
+ - "binwrite"
70
+ - "birthtime"
71
+ - "block_given?"
72
+ - "blockdev?"
73
+ - "caller"
74
+ - "caller_locations"
75
+ - "catch"
76
+ - "cbrt"
77
+ - "change_privilege"
78
+ - "chardev?"
79
+ - "chdir"
80
+ - "chmod"
81
+ - "chown"
82
+ - "chroot"
83
+ - "chunk"
84
+ - "class"
85
+ - "class_eval"
86
+ - "class_exec"
87
+ - "class_variable_defined?"
88
+ - "class_variable_get"
89
+ - "class_variable_set"
90
+ - "class_variables"
91
+ - "clear"
92
+ - "clear_default_specs"
93
+ - "clear_paths"
94
+ - "clock_getres"
95
+ - "clock_gettime"
96
+ - "clone"
97
+ - "collect"
98
+ - "collect_concat"
99
+ - "compatible?"
100
+ - "compile"
101
+ - "compile_file"
102
+ - "compile_option"
103
+ - "compile_option="
104
+ - "config_file"
105
+ - "configuration"
106
+ - "configuration="
107
+ - "const_defined?"
108
+ - "const_get"
109
+ - "const_missing"
110
+ - "const_set"
111
+ - "constants"
112
+ - "copy_stream"
113
+ - "correct?"
114
+ - "cos"
115
+ - "cosh"
116
+ - "count"
117
+ - "count_objects"
118
+ - "create"
119
+ - "ctime"
120
+ - "current"
121
+ - "cycle"
122
+ - "daemon"
123
+ - "datadir"
124
+ - "default"
125
+ - "default_bindir"
126
+ - "default_cert_path"
127
+ - "default_dir"
128
+ - "default_exec_format"
129
+ - "default_ext_dir_for"
130
+ - "default_external"
131
+ - "default_external="
132
+ - "default_gems_use_full_paths?"
133
+ - "default_internal"
134
+ - "default_internal="
135
+ - "default_key_path"
136
+ - "default_path"
137
+ - "default_rubygems_dirs"
138
+ - "default_sources"
139
+ - "default_spec_cache_dir"
140
+ - "default_specifications_dir"
141
+ - "define_finalizer"
142
+ - "define_singleton_method"
143
+ - "deflate"
144
+ - "delete"
145
+ - "deprecate"
146
+ - "detach"
147
+ - "detect"
148
+ - "detect_gemdeps"
149
+ - "dir"
150
+ - "directory?"
151
+ - "dirname"
152
+ - "dirs"
153
+ - "dirs="
154
+ - "disable"
155
+ - "disasm"
156
+ - "disassemble"
157
+ - "display"
158
+ - "done_installing"
159
+ - "done_installing_hooks"
160
+ - "drop"
161
+ - "drop_while"
162
+ - "dump"
163
+ - "dup"
164
+ - "each"
165
+ - "each_cons"
166
+ - "each_entry"
167
+ - "each_gemspec"
168
+ - "each_object"
169
+ - "each_slice"
170
+ - "each_spec"
171
+ - "each_stub"
172
+ - "each_with_index"
173
+ - "each_with_object"
174
+ - "egid"
175
+ - "egid="
176
+ - "eid"
177
+ - "eid="
178
+ - "enable"
179
+ - "enabled?"
180
+ - "ensure_default_gem_subdirectories"
181
+ - "ensure_gem_subdirectories"
182
+ - "ensure_subdirectories"
183
+ - "entries"
184
+ - "enum_for"
185
+ - "eql?"
186
+ - "equal?"
187
+ - "erf"
188
+ - "erfc"
189
+ - "escape"
190
+ - "euid"
191
+ - "euid="
192
+ - "eval"
193
+ - "exception"
194
+ - "exclusive"
195
+ - "exec"
196
+ - "executable?"
197
+ - "executable_real?"
198
+ - "exist?"
199
+ - "exists?"
200
+ - "exit"
201
+ - "exit!"
202
+ - "exp"
203
+ - "expand"
204
+ - "expand_path"
205
+ - "extend"
206
+ - "extend_object"
207
+ - "extension_api_version"
208
+ - "extname"
209
+ - "fail"
210
+ - "file?"
211
+ - "find"
212
+ - "find_all"
213
+ - "find_all_by_name"
214
+ - "find_by_name"
215
+ - "find_by_path"
216
+ - "find_files"
217
+ - "find_files_from_load_path"
218
+ - "find_in_unresolved"
219
+ - "find_in_unresolved_tree"
220
+ - "find_inactive_by_path"
221
+ - "find_index"
222
+ - "find_latest_files"
223
+ - "find_unresolved_default_spec"
224
+ - "finish_resolve"
225
+ - "first"
226
+ - "flat_map"
227
+ - "fnmatch"
228
+ - "fnmatch?"
229
+ - "for_fd"
230
+ - "foreach"
231
+ - "fork"
232
+ - "format"
233
+ - "freeze"
234
+ - "frexp"
235
+ - "from_name"
236
+ - "from_yaml"
237
+ - "frozen?"
238
+ - "ftype"
239
+ - "gamma"
240
+ - "garbage_collect"
241
+ - "getegid"
242
+ - "geteuid"
243
+ - "getgid"
244
+ - "getpgid"
245
+ - "getpgrp"
246
+ - "getpriority"
247
+ - "getrlimit"
248
+ - "gets"
249
+ - "getsid"
250
+ - "getuid"
251
+ - "getwd"
252
+ - "gid"
253
+ - "gid="
254
+ - "glob"
255
+ - "global_variables"
256
+ - "gm"
257
+ - "grant_privilege"
258
+ - "grep"
259
+ - "group_by"
260
+ - "groups"
261
+ - "groups="
262
+ - "grpowned?"
263
+ - "gunzip"
264
+ - "gzip"
265
+ - "handle_interrupt"
266
+ - "hash"
267
+ - "home"
268
+ - "host"
269
+ - "host="
270
+ - "hypot"
271
+ - "identical?"
272
+ - "include"
273
+ - "include?"
274
+ - "included_modules"
275
+ - "inflate"
276
+ - "initgroups"
277
+ - "inject"
278
+ - "inspect"
279
+ - "install"
280
+ - "install_extension_in_lib"
281
+ - "installable?"
282
+ - "instance_eval"
283
+ - "instance_exec"
284
+ - "instance_method"
285
+ - "instance_methods"
286
+ - "instance_of?"
287
+ - "instance_variable_defined?"
288
+ - "instance_variable_get"
289
+ - "instance_variable_set"
290
+ - "instance_variables"
291
+ - "is_a?"
292
+ - "issetugid"
293
+ - "iterator?"
294
+ - "itself"
295
+ - "join"
296
+ - "kill"
297
+ - "kind_of?"
298
+ - "lambda"
299
+ - "last_match"
300
+ - "latest_gc_info"
301
+ - "latest_rubygems_version"
302
+ - "latest_spec_for"
303
+ - "latest_specs"
304
+ - "latest_version_for"
305
+ - "lazy"
306
+ - "lchmod"
307
+ - "lchown"
308
+ - "ldexp"
309
+ - "lgamma"
310
+ - "link"
311
+ - "list"
312
+ - "load"
313
+ - "load_defaults"
314
+ - "load_env_plugins"
315
+ - "load_path_insert_index"
316
+ - "load_plugin_files"
317
+ - "load_plugins"
318
+ - "load_yaml"
319
+ - "loaded_specs"
320
+ - "local"
321
+ - "local_variables"
322
+ - "locale_charmap"
323
+ - "location_of_caller"
324
+ - "log"
325
+ - "log10"
326
+ - "log2"
327
+ - "loop"
328
+ - "lstat"
329
+ - "main"
330
+ - "map"
331
+ - "marshal_version"
332
+ - "match"
333
+ - "max"
334
+ - "max_by"
335
+ - "maxgroups"
336
+ - "maxgroups="
337
+ - "member?"
338
+ - "members"
339
+ - "method"
340
+ - "method_defined?"
341
+ - "methods"
342
+ - "min"
343
+ - "min_by"
344
+ - "minmax"
345
+ - "minmax_by"
346
+ - "mkdir"
347
+ - "mktime"
348
+ - "module_eval"
349
+ - "module_exec"
350
+ - "mtime"
351
+ - "name"
352
+ - "name_list"
353
+ - "needs"
354
+ - "nesting"
355
+ - "new"
356
+ - "new_seed"
357
+ - "nil?"
358
+ - "non_nil_attributes"
359
+ - "none?"
360
+ - "normalize_yaml_input"
361
+ - "now"
362
+ - "object_id"
363
+ - "of"
364
+ - "one?"
365
+ - "open"
366
+ - "outdated"
367
+ - "outdated_and_latest_version"
368
+ - "owned?"
369
+ - "p"
370
+ - "parse"
371
+ - "partition"
372
+ - "pass"
373
+ - "path"
374
+ - "path_separator"
375
+ - "paths"
376
+ - "paths="
377
+ - "pending_interrupt?"
378
+ - "pid"
379
+ - "pipe"
380
+ - "pipe?"
381
+ - "platforms"
382
+ - "platforms="
383
+ - "polar"
384
+ - "popen"
385
+ - "post_build"
386
+ - "post_build_hooks"
387
+ - "post_install"
388
+ - "post_install_hooks"
389
+ - "post_reset"
390
+ - "post_reset_hooks"
391
+ - "post_uninstall"
392
+ - "post_uninstall_hooks"
393
+ - "ppid"
394
+ - "pre_install"
395
+ - "pre_install_hooks"
396
+ - "pre_reset"
397
+ - "pre_reset_hooks"
398
+ - "pre_uninstall"
399
+ - "pre_uninstall_hooks"
400
+ - "prefix"
401
+ - "prepend"
402
+ - "print"
403
+ - "printf"
404
+ - "private_class_method"
405
+ - "private_constant"
406
+ - "private_instance_methods"
407
+ - "private_method_defined?"
408
+ - "private_methods"
409
+ - "proc"
410
+ - "protected_instance_methods"
411
+ - "protected_method_defined?"
412
+ - "protected_methods"
413
+ - "public_class_method"
414
+ - "public_constant"
415
+ - "public_instance_method"
416
+ - "public_instance_methods"
417
+ - "public_method"
418
+ - "public_method_defined?"
419
+ - "public_methods"
420
+ - "public_send"
421
+ - "putc"
422
+ - "puts"
423
+ - "pwd"
424
+ - "quote"
425
+ - "raise"
426
+ - "rand"
427
+ - "raw_data"
428
+ - "re_exchange"
429
+ - "re_exchangeable?"
430
+ - "read"
431
+ - "read_binary"
432
+ - "readable?"
433
+ - "readable_real?"
434
+ - "readline"
435
+ - "readlines"
436
+ - "readlink"
437
+ - "realdirpath"
438
+ - "realpath"
439
+ - "rect"
440
+ - "rectangular"
441
+ - "reduce"
442
+ - "refresh"
443
+ - "register_default_spec"
444
+ - "reject"
445
+ - "remove_class_variable"
446
+ - "remove_instance_variable"
447
+ - "remove_spec"
448
+ - "remove_unresolved_default_spec"
449
+ - "rename"
450
+ - "report"
451
+ - "require"
452
+ - "require_relative"
453
+ - "required_attribute?"
454
+ - "required_attributes"
455
+ - "reset"
456
+ - "respond_to?"
457
+ - "restore"
458
+ - "result"
459
+ - "reverse_each"
460
+ - "rid"
461
+ - "rmdir"
462
+ - "ruby"
463
+ - "ruby_api_version"
464
+ - "ruby_engine"
465
+ - "ruby_version"
466
+ - "rubygems_version"
467
+ - "search_convpath"
468
+ - "select"
469
+ - "send"
470
+ - "set_trace_func"
471
+ - "setegid"
472
+ - "seteuid"
473
+ - "setgid"
474
+ - "setgid?"
475
+ - "setpgid"
476
+ - "setpgrp"
477
+ - "setpriority"
478
+ - "setproctitle"
479
+ - "setregid"
480
+ - "setresgid"
481
+ - "setresuid"
482
+ - "setreuid"
483
+ - "setrgid"
484
+ - "setrlimit"
485
+ - "setruid"
486
+ - "setsid"
487
+ - "setuid"
488
+ - "setuid?"
489
+ - "sid_available?"
490
+ - "signame"
491
+ - "sin"
492
+ - "singleton_class"
493
+ - "singleton_class?"
494
+ - "singleton_method"
495
+ - "singleton_methods"
496
+ - "sinh"
497
+ - "size"
498
+ - "size?"
499
+ - "skip"
500
+ - "skip="
501
+ - "skip_during"
502
+ - "sleep"
503
+ - "slice_after"
504
+ - "slice_before"
505
+ - "slice_when"
506
+ - "socket?"
507
+ - "sort"
508
+ - "sort_by"
509
+ - "sources"
510
+ - "sources="
511
+ - "spawn"
512
+ - "spec_cache_dir"
513
+ - "split"
514
+ - "sprintf"
515
+ - "sqrt"
516
+ - "srand"
517
+ - "start"
518
+ - "stat"
519
+ - "sticky?"
520
+ - "stop"
521
+ - "stress"
522
+ - "stress="
523
+ - "stubs"
524
+ - "suffix_pattern"
525
+ - "suffixes"
526
+ - "superclass"
527
+ - "switch"
528
+ - "symlink"
529
+ - "symlink?"
530
+ - "syscall"
531
+ - "sysopen"
532
+ - "system"
533
+ - "taint"
534
+ - "tainted?"
535
+ - "take"
536
+ - "take_while"
537
+ - "tan"
538
+ - "tanh"
539
+ - "tap"
540
+ - "test"
541
+ - "throw"
542
+ - "time"
543
+ - "times"
544
+ - "to_a"
545
+ - "to_enum"
546
+ - "to_h"
547
+ - "to_s"
548
+ - "total_time"
549
+ - "trace"
550
+ - "trace_var"
551
+ - "trap"
552
+ - "truncate"
553
+ - "trust"
554
+ - "try_activate"
555
+ - "try_convert"
556
+ - "ui"
557
+ - "uid"
558
+ - "uid="
559
+ - "umask"
560
+ - "undefine_finalizer"
561
+ - "union"
562
+ - "unlink"
563
+ - "unresolved_deps"
564
+ - "untaint"
565
+ - "untrace_var"
566
+ - "untrust"
567
+ - "untrusted?"
568
+ - "use_gemdeps"
569
+ - "use_paths"
570
+ - "user_dir"
571
+ - "user_home"
572
+ - "utc"
573
+ - "utime"
574
+ - "vendor_dir"
575
+ - "verify_internal_consistency"
576
+ - "wait"
577
+ - "wait2"
578
+ - "waitall"
579
+ - "waitpid"
580
+ - "waitpid2"
581
+ - "warn"
582
+ - "win_platform?"
583
+ - "world_readable?"
584
+ - "world_writable?"
585
+ - "writable?"
586
+ - "writable_real?"
587
+ - "write"
588
+ - "yield"
589
+ - "zero?"
590
+ - "zip"
591
+ class:
592
+ - "ARGF.class"
593
+ - "ArgumentError"
594
+ - "Array"
595
+ - "BasicObject"
596
+ - "Bignum"
597
+ - "Binding"
598
+ - "Class"
599
+ - "Comparable"
600
+ - "Complex"
601
+ - "Complex::compatible"
602
+ - "Data"
603
+ - "Dir"
604
+ - "EOFError"
605
+ - "Encoding"
606
+ - "Encoding::CompatibilityError"
607
+ - "Encoding::Converter"
608
+ - "Encoding::ConverterNotFoundError"
609
+ - "Encoding::InvalidByteSequenceError"
610
+ - "Encoding::UndefinedConversionError"
611
+ - "EncodingError"
612
+ - "Enumerable"
613
+ - "Enumerator"
614
+ - "Enumerator::Generator"
615
+ - "Enumerator::Lazy"
616
+ - "Enumerator::Yielder"
617
+ - "Errno"
618
+ - "Errno::E2BIG"
619
+ - "Errno::EACCES"
620
+ - "Errno::EADDRINUSE"
621
+ - "Errno::EADDRNOTAVAIL"
622
+ - "Errno::EAFNOSUPPORT"
623
+ - "Errno::EAGAIN"
624
+ - "Errno::EALREADY"
625
+ - "Errno::EAUTH"
626
+ - "Errno::EBADF"
627
+ - "Errno::EBADMSG"
628
+ - "Errno::EBADRPC"
629
+ - "Errno::EBUSY"
630
+ - "Errno::ECANCELED"
631
+ - "Errno::ECHILD"
632
+ - "Errno::ECONNABORTED"
633
+ - "Errno::ECONNREFUSED"
634
+ - "Errno::ECONNRESET"
635
+ - "Errno::EDEADLK"
636
+ - "Errno::EDESTADDRREQ"
637
+ - "Errno::EDOM"
638
+ - "Errno::EDQUOT"
639
+ - "Errno::EEXIST"
640
+ - "Errno::EFAULT"
641
+ - "Errno::EFBIG"
642
+ - "Errno::EFTYPE"
643
+ - "Errno::EHOSTDOWN"
644
+ - "Errno::EHOSTUNREACH"
645
+ - "Errno::EIDRM"
646
+ - "Errno::EILSEQ"
647
+ - "Errno::EINPROGRESS"
648
+ - "Errno::EINTR"
649
+ - "Errno::EINVAL"
650
+ - "Errno::EIO"
651
+ - "Errno::EISCONN"
652
+ - "Errno::EISDIR"
653
+ - "Errno::ELOOP"
654
+ - "Errno::EMFILE"
655
+ - "Errno::EMLINK"
656
+ - "Errno::EMSGSIZE"
657
+ - "Errno::EMULTIHOP"
658
+ - "Errno::ENAMETOOLONG"
659
+ - "Errno::ENEEDAUTH"
660
+ - "Errno::ENETDOWN"
661
+ - "Errno::ENETRESET"
662
+ - "Errno::ENETUNREACH"
663
+ - "Errno::ENFILE"
664
+ - "Errno::ENOATTR"
665
+ - "Errno::ENOBUFS"
666
+ - "Errno::ENODATA"
667
+ - "Errno::ENODEV"
668
+ - "Errno::ENOENT"
669
+ - "Errno::ENOEXEC"
670
+ - "Errno::ENOLCK"
671
+ - "Errno::ENOLINK"
672
+ - "Errno::ENOMEM"
673
+ - "Errno::ENOMSG"
674
+ - "Errno::ENOPROTOOPT"
675
+ - "Errno::ENOSPC"
676
+ - "Errno::ENOSR"
677
+ - "Errno::ENOSTR"
678
+ - "Errno::ENOSYS"
679
+ - "Errno::ENOTBLK"
680
+ - "Errno::ENOTCONN"
681
+ - "Errno::ENOTDIR"
682
+ - "Errno::ENOTEMPTY"
683
+ - "Errno::ENOTRECOVERABLE"
684
+ - "Errno::ENOTSOCK"
685
+ - "Errno::ENOTSUP"
686
+ - "Errno::ENOTTY"
687
+ - "Errno::ENXIO"
688
+ - "Errno::EOPNOTSUPP"
689
+ - "Errno::EOVERFLOW"
690
+ - "Errno::EOWNERDEAD"
691
+ - "Errno::EPERM"
692
+ - "Errno::EPFNOSUPPORT"
693
+ - "Errno::EPIPE"
694
+ - "Errno::EPROCLIM"
695
+ - "Errno::EPROCUNAVAIL"
696
+ - "Errno::EPROGMISMATCH"
697
+ - "Errno::EPROGUNAVAIL"
698
+ - "Errno::EPROTO"
699
+ - "Errno::EPROTONOSUPPORT"
700
+ - "Errno::EPROTOTYPE"
701
+ - "Errno::ERANGE"
702
+ - "Errno::EREMOTE"
703
+ - "Errno::EROFS"
704
+ - "Errno::ERPCMISMATCH"
705
+ - "Errno::ESHUTDOWN"
706
+ - "Errno::ESOCKTNOSUPPORT"
707
+ - "Errno::ESPIPE"
708
+ - "Errno::ESRCH"
709
+ - "Errno::ESTALE"
710
+ - "Errno::ETIME"
711
+ - "Errno::ETIMEDOUT"
712
+ - "Errno::ETOOMANYREFS"
713
+ - "Errno::ETXTBSY"
714
+ - "Errno::EUSERS"
715
+ - "Errno::EXDEV"
716
+ - "Errno::NOERROR"
717
+ - "Exception"
718
+ - "FalseClass"
719
+ - "Fiber"
720
+ - "FiberError"
721
+ - "File"
722
+ - "File::Constants"
723
+ - "File::Stat"
724
+ - "FileTest"
725
+ - "Fixnum"
726
+ - "Float"
727
+ - "FloatDomainError"
728
+ - "GC"
729
+ - "GC::Profiler"
730
+ - "Gem"
731
+ - "Gem::BasicSpecification"
732
+ - "Gem::CommandLineError"
733
+ - "Gem::ConflictError"
734
+ - "Gem::DependencyError"
735
+ - "Gem::DependencyRemovalException"
736
+ - "Gem::DependencyResolutionError"
737
+ - "Gem::Deprecate"
738
+ - "Gem::DocumentError"
739
+ - "Gem::EndOfYAMLException"
740
+ - "Gem::ErrorReason"
741
+ - "Gem::Exception"
742
+ - "Gem::FilePermissionError"
743
+ - "Gem::FormatException"
744
+ - "Gem::GemNotFoundException"
745
+ - "Gem::GemNotInHomeException"
746
+ - "Gem::ImpossibleDependenciesError"
747
+ - "Gem::InstallError"
748
+ - "Gem::InvalidSpecificationException"
749
+ - "Gem::LoadError"
750
+ - "Gem::OperationNotSupportedError"
751
+ - "Gem::Platform"
752
+ - "Gem::PlatformMismatch"
753
+ - "Gem::RemoteError"
754
+ - "Gem::RemoteInstallationCancelled"
755
+ - "Gem::RemoteInstallationSkipped"
756
+ - "Gem::RemoteSourceException"
757
+ - "Gem::Requirement"
758
+ - "Gem::Requirement::BadRequirementError"
759
+ - "Gem::RubyVersionMismatch"
760
+ - "Gem::SourceFetchProblem"
761
+ - "Gem::SpecificGemNotFoundException"
762
+ - "Gem::Specification"
763
+ - "Gem::StringSink"
764
+ - "Gem::StringSource"
765
+ - "Gem::StubSpecification"
766
+ - "Gem::StubSpecification::StubLine"
767
+ - "Gem::SystemExitException"
768
+ - "Gem::UnsatisfiableDependencyError"
769
+ - "Gem::VerificationError"
770
+ - "Gem::Version"
771
+ - "Hash"
772
+ - "IO"
773
+ - "IO::EAGAINWaitReadable"
774
+ - "IO::EAGAINWaitWritable"
775
+ - "IO::EINPROGRESSWaitReadable"
776
+ - "IO::EINPROGRESSWaitWritable"
777
+ - "IO::WaitReadable"
778
+ - "IO::WaitWritable"
779
+ - "IOError"
780
+ - "IndexError"
781
+ - "Integer"
782
+ - "Interrupt"
783
+ - "Kernel"
784
+ - "KeyError"
785
+ - "LoadError"
786
+ - "LocalJumpError"
787
+ - "Marshal"
788
+ - "MatchData"
789
+ - "Math"
790
+ - "Math::DomainError"
791
+ - "Method"
792
+ - "Module"
793
+ - "Monitor"
794
+ - "MonitorMixin"
795
+ - "MonitorMixin::ConditionVariable"
796
+ - "MonitorMixin::ConditionVariable::Timeout"
797
+ - "Mutex"
798
+ - "NameError"
799
+ - "NameError::message"
800
+ - "NilClass"
801
+ - "NoMemoryError"
802
+ - "NoMethodError"
803
+ - "NotImplementedError"
804
+ - "Numeric"
805
+ - "Object"
806
+ - "ObjectSpace"
807
+ - "ObjectSpace::WeakMap"
808
+ - "Proc"
809
+ - "Process"
810
+ - "Process::GID"
811
+ - "Process::Status"
812
+ - "Process::Sys"
813
+ - "Process::Tms"
814
+ - "Process::UID"
815
+ - "Process::Waiter"
816
+ - "Random"
817
+ - "Range"
818
+ - "RangeError"
819
+ - "Rational"
820
+ - "Rational::compatible"
821
+ - "RbConfig"
822
+ - "Regexp"
823
+ - "RegexpError"
824
+ - "RubyVM"
825
+ - "RubyVM::Env"
826
+ - "RubyVM::InstructionSequence"
827
+ - "RuntimeError"
828
+ - "ScriptError"
829
+ - "SecurityError"
830
+ - "Signal"
831
+ - "SignalException"
832
+ - "StandardError"
833
+ - "StopIteration"
834
+ - "String"
835
+ - "Struct"
836
+ - "Symbol"
837
+ - "SyntaxError"
838
+ - "SystemCallError"
839
+ - "SystemExit"
840
+ - "SystemStackError"
841
+ - "Thread"
842
+ - "Thread::Backtrace"
843
+ - "Thread::Backtrace::Location"
844
+ - "Thread::ConditionVariable"
845
+ - "Thread::Queue"
846
+ - "Thread::SizedQueue"
847
+ - "ThreadError"
848
+ - "ThreadGroup"
849
+ - "Time"
850
+ - "TracePoint"
851
+ - "TrueClass"
852
+ - "TypeError"
853
+ - "UnboundMethod"
854
+ - "UncaughtThrowError"
855
+ - "ZeroDivisionError"
856
+ - "fatal"
857
+ library:
858
+ - "English"
859
+ - "abbrev"
860
+ - "base64"
861
+ - "benchmark"
862
+ - "bigdecimal"
863
+ - "cgi"
864
+ - "cmath"
865
+ - "continuation"
866
+ - "coverage"
867
+ - "csv"
868
+ - "date"
869
+ - "dbm"
870
+ - "debug"
871
+ - "delegate"
872
+ - "digest"
873
+ - "drb"
874
+ - "e2mmap"
875
+ - "erb"
876
+ - "etc"
877
+ - "expect"
878
+ - "fcntl"
879
+ - "fiber"
880
+ - "fiddle"
881
+ - "fileutils"
882
+ - "find"
883
+ - "forwardable"
884
+ - "gdbm"
885
+ - "getoptlong"
886
+ - "io/console"
887
+ - "io/nonblock"
888
+ - "io/wait"
889
+ - "ipaddr"
890
+ - "irb"
891
+ - "json"
892
+ - "kconv"
893
+ - "logger"
894
+ - "mathn"
895
+ - "matrix"
896
+ - "mkmf"
897
+ - "monitor"
898
+ - "mutex_m"
899
+ - "net/ftp"
900
+ - "net/http"
901
+ - "net/https"
902
+ - "net/imap"
903
+ - "net/pop"
904
+ - "net/protocol"
905
+ - "net/smtp"
906
+ - "net/telnet"
907
+ - "nkf"
908
+ - "objspace"
909
+ - "observer"
910
+ - "open-uri"
911
+ - "open3"
912
+ - "openssl"
913
+ - "optparse"
914
+ - "ostruct"
915
+ - "pathname"
916
+ - "pp"
917
+ - "prettyprint"
918
+ - "prime"
919
+ - "profile"
920
+ - "profiler"
921
+ - "pstore"
922
+ - "psych"
923
+ - "pty"
924
+ - "racc/parser"
925
+ - "rake"
926
+ - "rbconfig"
927
+ - "rdoc"
928
+ - "readline"
929
+ - "resolv"
930
+ - "resolv-replace"
931
+ - "rexml"
932
+ - "rinda/rinda"
933
+ - "rinda/tuplespace"
934
+ - "ripper"
935
+ - "rss"
936
+ - "rubygems"
937
+ - "scanf"
938
+ - "sdbm"
939
+ - "securerandom"
940
+ - "set"
941
+ - "shell"
942
+ - "shellwords"
943
+ - "singleton"
944
+ - "socket"
945
+ - "stringio"
946
+ - "strscan"
947
+ - "sync"
948
+ - "syslog"
949
+ - "tempfile"
950
+ - "test/unit"
951
+ - "thread"
952
+ - "thwait"
953
+ - "time"
954
+ - "timeout"
955
+ - "tmpdir"
956
+ - "tracer"
957
+ - "tsort"
958
+ - "ubygems"
959
+ - "un"
960
+ - "uri"
961
+ - "weakref"
962
+ - "webrick"
963
+ - "win32/registry"
964
+ - "win32/resolv"
965
+ - "win32ole"
966
+ - "yaml"
967
+ - "zlib"