fancy 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +5 -4
  3. data/bin/fspec +19 -1
  4. data/bin/ifancy +139 -35
  5. data/boot/README +2 -9
  6. data/boot/extconf.rb +0 -1
  7. data/boot/fancy_ext/module.rb +5 -15
  8. data/boot/fancy_ext/thread.rb +22 -9
  9. data/boot/rbx-compiler/README +0 -4
  10. data/boot/rbx-compiler/parser/fancy_parser.bundle +0 -0
  11. data/boot/rbx-compiler/parser/parser.y +1 -0
  12. data/doc/api/fancy.css +1 -6
  13. data/doc/api/fancy.jsonp +1 -1
  14. data/doc/api/fdoc.js +2 -4
  15. data/doc/api/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  16. data/doc/api/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  17. data/doc/api/images/ui-bg_flat_55_ffffff_40x100.png +0 -0
  18. data/doc/api/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  19. data/doc/api/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  20. data/doc/api/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  21. data/doc/api/images/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  22. data/doc/api/images/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  23. data/doc/api/images/ui-icons_0073ea_256x240.png +0 -0
  24. data/doc/api/images/ui-icons_454545_256x240.png +0 -0
  25. data/doc/api/images/ui-icons_666666_256x240.png +0 -0
  26. data/doc/api/images/ui-icons_ff0084_256x240.png +0 -0
  27. data/doc/api/images/ui-icons_ffffff_256x240.png +0 -0
  28. data/doc/api/index.html +5 -4
  29. data/doc/api/jquery-1.8.2.min.js +2 -0
  30. data/doc/api/jquery-ui-1.9.0.custom.min.css +5 -0
  31. data/doc/api/jquery-ui-1.9.0.custom.min.js +6 -0
  32. data/doc/features.md +8 -3
  33. data/examples/argv.fy +1 -1
  34. data/examples/closures.fy +1 -4
  35. data/examples/echo.fy +2 -2
  36. data/examples/guess_number.fy +18 -0
  37. data/examples/nested_classes.fy +3 -15
  38. data/lib/argv.fy +23 -18
  39. data/lib/array.fy +18 -37
  40. data/lib/block.fy +125 -0
  41. data/lib/boot.fy +1 -0
  42. data/lib/compiler/ast/block.fy +1 -1
  43. data/lib/compiler/ast/identifier.fy +1 -1
  44. data/lib/compiler/ast/message_send.fy +0 -13
  45. data/lib/compiler/ast/method_def.fy +1 -1
  46. data/lib/compiler/ast/singleton_method_def.fy +1 -0
  47. data/lib/compiler/ast/tuple_literal.fy +1 -1
  48. data/lib/compiler/command.fy +1 -1
  49. data/lib/compiler/compiler.fy +8 -6
  50. data/lib/contracts.fy +1 -1
  51. data/lib/directory.fy +1 -1
  52. data/lib/dynamic_slot_object.fy +1 -1
  53. data/lib/enumerable.fy +316 -25
  54. data/lib/enumerator.fy +11 -8
  55. data/lib/eval.fy +0 -3
  56. data/lib/fancy_spec.fy +27 -0
  57. data/lib/fdoc.fy +8 -8
  58. data/lib/file.fy +25 -1
  59. data/lib/hash.fy +91 -0
  60. data/lib/html.fy +40 -11
  61. data/lib/integer.fy +4 -0
  62. data/lib/main.fy +18 -11
  63. data/lib/object.fy +33 -7
  64. data/lib/option_parser.fy +20 -1
  65. data/lib/package/dependency.fy +8 -0
  66. data/lib/package/dependency_installer.fy +3 -6
  67. data/lib/package/handler.fy +4 -4
  68. data/lib/package/installer.fy +2 -5
  69. data/lib/package/list.fy +3 -4
  70. data/lib/parser/ext/parser.y +1 -0
  71. data/lib/proxies.fy +0 -2
  72. data/lib/queue.fy +7 -0
  73. data/lib/rbx.fy +1 -0
  74. data/lib/rbx/actor.fy +3 -1
  75. data/lib/rbx/alpha.fy +24 -0
  76. data/lib/rbx/array.fy +3 -1
  77. data/lib/rbx/class.fy +5 -8
  78. data/lib/rbx/date_time.fy +14 -0
  79. data/lib/rbx/file.fy +6 -0
  80. data/lib/rbx/hash.fy +42 -0
  81. data/lib/rbx/thread.fy +5 -7
  82. data/lib/string.fy +56 -4
  83. data/lib/symbol.fy +29 -1
  84. data/lib/time.fy +17 -0
  85. data/lib/vars.fy +4 -3
  86. data/lib/version.fy +1 -1
  87. data/ruby_lib/interactive/hilight.rb +125 -0
  88. data/tests/array.fy +19 -7
  89. data/tests/block.fy +103 -4
  90. data/tests/class.fy +31 -26
  91. data/tests/control_flow.fy +0 -1
  92. data/tests/dynamic_key_hash.fy +22 -1
  93. data/tests/enumerable.fy +239 -7
  94. data/tests/enumerator.fy +7 -0
  95. data/tests/file.fy +16 -0
  96. data/tests/future.fy +1 -11
  97. data/tests/future_proxy.fy +8 -0
  98. data/tests/hash.fy +132 -9
  99. data/tests/html.fy +30 -13
  100. data/tests/integer.fy +3 -0
  101. data/tests/method.fy +6 -11
  102. data/tests/object.fy +12 -5
  103. data/tests/option_parser.fy +12 -3
  104. data/tests/string.fy +69 -1
  105. data/tests/symbol.fy +24 -0
  106. metadata +42 -12
  107. data/boot/rsexp_pretty_printer.rb +0 -76
  108. data/doc/api/jquery-ui.min.js +0 -401
  109. data/doc/api/jquery.tools.min.js +0 -192
  110. data/doc/api/themeswitchertool.js +0 -250
  111. data/examples/future_sends.fy +0 -15
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010, 2011, 2012, Christopher Bertels
1
+ Copyright (c) 2010, 2011, 2012, 2013, Christopher Bertels
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![Logo](http://fancy-lang.org/fancy-logo.png)](http://fancy-lang.org)
1
2
  # The Fancy Programming Language
2
3
 
3
4
  [![Build Status](https://secure.travis-ci.org/bakkdoor/fancy.png)](http://travis-ci.org/bakkdoor/fancy)
@@ -36,8 +37,8 @@ https://github.com/fancy-lang/infancy
36
37
  ## Compiling / Installing from source:
37
38
  ### Dependencies:
38
39
  - Rubinius.
39
- You'll need at least version 1.2.1 for Fancy to work as expected.
40
- See http://rubini.us/releases/1.2.1/ for more information.
40
+ You'll need at least version 1.2.4 for Fancy to work as expected.
41
+ See http://rubini.us/releases/1.2.4/ for more information.
41
42
  If you want to take advantage of the latest VM improvements, we
42
43
  suggest using rvm and installing rbx-head.
43
44
  See http://rvm.beginrescueend.com/ for more information.
@@ -47,7 +48,7 @@ https://github.com/fancy-lang/infancy
47
48
 
48
49
  Given the tools & libraries mentioned above, Fancy _should_ build without problems
49
50
  on most *nix systems. We successfully have built Fancy on Debian & Ubuntu, OpenSuSE
50
- and Mac OS X 10.5 and 10.6.
51
+ and Mac OS X 10.5, 10.6 & 10.7.
51
52
 
52
53
  ### Standard building procedure:
53
54
  Building Fancy is just that easy:
@@ -114,7 +115,7 @@ Something new open: |s| { s work }
114
115
  ```
115
116
 
116
117
  ## Copyright:
117
- (C) 2010, 2011, 2012 Christopher Bertels <chris@fancy-lang.org>
118
+ (C) 2010, 2011, 2012, 2013, Christopher Bertels <chris@fancy-lang.org>
118
119
 
119
120
  Fancy is licensed under the terms of the BSD license. For more
120
121
  information on licensing issues have a look at the LICENSE file.
data/bin/fspec CHANGED
@@ -25,9 +25,27 @@ if: (test_files empty?) then: {
25
25
  }
26
26
  }
27
27
 
28
+
29
+ test_helper = "#{test_dir}/test_helper.fy"
30
+ if: (test_files includes?: test_helper) then: {
31
+ test_files remove: test_helper
32
+ }
33
+
34
+ if: (File exists?: test_helper) then: {
35
+ try {
36
+ require: test_helper
37
+ } catch StandardError => e {
38
+ *stderr* println: "Error loading #{test_helper}: #{e}"
39
+ }
40
+ }
41
+
28
42
  start = Time now
29
43
  test_files sort each: |f| {
30
- require: f
44
+ try {
45
+ require: f
46
+ } catch StandardError => e {
47
+ *stderr* println: "Error loading #{f}: #{e}"
48
+ }
31
49
  }
32
50
  Console newline
33
51
  FancySpec SpecTest print_failures: start no_failures: {
data/bin/ifancy CHANGED
@@ -1,23 +1,97 @@
1
1
  #!/usr/bin/env fancy
2
- # -*- fancy -*-
3
- require("rb-readline/readline")
2
+ # -*- set ft=fancy -*-
3
+
4
+ class Fancy Interactive {
5
+ @@info = <[]>
6
+
7
+ def self [key] {
8
+ @@info[key]
9
+ }
10
+
11
+ def self [key]: value {
12
+ @@info[key]: value
13
+ }
14
+ }
15
+
16
+ try {
17
+ require("readline")
18
+ } catch LoadError {
19
+ require("rb-readline/readline")
20
+ }
21
+
22
+ try {
23
+ require("rubygems")
24
+ require("coderay")
25
+ require(File.expand_path(File.dirname(__FILE__)) ++ "/../ruby_lib/interactive/hilight")
26
+ Fancy Interactive['coderay]: true
27
+ } catch LoadError {
28
+ Fancy Interactive['coderay]: false
29
+ }
4
30
 
5
31
  ["Welcome to the (still very simple) Fancy REPL",
6
32
  "Fancy #{Fancy VERSION}"] println
7
33
 
8
34
  HISTORY_FILE = File expand_path("~/.fancy_history")
9
- HISTORY = []
35
+ HISTORY = []
36
+ PROMPT = "ifancy[%d]> "
10
37
 
11
- ARGV rest each: |file| {
12
- "LOADING: " ++ file println
13
- require: file
38
+ class Prompt {
39
+ def initialize: @str {
40
+ @line = 0
41
+ }
42
+
43
+ def inc_line {
44
+ @line = @line + 1
45
+ }
46
+
47
+ def aug_line: num {
48
+ @line = @line + num
49
+ }
50
+
51
+ def to_s {
52
+ sprintf(@str, @line)
53
+ }
54
+ }
55
+
56
+ class Feature {
57
+ @@hooks = <[]>
58
+
59
+ read_slots: ('name, 'desc)
60
+
61
+ def initialize: @name will: @desc by: @block {
62
+ @@hooks[@name]: self
63
+ }
64
+
65
+ def run: string {
66
+ @block call: string
67
+ }
68
+
69
+ def about: name_width (@name size) {
70
+ sprintf("%-#{name_width}s : %s", @name, @desc)
71
+ }
72
+
73
+ def Feature match: name str: string {
74
+ if: (@@hooks[name]) then: |feature| {
75
+ feature run: string
76
+ return true
77
+ }
78
+ return false
79
+ }
80
+
81
+ def Feature find: name do: block else: else_block {
82
+ @@hooks with_value_for_key: name do: block else: else_block
83
+ }
84
+
85
+ def Feature each: block {
86
+ @@hooks values sort_by: 'name . each: block
87
+ }
88
+
89
+ extend: Fancy Enumerable
14
90
  }
15
91
 
16
- # handle SIGINT
17
- trap("INT") {
18
- "Quitting." println
19
- save_history
20
- System exit
92
+ ARGV rest each: |file| {
93
+ "LOADING: #{file}" println
94
+ require: file
21
95
  }
22
96
 
23
97
  Console newline;
@@ -28,7 +102,7 @@ def double_or_empty?: line {
28
102
 
29
103
  def load_history {
30
104
  if: (File exists?: HISTORY_FILE) then: {
31
- File open: HISTORY_FILE modes: ['read] with: |f| {
105
+ File read: HISTORY_FILE with: |f| {
32
106
  f readlines each: |l| {
33
107
  l = l strip()
34
108
  Readline HISTORY <<(l)
@@ -43,7 +117,7 @@ def load_history {
43
117
  def save_history {
44
118
  puts("saving history")
45
119
  unless: @history_saved do: {
46
- File open: HISTORY_FILE modes: ['write] with: |f| {
120
+ File write: HISTORY_FILE with: |f| {
47
121
  HISTORY last: 100 . each: |l| {
48
122
  f writeln: l
49
123
  }
@@ -82,40 +156,70 @@ Readline completion: |str| {
82
156
  }
83
157
  }
84
158
 
85
- def read_line {
159
+ def read_line: prompt {
86
160
  try {
87
- return Readline readline(">> ", true)
161
+ return Readline readline(prompt to_s, true)
88
162
  } catch ArgumentError {
89
163
  return ""
90
164
  }
91
165
  }
92
166
 
93
167
  load_history
168
+ at_exit() { save_history }
94
169
 
95
- try {
96
- bnd = binding()
170
+ bnd = binding()
97
171
 
98
- while: { read_line } do: |line| {
99
- if: (line =~ /^\s*(exit|quit)\s*$/) then: {
100
- break
101
- }
172
+ prompt = Prompt new: PROMPT
102
173
 
103
- HISTORY << line
104
- if: (double_or_empty?: line) then: {
105
- Readline::HISTORY pop()
106
- HISTORY pop()
174
+ Feature new: "exit" will: "Exit the shell" by: { System exit }
175
+ Feature new: "quit" will: "Exit the shell" by: { System exit }
176
+ Feature new: "?" will: "Give information on a command" by: |line| {
177
+ feature_name = line words[1]
178
+ if: feature_name then: {
179
+ Feature find: feature_name do: @{
180
+ about println
181
+ } else: {
182
+ "Sorry, #{feature_name} is not a feature that is loaded" println
107
183
  }
184
+ } else: {
185
+ max_width = Feature map: @{ name size } . max
186
+ Feature each: @{ about: max_width . println }
187
+ }
188
+ }
108
189
 
109
- unless: (line =~ /^\s*$/) do: {
110
- try {
111
- Fancy eval: line binding: bnd . inspect println
112
- } catch Exception => e {
113
- e message() println
114
- }
190
+ Feature new: "#{" will: "Create multiline capabilities" by: {
191
+ line = read_line: "-> "
192
+ line_s = ""
193
+ until: { line =~ /^\#}$/ == 0} do: {
194
+ line_s = line_s ++ line ++ "\n"
195
+ line = read_line: "-> "
196
+ }
197
+ try {
198
+ Fancy eval: line_s binding: bnd . inspect println
199
+ prompt aug_line: (line_s split: "\n" . size)
200
+ } catch Exception => e {
201
+ e message println
202
+ }
203
+ }
204
+
205
+ loop: {
206
+ line = read_line: prompt
207
+ { System exit } unless: line
208
+ { next } if: (Feature match: (line words[0]) str: line)
209
+
210
+ HISTORY << line
211
+ if: (double_or_empty?: line) then: {
212
+ Readline::HISTORY pop()
213
+ HISTORY pop()
214
+ }
215
+ try {
216
+ if: (Fancy Interactive['coderay]) then: {
217
+ "=> #{CodeRay.scan((Fancy eval: line binding: bnd . inspect), 'fancy).term()}" println
218
+ } else: {
219
+ "=> #{Fancy eval: line binding: bnd . inspect}" println
115
220
  }
221
+ prompt inc_line
222
+ } catch Exception => e {
223
+ e message println
116
224
  }
117
- save_history
118
- } catch Interrupt => e {
119
- save_history
120
- System exit
121
225
  }
data/boot/README CHANGED
@@ -1,12 +1,5 @@
1
- This directory contains all the code for compiling Fancy source files
2
- (.fy) to Rubinius bytecode files (.fyc).
3
-
4
- The compiler implementation is in the compiler/ directory.
1
+ The bootstrap compiler implementation is in the rbx-compiler/ directory.
5
2
 
6
3
  The fancy_ext/ directory contains a small amount of methods defined in
7
4
  Ruby to existing classes in Rubinius to allow Fancy to run on rbx. See
8
- fancy_ext.rb for more information.
9
-
10
- The parser/ directory contains the bison & flex written parser and
11
- lexer which are used as a C-extension in rbx to generate the
12
- appropriate AST node instances in parser/parser.rb.
5
+ fancy_ext.rb for more information.
data/boot/extconf.rb CHANGED
@@ -1,4 +1,3 @@
1
- base = File.dirname(__FILE__)
2
1
  puts "Fancy hasn't been bootstrapped yet. Doing that now.\n\n"
3
2
  File.open("Makefile", "w") do |f|
4
3
  f.puts "install:"
@@ -1,18 +1,4 @@
1
1
  class Module
2
- define_method :"included:" do |mod|
3
- nil # do nothing by default
4
- end
5
-
6
- # Fancy version does not restricts to only modules.
7
- define_method :"include:" do |modules|
8
- modules = [modules] unless modules.kind_of?(Array)
9
- modules.reverse_each do |mod|
10
- mod.send :"append_features:", self
11
- mod.send :included, self
12
- mod.send :"included:", self
13
- end
14
- end
15
-
16
2
  # Fancy version does not restricts to only modules.
17
3
  ###
18
4
  #
@@ -84,7 +70,11 @@ class Module
84
70
 
85
71
  if changed
86
72
  method_table.each do |meth, obj, vis|
87
- Rubinius::VM.reset_method_cache meth
73
+ begin
74
+ Rubinius::VM.reset_method_cache klass, meth
75
+ rescue ArgumentError
76
+ Rubinius::VM.reset_method_cache meth
77
+ end
88
78
  end
89
79
  end
90
80
 
@@ -1,13 +1,28 @@
1
1
  class Thread
2
- def dynamic_vars
3
- @dynamic_vars ||= []
2
+ def __dynamic_vars__
3
+ @dynamic_vars ||= {}
4
4
  @dynamic_vars
5
5
  end
6
- alias_method :set_thread_local, :[]=
6
+ private :__dynamic_vars__
7
7
 
8
- def []=(var, val)
9
- dynamic_vars << var unless dynamic_vars.include? var
10
- set_thread_local(var, val)
8
+ def dynamic_vars
9
+ __dynamic_vars__.keys
10
+ end
11
+
12
+ def get_dynamic_variable(var)
13
+ var = var.to_s
14
+ __dynamic_vars__[var]
15
+ end
16
+
17
+ def set_dynamic_variable(var, val)
18
+ var = var.to_s
19
+ __dynamic_vars__[var] = val
20
+ end
21
+
22
+ def copy_dynamic_variables_from(other_thread)
23
+ other_thread.send(:__dynamic_vars__).each do |var, val|
24
+ self.set_dynamic_variable(var, val)
25
+ end
11
26
  end
12
27
 
13
28
  class << self
@@ -15,9 +30,7 @@ class Thread
15
30
  def new(*args, &block)
16
31
  parent = current
17
32
  old_new(*args) do
18
- parent.dynamic_vars.each do |v|
19
- current[v] = parent[v]
20
- end
33
+ current.copy_dynamic_variables_from(parent)
21
34
  block.call
22
35
  end
23
36
  end
@@ -3,10 +3,6 @@ This directory contains all the code for compiling Fancy source files
3
3
 
4
4
  The compiler implementation is in the compiler/ directory.
5
5
 
6
- The fancy_ext/ directory contains a small amount of methods defined in
7
- Ruby to existing classes in Rubinius to allow Fancy to run on rbx. See
8
- fancy_ext.rb for more information.
9
-
10
6
  The parser/ directory contains the bison & flex written parser and
11
7
  lexer which are used as a C-extension in rbx to generate the
12
8
  appropriate AST node instances in parser/parser.rb.
@@ -152,6 +152,7 @@ extern char *yytext;
152
152
  %%
153
153
 
154
154
  programm: /*empty*/
155
+ | nls
155
156
  | expression_list {
156
157
  rb_funcall(self, rb_intern("body="), 1, $1);
157
158
  }
data/doc/api/fancy.css CHANGED
@@ -20,16 +20,11 @@
20
20
  cursor: pointer;
21
21
  }
22
22
  .expand {
23
- padding-left: 16px;
23
+ /* padding-left: 16px;*/
24
24
  }
25
25
  .expand:hover{
26
26
  cursor: pointer;
27
27
  }
28
- .sidebar .theme-roller {
29
- position: absolute;
30
- top: 5px;
31
- right: 2em;
32
- }
33
28
  .main {
34
29
  margin: 0;
35
30
  border: 0;
data/doc/api/fancy.jsonp CHANGED
@@ -1 +1 @@
1
- (function() { fancy.fdoc(true, "bakkdoor/fancy", {date:"Mon Aug 27 21:16:09 -0700 2012", title:"Fancy Documentation", classes:{"Struct":{doc:"<p>Structs are light-weight classes with predefined read-writable slots.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"new:":{doc:"<p>Creates a new Struct class with the given slots.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames the new Struct should contain.</div></div></div>\n\n", lines:[6, 25], file:"lib/struct.fy", arg:["slots"]}}, ancestors:["Struct", "Enumerable", "Object", "Kernel"]}, "Actor":{doc:"<p>Primitive Actor class.\nActors can be sent messages asynchronously. They process incoming messages\n(which can be any object, including Tuples, Arrays, Numbers ...) in a\nfirst-come, first-serve manner.</p>\n\n<p>Actors are used to implement asynchronous and future message sends in Fancy\nusing the @ and @@ syntax.</p>\n\n<p>Example:</p>\n\n<pre><code> a = Actor spawn: {\n loop: {\n match Actor receive {\n case 'hello -&gt; \"Hello World\" println\n case 'quit -&gt;\n \"OK, done!\" println\n break # Quit loop and let actor die\n }\n }\n }\n\n 10 times: {\n a ! 'hello # send 'hello to actor asynchronously\n }\n a ! 'quit\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"spawn:":{doc:"<p>Example:</p>\n\n<pre><code> Actor spawn: {\n loop: {\n Actor receive println # print all incoming messages\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code> running <code data-lang=\"fancy\">block</code> in a seperate <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code>'s code body to be executed in a new <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div></div>\n\n", lines:[36, 50], file:"lib/rbx/actor.fy", arg:["block"]}}, ancestors:["Actor", "Object", "Kernel"]}, "Stack":{doc:"<p>A simple Stack container class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":initialize":{doc:"<p>Initializes a new Stack.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[6, 12], file:"lib/stack.fy", arg:[]}, ":empty?":{doc:"<p>Indicates, if the Stack is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if empty, otherwise <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[62, 70], file:"lib/stack.fy", arg:[]}, ":pop":{doc:"<p>Pops the top-of-stack element from the Stack and returns it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Top-of-stack element.</div></div></div>\n\n", lines:[36, 44], file:"lib/stack.fy", arg:[]}, ":<<":{doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[24, 32], file:"lib/stack.fy", arg:["obj"]}, "push:":{doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[24, 32], file:"lib/stack.fy", arg:["obj"]}, "initialize:":{doc:"<p>Initializes a new Stack with a given size.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the new Stack.</div></div></div>\n\n", lines:[14, 22], file:"lib/stack.fy", arg:["size"]}, ":top":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The top-of-stack element.</div></div></div>\n\n", lines:[46, 52], file:"lib/stack.fy", arg:[]}, ":size":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Size of the Stack.</div></div></div>\n\n", lines:[54, 60], file:"lib/stack.fy", arg:[]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in <code data-lang=\"fancy\">self</code>, starting with the top of stack element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[72, 81], file:"lib/stack.fy", arg:["block"]}}, methods:{}, ancestors:["Stack", "Object", "Kernel"]}, "Integer":{doc:"<p>Base class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"times:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between 0 and <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[4, 19], file:"lib/rbx/integer.fy", arg:["block"]}, "times:offset:":{doc:"<p>Similar to #times: but starts at a given offset.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset</code> </label><div>Offset to be used as starting point of iteration.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between <code data-lang=\"fancy\">offset</code> and <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[6, 18], file:"lib/integer.fy", arg:["block", "offset"]}, "times_try:retry_with:":{doc:"<p>Tries to call a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\">self</code> amount of times, returning its return\nvalue or raising the last exception raised from <code data-lang=\"fancy\">block</code> after <code data-lang=\"fancy\">self</code> tries.</p>\n\n<p>Example:</p>\n\n<pre><code> 2 times_try: {\n # this code will be tried 2 times.\n # if it succeeds the first time, simply return its value, otherwise try once more.\n # if it still fails after 2 attempts, raises the exception thrown (in this case probably an IOError).\n @connection readln\n } retry_with: { @connection reconnect }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> or raises an exception after <code data-lang=\"fancy\">self</code> tries. Returns <code data-lang=\"fancy\">nil</code> if <code data-lang=\"fancy\">self</code> <= 0.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called and retries <code data-lang=\"fancy\">self</code> amount of times if exceptions get thrown.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">retry_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called before retrying execution of <code data-lang=\"fancy\">block</code>. Defaults to an empty <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[20, 50], file:"lib/integer.fy", arg:["block", "retry_block"]}, ":decimals":{doc:"<p>Returns all decimals of an Integer as an Array.</p>\n\n<p>Example:</p>\n\n<pre><code> 100 decimals # =&gt; [1, 0, 0]\n 12345 decimals # =&gt; [1, 2, 3, 4, 5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all decimals of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[52, 71], file:"lib/integer.fy", arg:[]}, "times_try:":{doc:"<p>Forward to message times_try:retry_with:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[19, 50], file:"lib/integer.fy", arg:["block"]}}, methods:{}, ancestors:["Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"]}, "IO":{doc:"<p>Base class for IO related classes (like <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>, <code data-lang=\"fancy\" data-class-ref=\"Socket\" class=\"class-ref selectable\">Socket</code>, <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code> etc.).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"]}, "Fancy FDoc":{doc:"<p>FDoc is a tool to generate API documentation from Fancy source.</p>\n\n<p>Works as follows:</p>\n\n<ol>\n<li>We setup a handler to be invoked every time an object is set documentation\nSee fdoc_hook.fy, its loaded even before all of lib/rbx/*.fy so we can\nAlso have documentation for all fancy rubinius.</li>\n<li>We load boot.fy, so we get documentation for all fancy's lib.</li>\n<li>We run FDoc main\nwhich can possibly load any file/directory you specify and optionally\nrun specs, effectively associating them with documented objects.</li>\n<li>Generate output file.\nCurrently the plan is to output a json formatted object.\nTo be loaded by an html file and use jquery to build a GUI from it.</li>\n</ol>\n\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{":main":{doc:"<p>FDoc will load all .fy files you give to it, and optionally run\nany specified FancySpec, and later produce documentation output.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[29, 93], file:"lib/fdoc.fy", arg:[]}}, ancestors:["Fancy FDoc", "Object", "Kernel"]}, "DynamicSlotObject":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>s with slots defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dso = DynamicSlotObject new\n dso name: \"Chris\"\n dso age: 25\n dso country: \"Germany\"\n\n dso object # =&gt; Object with slots 'name, 'age and 'country defined\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":object":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically by sending messages to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[18, 25], file:"lib/dynamic_slot_object.fy", arg:[]}}, methods:{}, ancestors:["DynamicSlotObject", "Fancy BasicObject", "Object", "Kernel"]}, "MethodMixin":{doc:"<p>Mixin class with common methods included by <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> and <code data-lang=\"fancy\" data-class-ref=\"UnboundMethod\" class=\"class-ref selectable\">UnboundMethod</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":private?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is private in its defined context.</div></div></div>\n\n", lines:[44, 49], file:"lib/rbx/method.fy", arg:[]}, ":documentation":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[6, 12], file:"lib/rbx/method.fy", arg:[]}, ":public?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is public in its defined context.</div></div></div>\n\n", lines:[30, 35], file:"lib/rbx/method.fy", arg:[]}, ":protected?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is protected in its defined context.</div></div></div>\n\n", lines:[37, 42], file:"lib/rbx/method.fy", arg:[]}, ":visibility":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The visibility (<code data-lang=\"fancy\">'private</code>, <code data-lang=\"fancy\">'protected</code>, <code data-lang=\"fancy\">'public</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> in its defined context, if any.</div></div></div>\n\n", lines:[22, 28], file:"lib/rbx/method.fy", arg:[]}, ":tests":{doc:"<p>Returns an Array of all the FancySpec SpecTests defined for a\nMethod.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[51, 59], file:"lib/rbx/method.fy", arg:[]}, "documentation:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[14, 20], file:"lib/rbx/method.fy", arg:["docstring"]}}, methods:{}, ancestors:["MethodMixin", "Object", "Kernel"]}, "Fiber":{doc:"<p>Fiber class. Fibers are cooperatively scheduled coroutines supported\nby the Rubinius VM.\nControl flow between multiple Fibers is always explicitly handled.\nThere is no preemptive scheduler.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"resume:":{doc:"<p>Resumes <code data-lang=\"fancy\">self</code> (if paused) or raises an exception, if <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> is dead.\nPasses along <code data-lang=\"fancy\">vals</code> as the return value of the last call to <code data-lang=\"fancy\">yield</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to <code data-lang=\"fancy\">self</code> for resuming.</div></div></div>\n\n", lines:[30, 39], file:"lib/rbx/fiber.fy", arg:["vals"]}}, methods:{"yield:":{doc:"<p>Returns execution control to the parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> and passes along <code data-lang=\"fancy\">vals</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code>.</div></div></div>\n\n", lines:[20, 28], file:"lib/rbx/fiber.fy", arg:["vals"]}, "new:":{doc:"<p>Creates a new Fiber running <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run in a new Fiber.</div></div></div>\n\n", lines:[10, 18], file:"lib/rbx/fiber.fy", arg:["block"]}, ":name":{doc:"<p>Fiber</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[9, 11], file:"lib/fiber.fy", arg:[]}}, ancestors:["Rubinius Fiber", "Object", "Kernel"]}, "Console":{doc:"<p>Console class. Used for <code data-lang=\"fancy\">STDIO</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"print:":{doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>.</div></div></div>\n\n", lines:[10, 18], file:"lib/rbx/console.fy", arg:["obj"]}, "println:":{doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</div></div></div>\n\n", lines:[20, 28], file:"lib/rbx/console.fy", arg:["obj"]}, ":readln":{doc:"<p>Reads a line from <code data-lang=\"fancy\">STDIN</code> and returns it as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", lines:[44, 56], file:"lib/rbx/console.fy", arg:[]}, ":newline":{doc:"<p>Prints a newline to <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[4, 8], file:"lib/rbx/console.fy", arg:[]}, "readln:":{doc:"<p>Prints a given message to <code data-lang=\"fancy\">STDOUT</code>, followed by reading a line from\n<code data-lang=\"fancy\">STDIN</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that should be printed to <code data-lang=\"fancy\">STDOUT</code> before reading from <code data-lang=\"fancy\">STDIN</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", lines:[31, 42], file:"lib/rbx/console.fy", arg:["message"]}, ":clear":{doc:"<p>Clears the <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[58, 62], file:"lib/rbx/console.fy", arg:[]}}, ancestors:["Console", "Object", "Kernel"]}, "Proxies RespondsToProxy":{doc:"<p>A RespondsToProxy is a Proxy that forwards any message sent to it to it's <code data-lang=\"fancy\">target</code> instance variable\nonly if it responds to that message. Any messages that <code data-lang=\"fancy\">target</code> doesn't respond to simply won't be sent\nand <code data-lang=\"fancy\">nil</code> will be returned.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards all incoming message to <code data-lang=\"fancy\">self</code> to @<code data-lang=\"fancy\">target</code>\nonly if @<code data-lang=\"fancy\">target</code> responds to them.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg&nbsp;&nbsp;&nbsp;</code> </label><div>Incoming message name.</div></div></div>\n\n", lines:[51, 63], file:"lib/proxies.fy", arg:["msg", "params"]}, "initialize:":{doc:"<p>Initializes a new RespondsToProxy for <code data-lang=\"fancy\">target</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">target</code> </label><div>Target receiver object.</div></div></div>\n\n", lines:[44, 49], file:"lib/proxies.fy", arg:["@target"]}}, methods:{}, ancestors:["Proxies RespondsToProxy", "Fancy BasicObject", "Object", "Kernel"]}, "Thread":{doc:"<p>Thread class.\nDeals with parallel execution.</p>\n\n<p>TODO:\n=> Still need to add more Fancy-ish wrapper methods and method\n documentation.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"sleep:":{doc:"<p>Sets the Fancy process for a given amount of seconds to sleep.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[84, 88], file:"lib/rbx/thread.fy", arg:["seconds"]}}, ancestors:["Thread", "Object", "Kernel"]}, "Tuple":{doc:"<p>Tuples are fixed-size containers providing index-based access to its\nelements.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"from:to:":{doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index for sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to&nbsp;&nbsp;</code> </label><div>End index ofr sub-array.</div></div></div>\n\n", lines:[54, 76], file:"lib/tuple.fy", arg:["from", "to"]}, ":[]":{doc:"<p>Forwards to <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>#at:.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[46, 52], file:"lib/tuple.fy", arg:["idx"]}, "[]:":{doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", lines:[36, 44], file:"lib/rbx/tuple.fy", arg:["idx", "val"]}, "reverse_each:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div></div>\n\n", lines:[95, 109], file:"lib/tuple.fy", arg:["block"]}, ":==":{doc:"<p>Compares two <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>s with each other.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to compare <code data-lang=\"fancy\">self</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if tuples are equal element-wise, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[111, 130], file:"lib/tuple.fy", arg:["other"]}, "at:put:":{doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", lines:[36, 44], file:"lib/rbx/tuple.fy", arg:["idx", "val"]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> concatenation of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[147, 153], file:"lib/tuple.fy", arg:[]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[132, 145], file:"lib/tuple.fy", arg:[]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> on the last item in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[78, 93], file:"lib/tuple.fy", arg:["block"]}, "at:":{doc:"<p>Returns an element at a given indes.\nPossibly throws an <code data-lang=\"fancy\" data-class-ref=\"Rubinius\" class=\"class-ref selectable\">Rubinius</code> <code data-lang=\"fancy\" data-class-ref=\"Rubinius ObjectBoundsExceededError\" class=\"class-ref selectable\">ObjectBoundsExceededError</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index for the element to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element at the given index within the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[24, 34], file:"lib/rbx/tuple.fy", arg:["idx"]}}, methods:{"new:":{doc:"<p>Initializes a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with a given amount of element slots.\nE.g. if <code data-lang=\"fancy\">size</code> is <code data-lang=\"fancy\">2</code>, creates a 2-Tuple.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Size of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> (amount of values to hold).</div></div></div>\n\n", lines:[5, 18], file:"lib/rbx/tuple.fy", arg:["size"]}, ":===":{doc:"<p>Matches <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> class against an object.\nIf the given object is a Tuple instance, return a Tuple object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Tuple instance containing the values of <code data-lang=\"fancy\">obj</code> to be used in pattern matching.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to be matched against</div></div></div>\n\n", lines:[28, 40], file:"lib/tuple.fy", arg:["obj"]}, "with_values:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with the <code data-lang=\"fancy\">values</code> passed in.</p>\n\n<p>Example:</p>\n\n<pre><code> Tuple with_values: [1,2,3] # =&gt; (1,2,3)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div>Values of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to be created.</div></div></div>\n\n", lines:[11, 26], file:"lib/tuple.fy", arg:["values"]}, ":name":{doc:"<p>Tuple</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[42, 44], file:"lib/tuple.fy", arg:[]}}, ancestors:["Rubinius Tuple", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"]}, "KVO":{doc:"<p>Key-Value Observing Mixin class.\nInclude this Class into any class to add support for Key-Value Observing.\nInspired by Objective-C's KVO, but using <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s, as it fits nicer\nwith Fancy's semantics.</p>\n\n<p>Example:</p>\n\n<pre><code> class Person {\n include: KVO\n read_write_slots: ('name, 'age, 'city)\n }\n\n tom = Person new tap: @{\n name: \"Tom Cruise\"\n age: 55\n city: \"Hollywood\"\n }\n\n tom observe: 'name with: |new old| {\n new println\n }\n tom name: \"Tommy Cruise\" # will cause \"Tommy Cruise\" to be printed\n tom age: 56 # No observer Blocks defined, so nothing will happen\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"observe:with:":{doc:"<p>Registers a new observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with old and new value of <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[59, 68], file:"lib/kvo.fy", arg:["slotname", "block"]}, "observe_removal:with:":{doc:"<p>Registers a new removal observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value removed from collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[81, 90], file:"lib/kvo.fy", arg:["slotname", "block"]}, "observe_insertion:with:":{doc:"<p>Registers a new insertion observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value inserted in collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[70, 79], file:"lib/kvo.fy", arg:["slotname", "block"]}}, methods:{}, ancestors:["KVO", "Object", "Kernel"]}, "TCPServer":{doc:"<p>TCP Server</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["TCPServer", "Socket ListenAndAccept", "IO Socketable", "TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"]}, "String":{doc:"<p>Strings are sequences of characters and behave as such.\nAll literal Strings within Fancy code are instances of the String\nclass.</p>\n\n<p>They also include <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>, which means you can use all the\ncommon sequence methods on them, like <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"map:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">map:</code>, <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"select:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">select:</code> etc.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":split":{doc:"<p>Splits a string by whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">Array</code> of all non-whitespace Substrings in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[71, 78], file:"lib/rbx/string.fy", arg:[]}, ":whitespace?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> is empty or a single whitespace character.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> consists only of a single whitespace character or is empty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[43, 51], file:"lib/string.fy", arg:[]}, ":words":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" words # =&gt; [\"hello\", \"world\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the whitespace seperated words in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[85, 94], file:"lib/string.fy", arg:[]}, ":bytes":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> of all bytes (<code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> values) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[178, 188], file:"lib/string.fy", arg:[]}, "==":{doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[79, 78], file:"kernel/common/string.rb"}, "if_main:":{doc:"<p>Forward to message if_main:else:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[223, 234], file:"lib/string.fy", arg:["main_block"]}, ":eval_global":{doc:"<p>Same as <code data-lang=\"fancy\">String#eval</code> but evaluates <code data-lang=\"fancy\">self</code> in the global binding.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[92, 95], file:"lib/rbx/string.fy", arg:[]}, ":rest":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</p>\n\n<pre><code> \"hello\" rest # =&gt; \"ello\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</div></div></div>\n\n", lines:[104, 113], file:"lib/string.fy", arg:[]}, ":eval":{doc:"<p>Evaluates a <code data-lang=\"fancy\">String</code> in the current <code data-lang=\"fancy\">Binding</code> and returns its value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of evaluating <code data-lang=\"fancy\">self</code> as Fancy code.</div></div></div>\n\n", lines:[80, 90], file:"lib/rbx/string.fy", arg:[]}, ":<<":{doc:"<p>Appends <code data-lang=\"fancy\">object's</code> <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation to <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> str = \"hello\"\n str &lt;&lt; \" \"\n str &lt;&lt; 42\n str # =&gt; \"hello 42\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> who's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation will be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div></div>\n\n", lines:[125, 140], file:"lib/string.fy", arg:["object"]}, "substitute:with:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> or <code data-lang=\"fancy\" data-class-ref=\"Regexp\" class=\"class-ref selectable\">Regexp</code> to be substituted.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> where <code data-lang=\"fancy\">substring</code> is substituted by <code data-lang=\"fancy\">substitution</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">substitution</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to replace <code data-lang=\"fancy\">substring</code> with.</div></div></div>\n\n", lines:[157, 165], file:"lib/rbx/string.fy", arg:["substring", "substitution"]}, ":lowercase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[282, 287], file:"kernel/common/string.rb"}, "relative_path:":{doc:"<p>Example:</p>\n\n<pre><code> __FILE__ relative: \"../foo/bar\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> path relative to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">path&nbsp;&nbsp;</code> </label><div>Relative path to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[190, 200], file:"lib/string.fy", arg:["path"]}, ":uppercase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[814, 819], file:"kernel/common/string.rb"}, ":downcase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[282, 287], file:"kernel/common/string.rb"}, "split:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">String</code> where <code data-lang=\"fancy\">self</code> should be split at.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\">Array</code> of <code data-lang=\"fancy\">String</code> values in <code data-lang=\"fancy\">self</code> that are seperated by <code data-lang=\"fancy\">str</code>.</div></div></div>\n\n", lines:[63, 69], file:"lib/rbx/string.fy", arg:["str"]}, ":main?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is the filename of the script that got executed initially.</div></div></div>\n\n", lines:[216, 222], file:"lib/string.fy", arg:[]}, ":[]":{doc:"<p>Given an Array of 2 Numbers, it returns the substring between the given indices.\nIf given a Number, returns the character at that index.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[18, 30], file:"lib/rbx/string.fy", arg:["index"]}, ":skip_leading_indentation":{doc:"<p>Remove leading white space for multi-line strings.\nThis method expects the first character to be an line return.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[142, 157], file:"lib/string.fy", arg:[]}, "lowercase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[282, 287], file:"kernel/common/string.rb"}, ":++":{doc:"<p>Concatenate <code data-lang=\"fancy\">self</code> with another Object's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation.</p>\n\n<pre><code> \"foo\\\342\200\235 ++ 42 # =&gt; \\\342\200\235foo42\\\342\200\235\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object to concatenate <code data-lang=\"fancy\">self</code> with as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[31, 41], file:"lib/string.fy", arg:["other"]}, ":*":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of itself.</p>\n\n<p>Example:</p>\n\n<pre><code> \"foo\" * 3 # =&gt; \"foofoofoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Amount of concatenations to do with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[67, 83], file:"lib/string.fy", arg:["num"]}, ":lines":{doc:"<p>Returns the lines of a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the lines in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[115, 123], file:"lib/string.fy", arg:[]}, ":upcase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[814, 819], file:"kernel/common/string.rb"}, "if_main:else:":{doc:"<p>Same as:</p>\n\n<pre><code> if: main? then: else_block else: else_block\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">main_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run if <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> <code data-lang=\"fancy\" data-singleton-method-ref=\":main?\" data-owner-class=\"String\" class=\"singleton-method-ref selectable\">main?</code> returns true.</div></div></div>\n\n", lines:[224, 234], file:"lib/string.fy", arg:["main_block", "else_block"]}, ":characters":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all characters (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[159, 165], file:"lib/string.fy", arg:[]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\">Block</code> with each character in a <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\">Block</code> to be called for each character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[44, 51], file:"lib/rbx/string.fy", arg:["block"]}, ":multiline?":{doc:"<p>Example:</p>\n\n<pre><code> \"foo\n</code></pre>\n\n<p>bar\" multiline? # => true</p>\n\n<pre><code> \"foo bar\" multiline? # =&gt; false\n \"\" multiline? # =&gt; false\n \"\n</code></pre>\n\n<p>\" multiline? # => true</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is a multiline string, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[198, 214], file:"lib/string.fy", arg:[]}, ":character":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> (byte / ASCII) value of first character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[167, 176], file:"lib/string.fy", arg:[]}, "upcase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[814, 819], file:"kernel/common/string.rb"}, "includes?:":{doc:"<p>Indicates if a given substring is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to be checked if it's in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">substring</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[146, 155], file:"lib/rbx/string.fy", arg:["substring"]}, "from:to:":{doc:"<p>Returns a Substring from <code data-lang=\"fancy\">from</code> to <code data-lang=\"fancy\">to</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from&nbsp;&nbsp;</code> </label><div>Start index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Substring starting at index <code data-lang=\"fancy\">from</code> and ending at <code data-lang=\"fancy\">to</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>End index.</div></div></div>\n\n", lines:[32, 42], file:"lib/rbx/string.fy", arg:["from", "to"]}, ":raise!":{doc:"<p>Raises a new <code data-lang=\"fancy\" data-class-ref=\"StandardError\" class=\"class-ref selectable\">StandardError</code> with self as the message.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[96, 102], file:"lib/string.fy", arg:[]}, "downcase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[282, 287], file:"kernel/common/string.rb"}, ":==":{doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[79, 78], file:"kernel/common/string.rb"}, "append:":{doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> onto this <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example usage:\n str = \"hello\"\n str append: \" world!\"\n str # => \"hello world!\"</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">string</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to append on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[130, 144], file:"lib/rbx/string.fy", arg:["string"]}, "uppercase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[814, 819], file:"kernel/common/string.rb"}, ":blank?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> consists only of whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> consists only of whitespace, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[53, 65], file:"lib/string.fy", arg:[]}, "at:":{doc:"<p>Returns the character (as a <code data-lang=\"fancy\">String</code>) at index <code data-lang=\"fancy\">idx</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index of the character to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Character in <code data-lang=\"fancy\">self</code> at position <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", lines:[53, 61], file:"lib/rbx/string.fy", arg:["idx"]}}, methods:{}, ancestors:["String", "Fancy Enumerable", "Object", "Enumerable", "Comparable", "Object", "Kernel"]}, "NilClass":{doc:"<p>NilClass. The class of the singleton <code data-lang=\"fancy\">nil</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", lines:[24, 31], file:"lib/nil_class.fy", arg:["then_block", "else_block"]}, "if_nil:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div></div>\n\n", lines:[33, 42], file:"lib/nil_class.fy", arg:["block"]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[74, 80], file:"lib/nil_class.fy", arg:[]}, ":nil?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[56, 62], file:"lib/nil_class.fy", arg:[]}, "if_true:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[16, 22], file:"lib/nil_class.fy", arg:["block"]}, ":not":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[90, 96], file:"lib/nil_class.fy", arg:[]}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[44, 54], file:"lib/nil_class.fy", arg:["then_block", "else_block"]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[64, 70], file:"lib/nil_class.fy", arg:[]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[98, 104], file:"lib/nil_class.fy", arg:[]}, ":to_hash":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</div></div></div>\n\n", lines:[82, 88], file:"lib/nil_class.fy", arg:[]}}, methods:{":new":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[6, 14], file:"lib/nil_class.fy", arg:[]}}, ancestors:["NilClass", "ImmediateValue", "Object", "Kernel"]}, "Fancy FDoc Formatter":{doc:"<p>A documentation formater intended to be used by <code data-lang=\"fancy\" data-class-ref=\"FDoc\" class=\"class-ref selectable\">FDoc</code>.</p>\n\n<p>This formatter makes some transformations on a docstring\nand then converts it to html using markdown.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"create_class_references:":{doc:"<p>Creates class references for Fancy class names.\nA docstring may contain class names sorounded by @\nwithout space between the @.</p>\n\n<p>Nested classes can be indicated by using :: like</p>\n\n<pre><code> Foo::Bar\n</code></pre>\n\n<p>This will create references for both, <code data-lang=\"fancy\">Foo</code> and <code data-lang=\"fancy\">Bar</p></code>\n\n<p>Instance methods should be written:</p>\n\n<pre><code> Foo::Bar#baz\n</code></pre>\n\n<p>Class methods should be written:</p>\n\n<pre><code> Foo::Bar.baz\n</code></pre>\n\n<p>Some examples:\nA simple class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code></p>\n\n<p>Nested class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code></p>\n\n<p>A fancy method without arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc JSON\" class=\"class-ref selectable\">JSON</code> <code data-lang=\"fancy\" data-singleton-method-ref=\":generate_map\" data-owner-class=\"Fancy FDoc JSON\" class=\"singleton-method-ref selectable\">generate_map</code></p>\n\n<p>A ruby method reference (will link to ruby docs if available)\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"split\" data-owner-class=\"String\" class=\"ruby-singleton-method-ref selectable\">split</code></p>\n\n<p>A fancy method with many arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Installer\" class=\"class-ref selectable\">Installer</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"initialize:version:install_path:\" data-owner-class=\"Fancy Package Installer\" class=\"singleton-method-ref selectable\">initialize:version:install_path:</code></p>\n\n<p>A singleton method:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc Formatter\" class=\"class-ref selectable\">Formatter</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"format:\" data-owner-class=\"Fancy FDoc Formatter\" class=\"singleton-method-ref selectable\">format:</code></p>\n\n<div class=\"doctags\"></div>\n\n", lines:[253, 329], file:"lib/fdoc.fy", arg:["str"]}}, ancestors:["Fancy FDoc Formatter", "Object", "Kernel"]}, "System":{doc:"<p>System class. Holds system-wide relevant methods.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"do:":{doc:"<p>Runs the given string as a system() command.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[26, 32], file:"lib/rbx/system.fy", arg:["command_str"]}, "piperead:":{doc:"<p>Runs the given string as a popen() call and returns the output\nof the call as a string.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[34, 41], file:"lib/rbx/system.fy", arg:["command_str"]}, "pipe:":{doc:"<p>Runs the given string as a popen3() call and returns a IO handle\nthat can be read from</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"IO\" class=\"class-ref selectable\">IO</code> object representing the command's <code data-lang=\"fancy\">STDOUT</code> IO stream.</div></div></div>\n\n", lines:[43, 54], file:"lib/rbx/system.fy", arg:["command_str"]}, ":abort":{doc:"<p>Exits the current running Fancy process (application) with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[2, 9], file:"lib/system.fy", arg:[]}, "exit:":{doc:"<p>Exit the running Fancy process with a given exit code.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">exitcode</code> </label><div>Exit code (Fixnum) to be returned to the parent process.</div></div></div>\n\n", lines:[16, 24], file:"lib/rbx/system.fy", arg:["exitcode"]}, "aborting:do:":{doc:"<p>Prints <code data-lang=\"fancy\">message</code> on <code data-lang=\"fancy\">*stderr*</code>, calls <code data-lang=\"fancy\">block</code> and finally exits with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to print on <code data-lang=\"fancy\">*stderr*</code> before calling <code data-lang=\"fancy\">block</code> and exiting.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called before exiting execution.</div></div></div>\n\n", lines:[23, 35], file:"lib/system.fy", arg:["message", "block"]}, "abort:":{doc:"<p>Prints <code data-lang=\"fancy\">message</code> on <code data-lang=\"fancy\">*stderr*</code> and exits with an exit code of 1 (indicating\nfailure).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Error message to be printed before aborting programm execution.</div></div></div>\n\n", lines:[11, 21], file:"lib/system.fy", arg:["message"]}, ":exit":{doc:"<p>Exit the running Fancy process.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[8, 14], file:"lib/rbx/system.fy", arg:[]}, "pipe:do:":{doc:"<p>Runs the given string as a popen3() call, passing in a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nThe <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> is expected to take 3 arguments for <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</div></div></div>\n\n", lines:[56, 66], file:"lib/rbx/system.fy", arg:["command_str", "block"]}}, ancestors:["System", "Object", "Kernel"]}, "Object":{doc:"<p>Root class of Fancy's class hierarchy.\nAll classes inherit from Object.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"receive_message:with_params:":{doc:"<p>Dynamically sends a given message with parameters to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters used with <code data-lang=\"fancy\">message</code>.</div></div></div>\n\n", lines:[108, 117], file:"lib/rbx/object.fy", arg:["message", "params"]}, "do:until:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block</code>@ should be called again.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a false-ish value.</div></div></div>\n\n", lines:[265, 273], file:"lib/object.fy", arg:["body_block", "cond_block"]}, "copy_slots_from:":{doc:"<p>Copies all slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", lines:[557, 565], file:"lib/object.fy", arg:["object"]}, "until:do:":{doc:"<p>Same as:\ncond_block until_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[246, 253], file:"lib/object.fy", arg:["cond_block", "body_block"]}, "send_async:":{doc:"<p>Forward to message send_async:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[518, 530], file:"lib/object.fy", arg:["message"]}, "if_true:":{doc:"<p>Calls the <code data-lang=\"fancy\">block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div></div>\n\n", lines:[62, 71], file:"lib/object.fy", arg:["block"]}, "let:be:":{doc:"<p>Forward to message let:be:in:ensuring:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[672, 708], file:"lib/object.fy", arg:["var_name", "value"]}, "loop:":{doc:"<p>Infinitely calls the block (loops).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called endlessly (loop).</div></div></div>\n\n", lines:[19, 27], file:"lib/object.fy", arg:["block"]}, "break:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> from iteratioen.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to return from iteration.</div></div></div>\n\n", lines:[439, 447], file:"lib/object.fy", arg:["value"]}, ":false?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[118, 124], file:"lib/object.fy", arg:[]}, "while:do:":{doc:"<p>Same as:\ncond_block while_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[237, 244], file:"lib/object.fy", arg:["cond_block", "body_block"]}, ":_":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</div></div></div>\n\n", lines:[808, 814], file:"lib/object.fy", arg:[]}, "returning:do:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> after calling <code data-lang=\"fancy\">block</code> with it.\nUseful for returning some object after using it, e.g.:</p>\n\n<pre><code> # this will return [1,2]\n returning: [] do: |arr| {\n arr &lt;&lt; 1\n arr &lt;&lt; 2\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">value</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with <code data-lang=\"fancy\">value</code> before returning <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value that gets returned at the end.</div></div></div>\n\n", lines:[335, 354], file:"lib/object.fy", arg:["value", "block"]}, "do:while:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block</code>@ should be called again.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a true-ish value.</div></div></div>\n\n", lines:[255, 263], file:"lib/object.fy", arg:["body_block", "cond_block"]}, "ignoring:do:":{doc:"<p>Example:</p>\n\n<pre><code> ignoring: (IOError, ZeroDivisionError) in: {\n # do something\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed while ignoring (catching but not handling) <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>s defined in <code data-lang=\"fancy\">exception_classes</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">exception_classes</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>s to ignore within <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[769, 783], file:"lib/object.fy", arg:["exception_classes", "block"]}, ":println":{doc:"<p>Same as:\n<em>stdout</em> println: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>, followed by a newline.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[29, 38], file:"lib/object.fy", arg:[]}, ":if_responds?":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"Proxies\" class=\"class-ref selectable\">Proxies</code> <code data-lang=\"fancy\" data-class-ref=\"Proxies RespondsToProxy\" class=\"class-ref selectable\">RespondsToProxy</code> for <code data-lang=\"fancy\">self</code> that forwards any messages\nonly if <code data-lang=\"fancy\">self</code> responds to them.</p>\n\n<p>Example:</p>\n\n<pre><code> # only send 'some_message: if object responds to it:\n object if_responds? some_message: some_parameter\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Proxies\" class=\"class-ref selectable\">Proxies</code> <code data-lang=\"fancy\" data-class-ref=\"Proxies RespondsToProxy\" class=\"class-ref selectable\">RespondsToProxy</code> for <code data-lang=\"fancy\">self</div></div></div></code>\n\n", lines:[356, 369], file:"lib/object.fy", arg:[]}, "lambda:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Proc\" class=\"class-ref selectable\">Proc</code> with Ruby's lambda semantics (e.g. <code data-lang=\"fancy\">return</code> always becomes <code data-lang=\"fancy\">return_local</code>)</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the lambda's body.</div></div></div>\n\n", lines:[140, 147], file:"lib/rbx/object.fy", arg:["block"]}, "set_slot:value:":{doc:"<p>Sets an object's slot with a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for slot to be set.</div></div></div>\n\n", lines:[35, 44], file:"lib/rbx/object.fy", arg:["slotname", "val"]}, ":die!":{doc:"<p>Tells an object to let its actor to die (quit running).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[489, 495], file:"lib/object.fy", arg:[]}, "kind_of?:":{doc:"<p>Same as Object#is_a?:\nIndicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[89, 96], file:"lib/rbx/object.fy", arg:["class"]}, "send_future:":{doc:"<p>Forward to message send_future:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[506, 517], file:"lib/object.fy", arg:["message"]}, ":||":{doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div></div>\n\n", lines:[185, 201], file:"lib/object.fy", arg:["other"]}, "next:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> for current iteration and skip to the next one.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value for next iteration.</div></div></div>\n\n", lines:[421, 429], file:"lib/object.fy", arg:["value"]}, ":!=":{doc:"<p>Indicates, if two objects are not equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other object to compare against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is not equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[51, 60], file:"lib/object.fy", arg:["other"]}, "and:":{doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div></div>\n\n", lines:[167, 183], file:"lib/object.fy", arg:["other"]}, "if_false:":{doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div></code>\n\n", lines:[86, 93], file:"lib/object.fy", arg:["block"]}, "yield:":{doc:"<p>Same as Fiber##yield:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[405, 411], file:"lib/object.fy", arg:["values"]}, "synchronized:":{doc:"<p>Runs a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in a synchronized fashion if called by multiple Threads.\nUses a <code data-lang=\"fancy\" data-class-ref=\"Mutex\" class=\"class-ref selectable\">Mutex</code> in the background for synchronization (created on demand for each <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run only by one Thread at a time.</div></div></div>\n\n", lines:[532, 542], file:"lib/object.fy", arg:["block"]}, ":++":{doc:"<p>Returns the <code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.\nCalls to_s on <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> and concatenates the results to a new <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other object to concatenate its <code data-lang=\"fancy\">String</code> value with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">String</code> values of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[7, 17], file:"lib/object.fy", arg:["other"]}, "receive_message:":{doc:"<p>Dynamically sends a given message (without parameters) to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div></div>\n\n", lines:[98, 106], file:"lib/rbx/object.fy", arg:["message"]}, "responds_to?:":{doc:"<p>Indicates if an object responds to a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>The message to check for (preferably a Symbol).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> responds to <code data-lang=\"fancy\">message</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[119, 128], file:"lib/rbx/object.fy", arg:["message"]}, "copy_slots:from:":{doc:"<p>Copies slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Target <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of slot names to copy from <code data-lang=\"fancy\">object</code>.</div></div></div>\n\n", lines:[544, 555], file:"lib/object.fy", arg:["slots", "object"]}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div></div>\n\n", lines:[95, 105], file:"lib/object.fy", arg:["then_block", "else_block"]}, "to_enum:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator</code> </label><div>Message to use for iteration on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using <code data-lang=\"fancy\">iterator</code> for iteration.</div></div></div>\n\n", lines:[158, 165], file:"lib/object.fy", arg:["iterator"]}, "documentation:":{doc:"<p>Sets the documentation string for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[315, 323], file:"lib/object.fy", arg:["docstring"]}, ":<>":{doc:"<p>Shorthand for: <code>MatchAll new: self with: other</code></p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to create a <code data-lang=\"fancy\" data-class-ref=\"MatchAll\" class=\"class-ref selectable\">MatchAll</code> matcher with.</div></div></div>\n\n", lines:[759, 767], file:"lib/object.fy", arg:["other"]}, ":does_not":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[438, 444], file:"lib/fancy_spec.fy", arg:[]}, ":true?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[126, 132], file:"lib/object.fy", arg:[]}, ":break":{doc:"<p>Breaks / Stops current iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[431, 437], file:"lib/object.fy", arg:[]}, "or:":{doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div></div>\n\n", lines:[185, 201], file:"lib/object.fy", arg:["other"]}, "define_singleton_method:with:":{doc:"<p>Dynamically defines a method on <code data-lang=\"fancy\">self's</code> metaclass (a singleton method) using a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;</code> </label><div>Name of the method to be defined on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the method's body.</div></div></div>\n\n", lines:[57, 66], file:"lib/rbx/object.fy", arg:["name", "block"]}, ":&&":{doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div></div>\n\n", lines:[167, 183], file:"lib/object.fy", arg:["other"]}, "xor:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if only one of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> is true, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[203, 214], file:"lib/object.fy", arg:["other"]}, "let:be:in:":{doc:"<p>Forward to message let:be:in:ensuring:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[672, 708], file:"lib/object.fy", arg:["var_name", "value", "block"]}, ":actor":{doc:"<p>Returns the Object's actor.\nIf none exists at this moment, a new one will be created\nand starts running in the background.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[497, 505], file:"lib/object.fy", arg:[]}, ":is_not":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[438, 444], file:"lib/fancy_spec.fy", arg:[]}, ":to_i":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[142, 148], file:"lib/object.fy", arg:[]}, "method:":{doc:"<p>Returns the method with a given name for self, if defined.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with <code data-lang=\"fancy\">method_name</code> defined for <code data-lang=\"fancy\">self</code>, or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[296, 303], file:"lib/object.fy", arg:["method_name"]}, ":to_enum":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using 'each: for iteration.</div></div></div>\n\n", lines:[150, 156], file:"lib/object.fy", arg:[]}, "do:":{doc:"<p>Helper method that calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> as the receiver.\nThis allows message cascading like code, e.g.:</p>\n\n<pre><code> some_complex_object do: {\n method_1: arg1\n method_2: arg2\n method_3: arg3\n }\n\n # this is the same as:\n some_complex_object method_1: arg1\n some_complex_object method_2: arg2\n some_complex_object method_3: arg3\n</code></pre>\n\n<p>If you pass it a block with 1 argument this method behaves exactly like <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"tap:\" data-owner-class=\"Object\" class=\"singleton-method-ref selectable\">tap:</code></p>\n\n<p>Example:</p>\n\n<pre><code> some_complex_object do: @{\n method_1: arg1\n method_2: arg2\n method_3: arg3\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called in the context of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[607, 641], file:"lib/object.fy", arg:["block"]}, ":nil?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[110, 116], file:"lib/object.fy", arg:[]}, ":does":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"PositiveMatcher\" class=\"class-ref selectable\">PositiveMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[419, 425], file:"lib/fancy_spec.fy", arg:[]}, "with_output_to:do:":{doc:"<p>Opens <code data-lang=\"fancy\">filename</code> and rebinds <code>*stdout*</code> to it within <code data-lang=\"fancy\">block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> with_output_to: \"/tmp/hello_world.txt\" do: {\n \"hello\" println\n \"world\" println\n }\n</code></pre>\n\n<p>This writes</p>\n\n<pre><code> hello\n world\n</code></pre>\n\n<p>to /tmp/hello_world.txt</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed with *stdout* being bound to the output file.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of file to write to.</div></div></div>\n\n", lines:[710, 731], file:"lib/object.fy", arg:["filename", "block"]}, "unless:then:":{doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[275, 282], file:"lib/object.fy", arg:["cond", "block"]}, "get_slots:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names to retrieve from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot values of slot names passed in via <code data-lang=\"fancy\">slots</code>.</div></div></div>\n\n", lines:[567, 576], file:"lib/object.fy", arg:["slots"]}, "tap:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">self</code> before returning <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[643, 653], file:"lib/object.fy", arg:["block"]}, "rebind_method:with:within:":{doc:"<p>If <code data-lang=\"fancy\">within_block</code> takes an argument, it is called with <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyRebindableClass {\n def foo {\n 42\n }\n }\n\n r = MyRebindableClass new\n r rebind_method: 'foo with: { 0 } within: @{ foo } # =&gt; 0\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of (singleton) method to rebind for <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">within_block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in which <code data-lang=\"fancy\">method_name</code> is rebound to <code data-lang=\"fancy\">rebind_callable</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">within_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">rebind_callable</code> </label><div>Name of method or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to rebind <code data-lang=\"fancy\">method_name</code> to.</div></div></div>\n\n", lines:[785, 806], file:"lib/object.fy", arg:["method_name", "rebind_callable", "within_block"]}, ":identity":{doc:"<p>The identity method simply returns self.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[325, 333], file:"lib/object.fy", arg:[]}, "if:then:else:":{doc:"<p>Same as:\ncond if_true: then_block else: else_block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[228, 235], file:"lib/object.fy", arg:["cond", "then_block", "else_block"]}, ":yield":{doc:"<p>Same as Fiber##yield.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[397, 403], file:"lib/object.fy", arg:[]}, ":><":{doc:"<p>Shorthand for: <code>MatchAny new: self with: other</code></p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to create a <code data-lang=\"fancy\" data-class-ref=\"MatchAny\" class=\"class-ref selectable\">MatchAny</code> matcher with.</div></div></div>\n\n", lines:[749, 757], file:"lib/object.fy", arg:["other"]}, "if_true:else:":{doc:"<p>Calls the <code data-lang=\"fancy\">then_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div></div>\n\n", lines:[73, 84], file:"lib/object.fy", arg:["then_block", "else_block"]}, "extend:":{doc:"<p>Extends <code data-lang=\"fancy\">self</code> with the methods in <code data-lang=\"fancy\">class</code> (by including its methods in <code data-lang=\"fancy\">self's</code> metaclass).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to extend <code data-lang=\"fancy\">self</code> with.</div></div></div>\n\n", lines:[130, 138], file:"lib/rbx/object.fy", arg:["class"]}, "require:":{doc:"<p>Loads and evaluates a given Fancy source file by trying to find the specified\nRelative paths are allowed (and by default expected).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">file_path</code> </label><div>in Fancy's loadpath (see <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy CodeLoader\" class=\"class-ref selectable\">CodeLoader</code>).</div></div></div>\n\n", lines:[8, 15], file:"lib/rbx/object.fy", arg:["file_path"]}, ":dup":{doc:"<p>Returns a deep clone of self using Ruby's Marshal class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Copy (clone) of self.</div></div></div>\n\n", lines:[17, 25], file:"lib/rbx/object.fy", arg:[]}, "get_slot:":{doc:"<p>Returns the value of a slot of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Value of slot with name <code data-lang=\"fancy\">slotname</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to get the value of.</div></div></div>\n\n", lines:[46, 55], file:"lib/rbx/object.fy", arg:["slotname"]}, "let:be:in:ensuring:":{doc:"<p>Dynamically rebinds <code data-lang=\"fancy\">var_name</code> as dynamic variable with <code data-lang=\"fancy\">value</code> as the value within <code data-lang=\"fancy\">block</code>.\nExceptions raised within <code data-lang=\"fancy\">ensure_block</code> are ignored.\nThose raised in <code data-lang=\"fancy\">block</code> will be reraised up the callstack.</p>\n\n<p>Example:</p>\n\n<pre><code> File write: \"/tmp/output.txt\" with: |f| {\n let: '*stdout* be: f in: {\n \"hello, world!\" println # writes it to file not STDOUT\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">var_name&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code> that represents the name of the dynamic variable to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Returns <code data-lang=\"fancy\">value</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">ensure_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be always called, even when <code data-lang=\"fancy\">block</code> raised an exception.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in which <code data-lang=\"fancy\">var_name</code> will be dynamically bound to <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for the variable.</div></div></div>\n\n", lines:[673, 708], file:"lib/object.fy", arg:["var_name", "value", "block", "ensure_block"]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> represenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[27, 33], file:"lib/rbx/object.fy", arg:[]}, ":?":{doc:"<p>Calls #value on <code data-lang=\"fancy\">future</code>. Shortcut method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">future</code> </label><div>Future object to get the value from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Result of calling #value on <code data-lang=\"fancy\">future</code>.</div></div></div>\n\n", lines:[386, 395], file:"lib/object.fy", arg:["future"]}, ":print":{doc:"<p>Same as:\n<em>stdout</em> print: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[40, 49], file:"lib/object.fy", arg:[]}, "send_future:with_params:":{doc:"<p>Creates a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object (a Future / Promise) that will hold the value of sending <code data-lang=\"fancy\">message</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent as a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters of the <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object that will hold the return value of <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[507, 517], file:"lib/object.fy", arg:["message", "params"]}, "undefine_singleton_method:":{doc:"<p>Undefines a singleton method of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be undefined no <code data-lang=\"fancy\">self's</code> metaclass.</div></div></div>\n\n", lines:[68, 76], file:"lib/rbx/object.fy", arg:["name"]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[134, 140], file:"lib/object.fy", arg:[]}, ":<=>":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other object to compare against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>-1 if <code data-lang=\"fancy\">self</code> is smaller, 0 if <code data-lang=\"fancy\">self</code> is equal or 1 if <code data-lang=\"fancy\">self</code> is greater or equal compared to <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[596, 605], file:"lib/object.fy", arg:["other"]}, ":fancy_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class methods defined in Fancy.</div></div></div>\n\n", lines:[733, 739], file:"lib/object.fy", arg:[]}, ":should":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"PositiveMatcher\" class=\"class-ref selectable\">PositiveMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[419, 425], file:"lib/fancy_spec.fy", arg:[]}, "is_a?:":{doc:"<p>Indicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is an instance of <code data-lang=\"fancy\">class</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">class&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to check for if <code data-lang=\"fancy\">self</code> is an instance of.</div></div></div>\n\n", lines:[78, 87], file:"lib/rbx/object.fy", arg:["class"]}, "backtick:":{doc:"<p>This is the default implementation for backtick: which gets called when using the backtick syntax.\nFor example:\n<code>cat README</code>\nGets translated to the following message send:\nself backtick: \"cat README\"\nWhich allows for custom implementations of the backtick: method, if needed.\nThis default implementation works the same way as in Ruby, Perl or Bash.\nIt returns the output of running the given string on the command line as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[371, 384], file:"lib/object.fy", arg:["str"]}, ":slots":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names that <code data-lang=\"fancy\">self</code> has.</div></div></div>\n\n", lines:[655, 661], file:"lib/object.fy", arg:[]}, "send_async:with_params:":{doc:"<p>Sends <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> to <code data-lang=\"fancy\">self</code> asynchronously and immediately returns <code data-lang=\"fancy\">nil</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters as part of sending <code data-lang=\"fancy\">message</code> asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">nil</div></div></div></code>\n\n", lines:[519, 530], file:"lib/object.fy", arg:["message", "params"]}, "if_nil:":{doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div></code>\n\n", lines:[86, 93], file:"lib/object.fy", arg:["block"]}, "sleep:":{doc:"<p>Sets the current Thread (in which self is running) for a given amount to sleep.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">seconds</code> </label><div>Amount of seconds to sleep.</div></div></div>\n\n", lines:[663, 671], file:"lib/object.fy", arg:["seconds"]}, "if:then:":{doc:"<p>Same as:\ncond if_true: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[219, 226], file:"lib/object.fy", arg:["cond", "block"]}, ":documentation":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[305, 313], file:"lib/object.fy", arg:[]}, "unless:then:else:":{doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[284, 291], file:"lib/object.fy", arg:["cond", "block", "else_block"]}, "unless:do:":{doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[275, 282], file:"lib/object.fy", arg:["cond", "block"]}, ":should_not":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[438, 444], file:"lib/fancy_spec.fy", arg:[]}, ":ruby_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class methods defined in Ruby.</div></div></div>\n\n", lines:[741, 747], file:"lib/object.fy", arg:[]}, ":is":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"PositiveMatcher\" class=\"class-ref selectable\">PositiveMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[419, 425], file:"lib/fancy_spec.fy", arg:[]}, "unless:do:else:":{doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[284, 291], file:"lib/object.fy", arg:["cond", "block", "else_block"]}, ":next":{doc:"<p>Skip to the next iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[413, 419], file:"lib/object.fy", arg:[]}, "if_false:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div></div>\n\n", lines:[95, 105], file:"lib/object.fy", arg:["then_block", "else_block"]}}, methods:{}, ancestors:["Object", "Kernel"]}, "File":{doc:"<p>Instances of File represent files in the filesystem of the operating\nsystem on which Fancy is running.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"print:":{doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", lines:[219, 227], file:"lib/rbx/file.fy", arg:["str"]}, ":expanded_path":{doc:"<p>Example:</p>\n\n<pre><code> f = File open: \"README.txt\"\n f expanded_path # =&gt; \"/path/to/README.txt\" (when run from /path/to/)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Expanded (absolute) path of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[141, 151], file:"lib/file.fy", arg:[]}, ":modes":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[189, 197], file:"lib/rbx/file.fy", arg:[]}, "println:":{doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[128, 136], file:"lib/file.fy", arg:["x"]}, ":directory?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[243, 251], file:"lib/rbx/file.fy", arg:[]}, ":newline":{doc:"<p>Writes a newline character to the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[237, 241], file:"lib/rbx/file.fy", arg:[]}, "writeln:":{doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[128, 136], file:"lib/file.fy", arg:["x"]}, "write:":{doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", lines:[219, 227], file:"lib/rbx/file.fy", arg:["str"]}, ":close":{doc:"<p>Closes an opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[177, 187], file:"lib/rbx/file.fy", arg:[]}, "read:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">bytes</code> </label><div>Integer the amount of bytes to read from a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", lines:[229, 235], file:"lib/rbx/file.fy", arg:["bytes"]}, ":open?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is opened.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> opened, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[209, 217], file:"lib/rbx/file.fy", arg:[]}, "modes:":{doc:"<p>Sets the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[199, 207], file:"lib/rbx/file.fy", arg:["modes_arr"]}}, methods:{"open:modes:":{doc:"<p>Similar to open:modes:with: but takes no <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> argument to be\ncalled with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance.\nReturns the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instead and expects the caller to <code data-lang=\"fancy\">close</code> it manually.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance that represents the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename&nbsp;</code> </label><div>Filename to open/create.</div></div></div>\n\n", lines:[78, 98], file:"lib/rbx/file.fy", arg:["filename", "modes_arr"]}, "open:modes:with:":{doc:"<p>Opens a File with a given <code data-lang=\"fancy\">filename</code>, a <code data-lang=\"fancy\">modes_arr</code> (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) and a <code data-lang=\"fancy\">block</code>.</p>\n\n<p>E.g. to open a File with read access and read all lines and print them to STDOUT:</p>\n\n<p> File open: \"foo.txt\" modes: ['read] with: |f| {</p>\n\n<pre><code> { f eof? } while_false: {\n f readln println\n }\n</code></pre>\n\n<p> }</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object that has been opened.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename&nbsp;</code> </label><div>Filename to open/create.</div></div></div>\n\n", lines:[15, 39], file:"lib/rbx/file.fy", arg:["filename", "modes_arr", "block"]}, "delete:":{doc:"<p>Deletes a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with a given <code data-lang=\"fancy\">filename</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be deleted.</div></div></div>\n\n", lines:[115, 127], file:"lib/rbx/file.fy", arg:["filename"]}, "rename:to:":{doc:"<p>Renames a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on the filesystem.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_name</code> </label><div>Path to new filename.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_name</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to rename.</div></div></div>\n\n", lines:[153, 162], file:"lib/rbx/file.fy", arg:["old_name", "new_name"]}, "eval:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Value of evaluating code in <code data-lang=\"fancy\">filename</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of Fancy source file (*.fy) to be read and evaluated.</div></div></div>\n\n", lines:[80, 87], file:"lib/file.fy", arg:["filename"]}, "write:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for writing and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to write to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to write to.</div></div></div>\n\n", lines:[7, 16], file:"lib/file.fy", arg:["filename", "block"]}, "read:":{doc:"<p>Reads all the contens (in ASCII mode) of a given file and returns\nthem as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div></div>\n\n", lines:[52, 62], file:"lib/rbx/file.fy", arg:["filename"]}, "open:":{doc:"<p>Forward to message open:modes:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[77, 98], file:"lib/rbx/file.fy", arg:["filename"]}, "read:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div></div>\n\n", lines:[29, 38], file:"lib/file.fy", arg:["filename", "block"]}, "exists?:":{doc:"<p>Indicates if the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with the given <code data-lang=\"fancy\">filename</code> exists.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to file to check for existance.</div></div></div>\n\n", lines:[41, 50], file:"lib/rbx/file.fy", arg:["filename"]}, "touch:":{doc:"<p>Creates a new empty file with the given <code data-lang=\"fancy\">filename</code>, if it doesn't already exist.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be created, if not already existant.</div></div></div>\n\n", lines:[67, 78], file:"lib/file.fy", arg:["filename"]}, "delete!:":{doc:"<p>Deletes a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with a given <code data-lang=\"fancy\">filename</code>. If an <code data-lang=\"fancy\" data-class-ref=\"IOError\" class=\"class-ref selectable\">IOError</code> occurs,\nit gets ignored.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be deleted.</div></div></div>\n\n", lines:[129, 140], file:"lib/rbx/file.fy", arg:["filename"]}, "modes_str:":{doc:"<p>Returns the appropriate <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of the <code data-lang=\"fancy\">modes_arr</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modifiers, as used by Ruby.</div></div></div>\n\n", lines:[100, 113], file:"lib/rbx/file.fy", arg:["modes_arr"]}, "read_binary:":{doc:"<p>Opens and reads the contents of a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> in binary mode and\nreturns its binary contents as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the binary data in <code data-lang=\"fancy\">filename</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div></div>\n\n", lines:[51, 65], file:"lib/file.fy", arg:["filename"]}, "append:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for appending and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to append to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to append to.</div></div></div>\n\n", lines:[18, 27], file:"lib/file.fy", arg:["filename", "block"]}, "read_binary:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div></div>\n\n", lines:[40, 49], file:"lib/file.fy", arg:["filename", "block"]}, "read_config:":{doc:"<p>Reads a .fy source file as a config file.</p>\n\n<p>Example:</p>\n\n<pre><code> # Given a file config.fy with these contents:\n {\n host: \"127.0.0.1\"\n port: 1234\n names: [\n 'foo,\n 'bar,\n 'baz\n ]\n something_else: {\n another_value: 'foo\n }\n }\n\n # It can be read like so:\n config = File read_config: \"config.fy\"\n\n # config is now:\n &lt;[\n 'host =&gt; \"127.0.0.1\",\n 'port =&gt; 1234,\n 'names =&gt; ['foo, 'bar, 'baz],\n 'something_else: &lt;[\n 'another_value =&gt; 'foo\n ]&gt;\n ]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key-value pairs of the config file.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the name of file to be read as a config file.</div></div></div>\n\n", lines:[89, 126], file:"lib/file.fy", arg:["filename"]}, "absolute_path:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Absolute (expanded) path for <code data-lang=\"fancy\">filename</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to get absolute path for.</div></div></div>\n\n", lines:[164, 171], file:"lib/rbx/file.fy", arg:["filename"]}, "directory?:":{doc:"<p>Indicates, if a given <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">path&nbsp;&nbsp;</code> </label><div>Path to check if it's a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</div></div></div>\n\n", lines:[142, 151], file:"lib/rbx/file.fy", arg:["path"]}, "read:length:":{doc:"<p>Forward to message read:length:offset:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[63, 76], file:"lib/rbx/file.fy", arg:["filename", "length"]}, "read:length:offset:":{doc:"<p>Reads all the contens (in ASCII mode) of a given file, length and offset\nand returns them as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the offset in bytes to start reading from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">length&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the maximum length to read from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div></div>\n\n", lines:[64, 76], file:"lib/rbx/file.fy", arg:["filename", "length", "offset"]}}, ancestors:["File", "Enumerable", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"]}, "StandardError":{doc:"<p>StandardError. Base class of most Exception classes.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":initialize":{doc:"<p>Creates a new Exception with an empty message.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[17, 21], file:"lib/rbx/exception.fy", arg:[]}, ":raise!":{doc:"<p>Raises (throws) an Exception to be caught somewhere up the\ncallstack.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[33, 40], file:"lib/rbx/exception.fy", arg:[]}, "initialize:":{doc:"<p>Creates a new Exception with a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Message (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) for the Exception.</div></div></div>\n\n", lines:[23, 31], file:"lib/rbx/exception.fy", arg:["msg"]}}, methods:{"raise:":{doc:"<p>Raises new <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> with <code data-lang=\"fancy\">message</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> StandardError raise: \"Error!\"\n ArgumentError raise: \"Missing argument!\"\n # is the same as:\n StandardError new: \"Error!\\\342\200\235 . raise!\n ArgumentError new: \"Missing argument!\" . raise!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[2, 15], file:"lib/exception.fy", arg:["message"]}}, ancestors:["StandardError", "Exception", "Object", "Kernel"]}, "TCPSocket":{doc:"<p>TCP Socket class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"send:":{doc:"<p>Forward to message send:flags:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[20, 23], file:"lib/rbx/tcp_socket.fy", arg:["msg"]}}, methods:{"open:port:":{doc:"<p>Creates and opens a new <code data-lang=\"fancy\" data-class-ref=\"TCPSocket\" class=\"class-ref selectable\">TCPSocket</code> on <code data-lang=\"fancy\">server</code> and <code data-lang=\"fancy\">port</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">server</code> </label><div>Server hostname to open Socket on.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">port&nbsp;&nbsp;</code> </label><div>Server port to open Socket on.</div></div></div>\n\n", lines:[10, 19], file:"lib/rbx/tcp_socket.fy", arg:["server", "port"]}}, ancestors:["TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"]}, "Number":{doc:"<p>Number is a mixin-class for all number values (integer &amp; floats for\nnow).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":even?":{doc:"<p>Indicates, if a Number is even.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is even, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[170, 178], file:"lib/number.fy", arg:[]}, ":odd?":{doc:"<p>Indicates, if a Number is odd.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is odd, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[180, 188], file:"lib/number.fy", arg:[]}, "upto:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", lines:[25, 40], file:"lib/number.fy", arg:["num", "block"]}, "max:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[190, 200], file:"lib/number.fy", arg:["other"]}, ":squared":{doc:"<p>Returns the square of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Squared value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[116, 124], file:"lib/number.fy", arg:[]}, "downto:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", lines:[79, 95], file:"lib/number.fy", arg:["num", "block"]}, ":random":{doc:"<p>Returns a random number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random number between 0 and <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[214, 222], file:"lib/number.fy", arg:[]}, ":abs":{doc:"<p>Returns the absolute (positive) value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute (positive) value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[146, 158], file:"lib/number.fy", arg:[]}, "upto:in_steps_of:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">steps&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", lines:[42, 59], file:"lib/number.fy", arg:["num", "steps", "block"]}, ":doubled":{doc:"<p>Returns the double value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Doubled value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[126, 134], file:"lib/number.fy", arg:[]}, "upto:":{doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going up to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> up to.</div></div></div>\n\n", lines:[7, 23], file:"lib/number.fy", arg:["num"]}, "downto:in_steps_of:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">steps&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", lines:[97, 114], file:"lib/number.fy", arg:["num", "steps", "block"]}, "min:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[202, 212], file:"lib/number.fy", arg:["other"]}, "downto:":{doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going down to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> down to <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> down to.</div></div></div>\n\n", lines:[61, 77], file:"lib/number.fy", arg:["num"]}, ":negate":{doc:"<p>Negates a Number (-1 becomes 1 and vice versa).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Negated value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[160, 168], file:"lib/number.fy", arg:[]}, ":cubed":{doc:"<p>Returns the cubed value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Cubed value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[136, 144], file:"lib/number.fy", arg:[]}}, methods:{}, ancestors:["Number", "Object", "Kernel"]}, "OptionParser":{doc:"<p>Parses command-line options from a given <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> (usually <code data-lang=\"fancy\">ARGV</code>) and\nexecutes registered handlers for options specified.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"with:doc:do:":{doc:"<p>Example:</p>\n\n<pre><code> o = OptionParser new\n o with: \"--file [filename]\" doc: \"Use this file for processing\" do: |filename| {\n # do something with filename\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">doc_string&nbsp;&nbsp;&nbsp;</code> </label><div>Documentation <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> for <code data-lang=\"fancy\">option_string</code> that is used in the standard <code data-lang=\"fancy\">--help</code> option.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">option_string</code> </label><div>Option flag and (optional) argument within \"[]\", e.g. \"--file [filename]\".</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed if <code data-lang=\"fancy\">option_string</code> is matched during parsing. If the option takes an argument it will be passed to <code data-lang=\"fancy\">block</code> as an argument.</div></div></div>\n\n", lines:[53, 77], file:"lib/option_parser.fy", arg:["option_string", "doc_string", "block"]}, ":initialize":{doc:"<p>Forward to message initialize:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[23, 51], file:"lib/option_parser.fy", arg:[]}, ":print_help_info":{doc:"<p>Displays the <code data-lang=\"fancy\">--help</code> information on <code data-lang=\"fancy\"><em>stdout</em></code> based on all options that were registered via <code data-lang=\"fancy\" data-class-ref=\"OptionParser\" class=\"class-ref selectable\">OptionParser</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"with:doc:do:\" data-owner-class=\"OptionParser\" class=\"singleton-method-ref selectable\">with:doc:do:</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[103, 117], file:"lib/option_parser.fy", arg:[]}, "parse:":{doc:"<p>Parses options from <code data-lang=\"fancy\">args</code> and executes registered option handlers.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments to parse options from. Typically you'd pass <code data-lang=\"fancy\">ARGV</code> here.</div></div></div>\n\n", lines:[79, 101], file:"lib/option_parser.fy", arg:["args"]}, "initialize:":{doc:"<p>Creates a new OptionParser.</p>\n\n<p>Example:</p>\n\n<pre><code> o = OptionParser new: @{\n with: \"--my-option\" doc: \"Sets some option value\" do: {\n # do stuff in here...\n }\n }\n o parse: ARGV # parse options from ARGV\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>(Optional) <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code> for easy setup.</div></div></div>\n\n", lines:[38, 51], file:"lib/option_parser.fy", arg:["@block"]}}, methods:{}, ancestors:["OptionParser", "Object", "Kernel"]}, "FancySpec PositiveMatcher":{doc:"<p>PositiveMatcher expects its actual value to be equal to an\nexpected value.\nIf the values are not equal, a SpecTest failure is generated.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards any other message and parameters to the object itself\nand checks the return value.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[347, 356], file:"lib/fancy_spec.fy", arg:["msg", "params"]}}, methods:{}, ancestors:["FancySpec PositiveMatcher", "Object", "Kernel"]}, "FancySpec":{doc:"<p>The FancySpec class is used for defining FancySpec testsuites.\nHave a look at the tests/ directory to see some examples.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"it:with:when:":{doc:"<p>Example:</p>\n\n<pre><code> it: \"should be an empty Array\" with: 'empty? when: {\n arr = [1,2,3]\n 3 times: { arr pop }\n arr empty? is: true\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that holds the testcase's code (including assertions).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of Method that this testcase is related to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_info_string</code> </label><div>Info <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> related to the test case defined in <code data-lang=\"fancy\">spec_block</code>.</div></div></div>\n\n", lines:[66, 93], file:"lib/fancy_spec.fy", arg:["spec_info_string", "method_name", "spec_block"]}, "after_each:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run after each test case.</div></div></div>\n\n", lines:[105, 111], file:"lib/fancy_spec.fy", arg:["block"]}, "before_each:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run before each test case.</div></div></div>\n\n", lines:[97, 103], file:"lib/fancy_spec.fy", arg:["block"]}, ":run":{doc:"<p>Runs a FancySpec's test cases.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[113, 136], file:"lib/fancy_spec.fy", arg:[]}, "it:when:":{doc:"<p>Example:</p>\n\n<pre><code> it: \"should be an empty Array\" when: {\n arr = [1,2,3]\n 3 times: { arr pop }\n arr empty? is: true\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that holds the testcase's code (including assertions).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_info_string</code> </label><div>Info <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> related to the test case defined in <code data-lang=\"fancy\">spec_block</code>.</div></div></div>\n\n", lines:[49, 64], file:"lib/fancy_spec.fy", arg:["spec_info_string", "spec_block"]}, "initialize:":{doc:"<p>Forward to message initialize:test_obj:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[15, 16], file:"lib/fancy_spec.fy", arg:["@description"]}, "initialize:test_obj:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">test_obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to be tested, defaults to <code data-lang=\"fancy\">description</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">description</code> </label><div>Description <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> for testcase.</div></div></div>\n\n", lines:[12, 16], file:"lib/fancy_spec.fy", arg:["@description", "@test_obj"]}, "it:for:when:":{doc:"<p>Example:</p>\n\n<pre><code> it: \"should be an empty Array\" with: 'empty? when: {\n arr = [1,2,3]\n 3 times: { arr pop }\n arr empty? is: true\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that holds the testcase's code (including assertions).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of Method that this testcase is related to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_info_string</code> </label><div>Info <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> related to the test case defined in <code data-lang=\"fancy\">spec_block</code>.</div></div></div>\n\n", lines:[66, 93], file:"lib/fancy_spec.fy", arg:["spec_info_string", "method_name", "spec_block"]}}, methods:{"describe:for:with:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"FancySpec\" class=\"class-ref selectable\">FancySpec</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"describe:with:\" data-owner-class=\"FancySpec\" class=\"singleton-method-ref selectable\">describe:with:</code> but also taking an explicit <code data-lang=\"fancy\">test_obj</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> FancySpec describe: \"My cool class\" for: MyCoolClass with: {\n # test cases using it:for:when: here.\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[34, 47], file:"lib/fancy_spec.fy", arg:["description", "test_obj", "block"]}, "describe:with:":{doc:"<p>Factory method for creating FancySpec instances.\nCalls <code data-lang=\"fancy\">block</code> with the new FancySpec instance as the receiver, then runs it.</p>\n\n<p>Example:</p>\n\n<pre><code> FancySpec describe: MyTestClass with: {\n # test cases using it:for:when: here.\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[18, 32], file:"lib/fancy_spec.fy", arg:["test_obj", "block"]}}, ancestors:["FancySpec", "Object", "Kernel"]}, "Fancy NextIteration":{doc:"<p>Raised to continue with next iteration (and stopping the current one).\nIt is rescued by Block#loop.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Fancy NextIteration", "StandardError", "Exception", "Object", "Kernel"]}, "FutureSend":{doc:"<p>A <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> gets created whenever an asynchronous message via the @ operator gets sent, yielding a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.\nThey represent Futures/Promises in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> f = some_object @ some_method: some_argument\n f class # =&gt; FutureSend\n f value # =&gt; Value returned by some_method, but may block the current Thread if f hasn't completed yet.\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":completed?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed (success or failure), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[60, 70], file:"lib/future.fy", arg:[]}, "when_done:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", lines:[155, 170], file:"lib/future.fy", arg:["block"]}, ":failed?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend failed, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[86, 96], file:"lib/future.fy", arg:[]}, "initialize:receiver:message:":{doc:"<p>Forward to message initialize:receiver:message:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[20, 21], file:"lib/future.fy", arg:["@actor", "@receiver", "@message"]}, ":failure":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused <code data-lang=\"fancy\">self</code> to fail, or <code data-lang=\"fancy\">nil</code>, if it didn't fail.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused the FutureSend to fail, or <code data-lang=\"fancy\">nil</code>, if no failure.</div></div></div>\n\n", lines:[98, 114], file:"lib/future.fy", arg:[]}, "with_value:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", lines:[155, 170], file:"lib/future.fy", arg:["block"]}, "when_failed:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> fail reason in case of failure.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> fails.</div></div></div>\n\n", lines:[138, 153], file:"lib/future.fy", arg:["block"]}, ":succeeded?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed without failure, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[72, 84], file:"lib/future.fy", arg:[]}, ":value":{doc:"<p>Returns the value returned by performing <code data-lang=\"fancy\">self</code>.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of performing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[116, 132], file:"lib/future.fy", arg:[]}}, methods:{}, ancestors:["FutureSend", "Object", "Kernel"]}, "Bignum":{doc:"<p>Class for large integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Bignum", "Number", "Object", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"]}, "FancySpec NegativeMatcher":{doc:"<p>NegativeMatcher expects its actual value to be unequal to an\nexpected value.\nIf the values are equal, a SpecTest failure is generated.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards any other message and parameters to the object itself\nand checks the return value.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[399, 408], file:"lib/fancy_spec.fy", arg:["msg", "params"]}}, methods:{}, ancestors:["FancySpec NegativeMatcher", "Object", "Kernel"]}, "DynamicKeyHash":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>es with keys and values defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dkh = DynamicKeyHash new\n dkh name: \"Chris\"\n dkh age: 25\n dkh country: \"Germany\"\n\n dkh hash # =&gt; &lt;['name =&gt; \"Chris\", 'age =&gt; 25, 'country =&gt; \"Germany\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":initialize":{doc:"<p>Forward to message initialize:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[46, 53], file:"lib/dynamic_slot_object.fy", arg:[]}, ":hash":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> generated dynamically by sending messages to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[55, 61], file:"lib/dynamic_slot_object.fy", arg:[]}, "initialize:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">deep</code> </label><div>If <code data-lang=\"fancy\">true</code>, recursively sends <code data-lang=\"fancy\">to_hash</code> to any value passed as an argument to <code data-lang=\"fancy\">self</code> that is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (dynamically creating nested <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>es).</div></div></div>\n\n", lines:[50, 53], file:"lib/dynamic_slot_object.fy", arg:["@deep"]}}, methods:{}, ancestors:["DynamicKeyHash", "Fancy BasicObject", "Object", "Kernel"]}, "Fancy StopIteration":{doc:"<p>Raised to stop the iteration, in particular by Enumerator#next.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> {\n 'Hello println\n Fancy StopIteration new raise!\n 'World println\n } loop\n 'Done! println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> Hello\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":result":{doc:"<p>Returns the return value of the iterator.</p>\n\n<p>o = Object new\ndef o each: block {\n block call: [1]\n block call: [2]\n block call: [3]\n 100\n}</p>\n\n<p>e = o to_enum\ne next p #=> 1\ne next p #=> 2\ne next p #=> 3\ntry {\n e next\n} catch Fancy StopIteration => ex {\n ex result p #=> 100\n}</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[59, 83], file:"lib/iteration.fy", arg:[]}}, methods:{}, ancestors:["Fancy StopIteration", "StandardError", "Exception", "Object", "Kernel"]}, "Proxies ActorProxy":{doc:"<p>An ActorProxy is a Proxy that forwards any message sent to it to\nit's <code data-lang=\"fancy\">target</code> object as a future send by default. If explicitly sent\nan async message, it will forward the async send to <code data-lang=\"fancy\">target</code>,\nreturning <code data-lang=\"fancy\">nil</code> instead of a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>, as expected.</p>\n\n<p>Example:</p>\n\n<pre><code> ap = ActorProxy new: target_actor\n\n # this:\n f = ap some_future_send: an_arg\n # is the same as:\n f = target_actor @ some_future_send: an_arg\n\n # and this:\n ap @@ some_async_send: another_arg\n # is the same as:\n target_actor @@ some_async_send: another_arg\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Proxies ActorProxy", "Fancy BasicObject", "Object", "Kernel"]}, "Method":{doc:"<p>An instance of Method represents a method on a Class.\nEvery method in Fancy is an instance of the Method class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":call":{doc:"<p>Forward to message call:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[78, 81], file:"lib/rbx/method.fy", arg:[]}}, methods:{}, ancestors:["Method", "MethodMixin", "Object", "Unmarshalable", "Object", "Kernel"]}, "Exception":{doc:"<p>Base Exception class.\nAll Exception classes inherit from <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Exception", "Object", "Kernel"]}, "Proxies ProxyReceiver":{doc:"<p>A ProxyReceiver is an object which proxies all message sends to it to 2 other objects.\nIt will send each message first to its <code data-lang=\"fancy\">proxy</code> instance variable and then to the <code data-lang=\"fancy\">obj</code> instance variable.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards all incoming messages to <code data-lang=\"fancy\">self</code> to @<code data-lang=\"fancy\">proxy</code> and then @<code data-lang=\"fancy\">obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg&nbsp;&nbsp;&nbsp;</code> </label><div>Incoming message name.</div></div></div>\n\n", lines:[19, 29], file:"lib/proxies.fy", arg:["msg", "params"]}, "initialize:for:":{doc:"<p>Initializes a new ProxyReceiver with <code data-lang=\"fancy\">proxy</code> for <code data-lang=\"fancy\">obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">proxy</code> </label><div>Proxy receiver for <code data-lang=\"fancy\">obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;</code> </label><div>Original receiver object.</div></div></div>\n\n", lines:[11, 17], file:"lib/proxies.fy", arg:["@proxy", "@obj"]}}, methods:{}, ancestors:["Proxies ProxyReceiver", "Fancy BasicObject", "Object", "Kernel"]}, "Dir":{doc:"<p>Instances of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> represent directories in the filesystem of\nthe operating system, in which Fancy is being run.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"create!:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, ignoring any\nExceptions that might occur.\nBasically works like running <code>mkdir -p</code> on the shell.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", lines:[22, 35], file:"lib/rbx/directory.fy", arg:["dirname"]}, "delete:":{doc:"<p>Deletes a directory with a given name, if it's empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to delete.</div></div></div>\n\n", lines:[38, 50], file:"lib/rbx/directory.fy", arg:["dirname"]}, "list:":{doc:"<p>Example:</p>\n\n<pre><code> Directory list: \"tests/**/*.fy\" # =&gt; [\"tests/file1.fy\", \"tests/more/file2.fy\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Directory pattern or name containing files to be returned as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of files matching directory <code data-lang=\"fancy\">pattern</code>.</div></div></div>\n\n", lines:[52, 68], file:"lib/rbx/directory.fy", arg:["pattern"]}, "create:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, possibly throwing\nIOError Exceptions that might occur.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", lines:[7, 20], file:"lib/rbx/directory.fy", arg:["dirname"]}, "exists?:":{doc:"<p>Indicates, if a Directory exists with a given pathname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to check for existance.</div></div><div class=\"doctag\"><label> @<code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[7, 16], file:"lib/directory.fy", arg:["dirname"]}}, ancestors:["Dir", "Enumerable", "Object", "Kernel"]}, "Date":{doc:"<p>Date class. Used for timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":!=":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Date\" class=\"class-ref selectable\">Date</code> to compare to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if equal, <code data-lang=\"fancy\">false</code> otherwhise.</div></div></div>\n\n", lines:[14, 21], file:"lib/rbx/date.fy", arg:["other"]}}, methods:{}, ancestors:["Date", "Comparable", "Object", "Kernel"]}, "Float":{doc:"<p>Standard class for floating point number values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Float", "Number", "Object", "Precision", "Numeric", "Comparable", "Object", "Kernel"]}, "Regexp":{doc:"<p>Regular Expression class. Used by Regexp literals in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Regexp", "Object", "Kernel"]}, "Block":{doc:"<p>The Block class (also BlockEnvironment) is the class of all\nBlock-literal values.\nA Block is a piece of unevaluated code, that can be passed around as\nany other value and evaluated by calling the +call+ or +call:+ methods.</p>\n\n<p>Blocks also work properly with their enclosing environment in that\nthey preserve any local variables that get used within the Block,\neven if the context in which they got defined has been destroyed.\n=> Blocks are proper closures.</p>\n\n<p>See: http://en.wikipedia.org/wiki/Closure_(computer_science) for\nmore information.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_proc":{doc:"<p>Turns a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> into a Ruby Proc object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Ruby Proc representing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[89, 97], file:"lib/rbx/block.fy", arg:[]}, ":to_object":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically in <code data-lang=\"fancy\">self</code>.\nLooks and feels similar to Javascript object literals.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_object\n\n o something # =&gt; \"foo bar baz\"\n o with # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[139, 156], file:"lib/block.fy", arg:[]}, ":[]":{doc:"<p>Same as Block#call:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[131, 137], file:"lib/block.fy", arg:["args"]}, "if:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is true-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", lines:[92, 100], file:"lib/block.fy", arg:["obj"]}, ":receiver":{doc:"<p>Returns the receiver of the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (value for <code data-lang=\"fancy\">self</code>)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Receiver object of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[32, 39], file:"lib/rbx/block.fy", arg:[]}, "until:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> while <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", lines:[62, 70], file:"lib/block.fy", arg:["block"]}, "while_true:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[34, 48], file:"lib/block.fy", arg:["block"]}, "receiver:":{doc:"<p>Sets the receiver (value for <code data-lang=\"fancy\">self</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">recv</code> </label><div>New receiver object for a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[41, 48], file:"lib/rbx/block.fy", arg:["recv"]}, ":to_a":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but returning an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> instead of a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code></p>\n\n<p>Example:</p>\n\n<pre><code> a = {\n something: \"foo bar baz\"\n with: 42\n something; else\n } to_a # =&gt; [['something, \"foo bar baz\"], ['with, 42], 'something, 'else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[191, 205], file:"lib/block.fy", arg:[]}, "while_do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[34, 48], file:"lib/block.fy", arg:["block"]}, ":*":{doc:"<p>Runs <code data-lang=\"fancy\">self</code> <code data-lang=\"fancy\">iteration</code> times.\nSame as: <code>iterations times: self</code></p>\n\n<p>Example:</p>\n\n<pre><code> { \"Hello, World\" println } * 2\n # =&gt; prints \"Hello, World\" 2 times\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterations</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> of amount of iterations to run <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[207, 220], file:"lib/block.fy", arg:["iterations"]}, "while_nil:":{doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[17, 30], file:"lib/block.fy", arg:["block"]}, "call:with_receiver:":{doc:"<p>Same as <code data-lang=\"fancy\">call_with_receiver:</code> but passing along arguments to the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = |arg| { self to_s + arg }\n b call: [\"foo\"] with_receiver: r1 # =&gt; \"123foo\"\n b call: [\"foo\"] with_receiver: r2 # =&gt; \"hello worldfoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">args&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments passed to <code data-lang=\"fancy\">self</code> for invocation.</div></div></div>\n\n", lines:[67, 87], file:"lib/rbx/block.fy", arg:["args", "receiver"]}, ":===":{doc:"<p>Matches a <code data-lang=\"fancy\">Block</code> against another object by calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val&nbsp;&nbsp;&nbsp;</code> </label><div>Other object to match <code data-lang=\"fancy\">self</code> against.</div></div></div>\n\n", lines:[112, 121], file:"lib/block.fy", arg:["val"]}, "unless:":{doc:"<p>Opposite of Block#if:. Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is false-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should not be called.</div></div></div>\n\n", lines:[102, 110], file:"lib/block.fy", arg:["obj"]}, "call_with_receiver:":{doc:"<p>Calls a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">receiver</code> as the receiver (referenced by <code data-lang=\"fancy\">self</code> within the Block).</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = { self class }\n b call_with_receiver: r1 # =&gt; Array\n b call_with_receiver: r2 # =&gt; String\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[50, 65], file:"lib/rbx/block.fy", arg:["receiver"]}, ":&&":{doc:"<p>Short-circuiting &amp;&amp; (boolean AND).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[72, 80], file:"lib/block.fy", arg:["other_block"]}, ":to_hash_deep":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but converting any value that's a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> as well.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n and: {\n another: 'field\n }\n } to_hash_deep # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42, 'and =&gt; &lt;['another =&gt; 'field]&gt;]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[173, 189], file:"lib/block.fy", arg:[]}, "while_false:":{doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[17, 30], file:"lib/block.fy", arg:["block"]}, "until_do:":{doc:"<p>Calls a given Block as long as <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[52, 60], file:"lib/block.fy", arg:["block"]}, ":to_hash":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"object\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">object</code> but returning a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> instead of an <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code></p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_hash # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[158, 171], file:"lib/block.fy", arg:[]}, ":||":{doc:"<p>Short-circuiting || (boolean OR).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[82, 90], file:"lib/block.fy", arg:["other_block"]}}, methods:{":name":{doc:"<p>Block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[127, 129], file:"lib/block.fy", arg:[]}}, ancestors:["Rubinius BlockEnvironment", "Object", "Kernel"]}, "Symbol":{doc:"<p>Symbols are unique identifiers and only created once.</p>\n\n<p>If there are several occurrances of the same Symbol literal within\nFancy code, they all refer to the same Symbol object.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"call:":{doc:"<p>This allows Symbols to be used like Blocks (e.g. in all methods of Enumerable).</p>\n\n<p>Example:</p>\n\n<pre><code> [1, 2, 3] map: 'squared # =&gt; [1, 4, 9]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arg&nbsp;&nbsp;&nbsp;</code> </label><div>Argument to send <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of sending <code data-lang=\"fancy\">self</code> as message to <code data-lang=\"fancy\">arg</code>.</div></div></div>\n\n", lines:[9, 25], file:"lib/symbol.fy", arg:["arg"]}, ":call":{doc:"<p>Sends <code data-lang=\"fancy\">self</code> as message to the sender in its context.</p>\n\n<p>Example:</p>\n\n<pre><code> 'foo call\n # =&gt; same as\n self foo\n\n if: x then: 'foo else: 'bar\n # same as:\n if: x then: { self foo } else: { self bar }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[27, 46], file:"lib/symbol.fy", arg:[]}, ":defined?":{doc:"<p>Indicates if a Symbol is defined as a constant in the senders scope.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is defined as a constant in senders scope, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[13, 25], file:"lib/rbx/symbol.fy", arg:[]}}, methods:{}, ancestors:["Symbol", "ImmediateValue", "Object", "Kernel"]}, "Class":{doc:"<p>This class is the class of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> objects - e.g. <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>, <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>,\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> etc.\nAny class in the language is an instance of this class, as in Ruby\nor Smalltalk.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":forwards_unary_ruby_methods":{doc:"<p>Creates ruby_alias methods for any unary ruby methods of a class.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[210, 222], file:"lib/rbx/class.fy", arg:[]}, "define_slot_writer:":{doc:"<p>Defines a slot writer method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count: c {\n set_slot: 'count value: c\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to defnie define a setter method for.</div></div></div>\n\n", lines:[133, 147], file:"lib/class.fy", arg:["slotname"]}, "define_class_method:with:":{doc:"<p>Defines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> (a singleton method) with a\ngiven name and body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;</code> </label><div>Name of the class method to be defined.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the class methods body.</div></div></div>\n\n", lines:[82, 92], file:"lib/rbx/class.fy", arg:["name", "block"]}, "new:":{doc:"<p>Creates a new instance of <code data-lang=\"fancy\">self</code> calling <code data-lang=\"fancy\">initialize:</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arg&nbsp;&nbsp;&nbsp;</code> </label><div>Argument to <code data-lang=\"fancy\">initialize:</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new instance of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[17, 28], file:"lib/rbx/class.fy", arg:["arg"]}, "expose_to_ruby:":{doc:"<p>Forward to message expose_to_ruby:as:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[241, 267], file:"lib/rbx/class.fy", arg:["method_name"]}, "provides_interface:":{doc:"<p>Example:</p>\n\n<pre><code> class MyCollection {\n # you can skip this if you actually define each: before you include Fancy Enumerable.\n provides_interface: ['each]\n includes: Fancy Enumerable\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures this class explicitly declares to provide.</div></div></div>\n\n", lines:[38, 51], file:"lib/contracts.fy", arg:["methods"]}, "define_slot_reader:":{doc:"<p>Defines a slot reader method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count {\n get_slot: 'count\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to define a getter method for.</div></div></div>\n\n", lines:[117, 131], file:"lib/class.fy", arg:["slotname"]}, "instance_method:":{doc:"<p>Returns an instance method for a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;&nbsp;</code> </label><div>Name of the instance method to return.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The instance <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with the given <code data-lang=\"fancy\">name</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[125, 134], file:"lib/rbx/class.fy", arg:["name"]}, "read_slots:":{doc:"<p>Defines slot reader methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter methods for.</div></div></div>\n\n", lines:[149, 159], file:"lib/class.fy", arg:["slots"]}, "expose_to_ruby:as:":{doc:"<p>Explicitly exposes a Fancy method to Ruby. If <code data-lang=\"fancy\">ruby_method_name</code> is\npassed, use that name explicitly, otherwise uses <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class Foo {\n def === other {\n # ...\n }\n\n expose_to_ruby: '===\n\n # if you don't want to expose it as :=== in Ruby:\n expose_to_ruby: '=== as: 'some_other_name_for_ruby\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">ruby_method_name</code> </label><div>Name of method exposed to Ruby (optional).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Fancy method name to be exposed.</div></div></div>\n\n", lines:[242, 267], file:"lib/rbx/class.fy", arg:["method_name", "ruby_method_name"]}, "__public__:":{doc:"<p>Sets any given method names to public on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to public in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[156, 166], file:"lib/rbx/class.fy", arg:["method_names"]}, ":methods":{doc:"<p>Forward to message methods:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[200, 208], file:"lib/rbx/class.fy", arg:[]}, ":fancy_instance_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance methods defined in Fancy.</div></div></div>\n\n", lines:[343, 349], file:"lib/class.fy", arg:[]}, "__private__:":{doc:"<p>Sets any given method names to private on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to private in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[168, 178], file:"lib/rbx/class.fy", arg:["method_names"]}, "define_calling_chain:for_method:":{doc:"<p>Example:</p>\n\n<pre><code> class Foo {\n def foo { 'foo println }\n def bar { 'bar println }\n def baz { 'baz println }\n\n define_calling_chain: ['foo, 'bar, 'baz] for_method: 'foo\n }\n\n Foo new foo\n # prints:\n # foo\n # bar\n # baz\n\n # You can also pass in Blocks:\n Foo define_calling_chain: [@{ foo }, @{ bar }, @{ baz }] for_method: 'bar\n\n Foo new bar\n # prints:\n # foo\n # bar\n # baz\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">blocks_or_method_names</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of either method names or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s to be called in order.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of method to define calling chain for.</div></div></div>\n\n", lines:[442, 511], file:"lib/class.fy", arg:["blocks_or_method_names", "method_name"]}, "alias_method:for:":{doc:"<p>Defines an alias method for another method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_method_name</code> </label><div>Name of method to alias (must exist in the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_method_name</code> </label><div>New method name to be used as an alias for <code data-lang=\"fancy\">old_method_name</code>.</div></div></div>\n\n", lines:[269, 278], file:"lib/class.fy", arg:["new_method_name", "old_method_name"]}, "alias_method:for_ruby:":{doc:"<p>Creates a method alias for a Ruby method.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[149, 154], file:"lib/rbx/class.fy", arg:["new_method_name", "ruby_method_name"]}, "public:":{doc:"<p>Sets any given method names to public on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyClass {\n def foo {}\n def bar {}\n\n public: 'foo\n public: 'bar\n\n # same as:\n public: ('foo, 'bar)\n\n # same as:\n public: {\n def foo {}\n def bar {}\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">public_methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be public.</div></div></div>\n\n", lines:[83, 115], file:"lib/class.fy", arg:["public_methods"]}, "included:":{doc:"<p>Default include hook. Make sure to call this via <code>super included: class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to be included in <code data-lang=\"fancy\">self</code>. Checks possible interface requirements.</div></div></div>\n\n", lines:[73, 88], file:"lib/contracts.fy", arg:["class"]}, "write_slots:":{doc:"<p>Defines slot writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define setter methods for.</div></div></div>\n\n", lines:[171, 181], file:"lib/class.fy", arg:["slots"]}, "private:":{doc:"<p>Sets any given method names to private on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyClass {\n def foo {}\n def bar {}\n\n private: 'foo\n private: 'bar\n\n # same as:\n private: ('foo, 'bar)\n\n # same as:\n private: {\n def foo {}\n def bar {}\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">private_methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be private.</div></div></div>\n\n", lines:[15, 47], file:"lib/class.fy", arg:["private_methods"]}, "write_slot:":{doc:"<p>Defines a slot writer method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a setter method for.</div></div></div>\n\n", lines:[183, 191], file:"lib/class.fy", arg:["slotname"]}, "initialize:":{doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a superclass.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[50, 55], file:"lib/rbx/class.fy", arg:["superclass"]}, "before_method:run:":{doc:"<p>Runs / Calls <code data-lang=\"fancy\">block_or_method</code> everytime before running <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> Array before_method: 'inspect run: 'compact!\n [1, nil, 2, nil, 3] inspect # =&gt; \"[1, 2, 3]\"\n\n # Or pass a Block:\n Array before_method: 'inspect run: @{ compact! }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block_or_method_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or name of other <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to be called before <code data-lang=\"fancy\">method_name</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to run another <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> before, when called.</div></div></div>\n\n", lines:[369, 385], file:"lib/class.fy", arg:["method_name", "block_or_method_name"]}, "methods:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class method names for this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">include_superclasses?</code> </label><div>Boolean indicating if methods of all superclasses should be included (defaults to <code data-lang=\"fancy\">true</code>).</div></div></div>\n\n", lines:[201, 208], file:"lib/rbx/class.fy", arg:["include_superclasses?"]}, "read_slot:":{doc:"<p>Defines a slot reader method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a getter method for.</div></div></div>\n\n", lines:[161, 169], file:"lib/class.fy", arg:["slotname"]}, "protected:":{doc:"<p>Sets any given method names to protected on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyClass {\n def foo {}\n def bar {}\n\n protected: 'foo\n protected: 'bar\n\n # same as:\n protected: ('foo, 'bar)\n\n # same as:\n protected: {\n def foo {}\n def bar {}\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">protected_methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be protected.</div></div></div>\n\n", lines:[49, 81], file:"lib/class.fy", arg:["protected_methods"]}, "class_eval:":{doc:"<p>Evaluates a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> of Fancy code or a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in the class context of <code data-lang=\"fancy\">self</code>.\nUseful for dynamically defining methods on a class etc.</p>\n\n<p>Example:</p>\n\n<pre><code> Array class_eval: \"def foo { 'foo println }\"\n [1,2,3] foo # =&gt; prints 'foo\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str_or_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be evaluated in the context of this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[224, 240], file:"lib/rbx/class.fy", arg:["str_or_block"]}, "read_write_slots:":{doc:"<p>Defines slot reader &amp; writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter & setter methods for.</div></div></div>\n\n", lines:[193, 204], file:"lib/class.fy", arg:["slots"]}, "delegate:to_slot:":{doc:"<p>Example:</p>\n\n<pre><code> class MyClass {\n delegate: ('to_s, 'inspect) to_slot: 'my_slot\n def initialize: @my_slot\n }\n\n m = MyClass new: [1, 2, 3]\n m to_s # =&gt; \"123\"\n m inspect # =&gt; \"[1, 2, 3]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be delegated.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to delegate <code data-lang=\"fancy\">methods</code> to.</div></div></div>\n\n", lines:[280, 325], file:"lib/class.fy", arg:["methods", "slotname"]}, "__protected__:":{doc:"<p>Sets any given method names to protected on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to protected in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[180, 190], file:"lib/rbx/class.fy", arg:["method_names"]}, "define_method:with:":{doc:"<p>Defines an instance method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name and\nbody.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;</code> </label><div>Name of the method to be defined.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the method's body.</div></div></div>\n\n", lines:[57, 70], file:"lib/rbx/class.fy", arg:["name", "block"]}, "after_method:run:":{doc:"<p>Runs / Calls <code data-lang=\"fancy\">block_or_method_name</code> everytime after running <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> Array after_method: 'inspect run: 'compact!\n x = [1, nil, 2, nil, 3]\n x inspect # =&gt; \"[1, nil, 2, nil, 3]\"\n x inspect # =&gt; \"[1, 2, 3]\"\n\n # Or pass a Block:\n Array after_method: 'inspect run: @{ compact! }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block_or_method_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or name of other <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to be called after <code data-lang=\"fancy\">method_name</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to run another <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> after, when called.</div></div></div>\n\n", lines:[387, 405], file:"lib/class.fy", arg:["method_name", "block_or_method_name"]}, ":nested_classes":{doc:"<p>Returns all the nested classes within a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all nested classes for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[115, 123], file:"lib/rbx/class.fy", arg:[]}, "subclass:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\">self</code> as superclass and the given body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used as the body of the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[104, 113], file:"lib/rbx/class.fy", arg:["body_block"]}, "around_method:run:":{doc:"<p>Runs / Calls <code data-lang=\"fancy\">block_or_method_name</code> everytime before &amp; after running <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyController {\n def do_stuff {\n \"Doing stuff\" println\n }\n\n def log_data {\n \"Log data\" println\n }\n\n around_method: 'do_stuff run: 'log_data\n }\n\n controller = MyController new\n controller do_stuff\n\n # which will print:\n # Log data\n # Doing stuff\n # Log data\n\n # Or pass a Block:\n MyController around_method: 'do_stuff run: { \"Log data\" println }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block_or_method_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or name of other <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to be called before & after <code data-lang=\"fancy\">method_name</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to run another <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> before & after, when called.</div></div></div>\n\n", lines:[407, 440], file:"lib/class.fy", arg:["method_name", "block_or_method_name"]}, ":initialize":{doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> set as superclass (default superclass).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[43, 48], file:"lib/rbx/class.fy", arg:[]}, "expects_interface_on_inclusion:":{doc:"<p>Declares a required interface (collection of method signatures) an including class has to provide.</p>\n\n<p>Example:</p>\n\n<pre><code> class Enumerable {\n expects_interface_on_inclusion: ['each:]\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures to expect on inclusion into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[21, 34], file:"lib/contracts.fy", arg:["methods"]}, "instance_methods:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance method names for this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">include_superclasses?</code> </label><div>Boolean indicating if instance methods of all superclasses should be included (defaults to <code data-lang=\"fancy\">true</code>).</div></div></div>\n\n", lines:[192, 199], file:"lib/rbx/class.fy", arg:["include_superclasses?"]}, "undefine_class_method:":{doc:"<p>Undefines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the class method to undefine (remove).</div></div></div>\n\n", lines:[94, 102], file:"lib/rbx/class.fy", arg:["name"]}, ":inspect":{doc:"<p>Example:</p>\n\n<pre><code> Fixnum inspect # =&gt; \"Fixnum : Integer\"\n Object inspect # =&gt; \"Object\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of class and its superclass as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[327, 341], file:"lib/class.fy", arg:[]}, "subclass?:":{doc:"<p>Indicates, if a Class is a subclass of another Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">class_obj</code> </label><div>Class object to check for, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>.</div></div></div>\n\n", lines:[251, 267], file:"lib/class.fy", arg:["class_obj"]}, "remove_slot_accessors_for:":{doc:"<p>Removes both reader and writer methods for slots in <code data-lang=\"fancy\">slotnames</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotnames</code> </label><div>Name of slot or <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to remove accessor methods for.</div></div></div>\n\n", lines:[234, 249], file:"lib/class.fy", arg:["slotnames"]}, "read_write_slot:":{doc:"<p>Defines slot reader &amp; writer methods for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define getter & setter methods for.</div></div></div>\n\n", lines:[206, 215], file:"lib/class.fy", arg:["slotname"]}, "alias_method_rbx:for:":{doc:"<p>Rbx specific version of alias_method:for: due to bootstrap order\nreasons. Should not be used directly.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[140, 147], file:"lib/rbx/class.fy", arg:["new_method_name", "old_method_name"]}, "missing_methods_for_interface:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures to check.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Collection of methods in <code data-lang=\"fancy\">methods</code> this class doesn't provide.</div></div></div>\n\n", lines:[63, 71], file:"lib/contracts.fy", arg:["methods"]}, ":ruby_instance_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance methods defined in Ruby.</div></div></div>\n\n", lines:[351, 357], file:"lib/class.fy", arg:[]}, "undefine_method:":{doc:"<p>Undefines an instance method on a Class with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to undefine (remove) from a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[72, 80], file:"lib/rbx/class.fy", arg:["name"]}, ":new":{doc:"<p>Creates a new instance of <code data-lang=\"fancy\">self</code> calling <code data-lang=\"fancy\">initialize</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new instance of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[4, 14], file:"lib/rbx/class.fy", arg:[]}, "expects_interface:":{doc:"<p>Declares a required interface (collection of method signatures) an including class has to provide.</p>\n\n<p>Example:</p>\n\n<pre><code> class Enumerable {\n expects_interface_on_inclusion: ['each:]\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures to expect on inclusion into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[21, 34], file:"lib/contracts.fy", arg:["methods"]}, "rebind_instance_method:with:within:":{doc:"<p>Forward to message rebind_instance_method:with:within:receiver:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[535, 567], file:"lib/class.fy", arg:["method_name", "rebind_callable", "within_block"]}, "provides_interface?:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures (an interface) to check for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if all methods in <code data-lang=\"fancy\">methods</code> are provided by <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[53, 61], file:"lib/contracts.fy", arg:["methods"]}, "rebind_instance_method:with:within:receiver:":{doc:"<p>Rebinds <code data-lang=\"fancy\">method_name</code> to <code data-lang=\"fancy\">rebind_callable</code> within <code data-lang=\"fancy\">within_block</code>.\nIf <code data-lang=\"fancy\">within_block</code> takes an argument, it will be called with <code data-lang=\"fancy\">receiver</code> (defaults to <code data-lang=\"fancy\">self</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of instance method to rebind in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">within_block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">receiver</code> or <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">within_block</code> with <code data-lang=\"fancy\">receiver</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Argument to <code data-lang=\"fancy\">within_block</code>. Defaults to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">rebind_callable</code> </label><div>Name of method or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to rebind <code data-lang=\"fancy\">method_name</code> to.</div></div></div>\n\n", lines:[536, 567], file:"lib/class.fy", arg:["method_name", "rebind_callable", "within_block", "receiver"]}, "lazy_slot:value:":{doc:"<p>Defines a lazy getter for <code data-lang=\"fancy\">slotname</code> that yields the result of calling <code data-lang=\"fancy\">block</code> and caches it in <code data-lang=\"fancy\">slotname</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div>will be called with <code data-lang=\"fancy\">self</code> as the implicit receiver, so other slots can be used within <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be lazily set.</div></div></div>\n\n", lines:[217, 232], file:"lib/class.fy", arg:["slotname", "block"]}, ":instance_methods":{doc:"<p>Forward to message instance_methods:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[191, 199], file:"lib/rbx/class.fy", arg:[]}}, methods:{"superclass:body:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> by subclassing <code data-lang=\"fancy\">superclass</code> and\nusing <code data-lang=\"fancy\">body_block</code> as its body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the body of the new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">superclass</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">superclass</code> </label><div>The superclass to inherit from.</div></div></div>\n\n", lines:[30, 41], file:"lib/rbx/class.fy", arg:["superclass", "body_block"]}}, ancestors:["Class", "Module", "Object", "Kernel"]}, "Time":{doc:"<p>Time class. Used for even more timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Time", "Comparable", "Object", "Kernel"]}, "Proxies DistributingProxy":{doc:"<p>DistributingProxy is a Proxy that round-robin distributes messages to objects\nin a <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> specified upon creation.</p>\n\n<p>Example:</p>\n\n<pre><code> p = DistributingProxy new: [worker1, worker2, worker3, worker4]\n loop: {\n req = @input receive_request\n p handle_request: req # will be forwarded to worker1-4\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Proxies DistributingProxy", "Fancy BasicObject", "Object", "Kernel"]}, "Array":{doc:"<p>Array class.\nArrays are dynamically resizable containers with a constant-time\nindex-based access to members.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"remove_if:":{doc:"<p>Like <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"remove:\" data-owner-class=\"Array\" class=\"singleton-method-ref selectable\">remove:</code>, but taking a condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nRemoves all elements that meet the given condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that indicates, if an element should be removed from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">self</code>, with all elements removed for which <code data-lang=\"fancy\">condition</code> yields true.</div></div></div>\n\n", lines:[251, 262], file:"lib/array.fy", arg:["condition"]}, "[]:":{doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Value (object) to be set at the given index.</div></div></div>\n\n", lines:[76, 86], file:"lib/rbx/array.fy", arg:["idx", "obj"]}, "select_with_index:":{doc:"<p>Same as #select:, just gets also called with an additional argument\nfor each element's index value.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[392, 405], file:"lib/array.fy", arg:["block"]}, "reverse_each:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3] reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div></div>\n\n", lines:[115, 129], file:"lib/array.fy", arg:["block"]}, "reject!:":{doc:"<p>Same as Array#reject: but doing so in-place (destructive).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[220, 227], file:"lib/array.fy", arg:["block"]}, ":compact!":{doc:"<p>Removes all nil-value elements in place.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", lines:[229, 238], file:"lib/array.fy", arg:[]}, "index:":{doc:"<p>Returns the index of an item (or nil, if it isn't in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>).\nIf <code data-lang=\"fancy\">item</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, it will return the index of an element for which it yields <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Index of the value passed in within the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, or <code data-lang=\"fancy\">nil</code>, if value not present.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item/Value for which the index is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[90, 103], file:"lib/rbx/array.fy", arg:["item"]}, ":println":{doc:"<p>Prints each element on a seperate line.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[264, 273], file:"lib/array.fy", arg:[]}, ":rest":{doc:"<p>Returns all elements except the first one as a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>All elements in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> after the first one.</div></div></div>\n\n", lines:[89, 96], file:"lib/array.fy", arg:[]}, ":inspect":{doc:"<p>Returns a pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.\nExample:</p>\n\n<pre><code> [1, 'foo, \"bar\", 42] inspect # =&gt; \"[1, 'foo, \\\"bar\\\", 42]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[275, 291], file:"lib/array.fy", arg:[]}, ":>>":{doc:"<p>Returns new Array with elements of other_arr appended to these.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with <code data-lang=\"fancy\">other_arr</code> and <code data-lang=\"fancy\">self</code> appended.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[196, 206], file:"lib/array.fy", arg:["other_arr"]}, ":indices":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the indices of an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<pre><code> [1,2,3] indices # =&gt; [0,1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[342, 351], file:"lib/array.fy", arg:[]}, ":to_hash":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with each key-value pair in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [[1,2],[3,4]] to_hash # =&gt; &lt;[1 =&gt; 2, 3 =&gt; 4]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[407, 421], file:"lib/array.fy", arg:[]}, "values_at:":{doc:"<p>Returns new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with elements at given indices.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the items with the given indices in <code data-lang=\"fancy\">idx_arr</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of indices.</div></div></div>\n\n", lines:[181, 194], file:"lib/array.fy", arg:["idx_arr"]}, "find_by:":{doc:"<p>Like find: but takes a block that gets called with each element to find it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element, for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[165, 179], file:"lib/array.fy", arg:["block"]}, ":[]":{doc:"<p>Given an <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>s, it returns the sub-array between the given indices.\nIf given a single <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>, returns the element at that index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element(s) stored in <code data-lang=\"fancy\">self</code> at <code data-lang=\"fancy\">index</code>, possibly <code data-lang=\"fancy\">nil</code> or an empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">index&nbsp;</code> </label><div>Index to get the value for or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of 2 indices used for a sub-array.</div></div></div>\n\n", lines:[72, 87], file:"lib/array.fy", arg:["index"]}, "prepend:":{doc:"<p>Prepends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a prepend: [4,5,6]\n a # =&gt; [4,5,6,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">arr&nbsp;&nbsp;&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be prepended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[53, 70], file:"lib/array.fy", arg:["arr"]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[293, 299], file:"lib/array.fy", arg:[]}, "select!:":{doc:"<p>Removes all elements in place, that don't meet the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or something <code data-lang=\"fancy\">Callable</code>) for selecting items from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">self</code>, but changed with all elements removed that don't yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">condition</code>.</div></div></div>\n\n", lines:[208, 218], file:"lib/array.fy", arg:["condition"]}, "remove:":{doc:"<p>Removes all occurances of obj in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, with all occurances of <code data-lang=\"fancy\">obj</code> removed.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to be removed within <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[240, 249], file:"lib/array.fy", arg:["obj"]}, "unshift:":{doc:"<p>Inserts a value at the front of <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a unshift: 10\n a # =&gt; [10,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be added at the front of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[142, 156], file:"lib/rbx/array.fy", arg:["value"]}, ":*":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> that contains the elements of self num times\nin a row.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[301, 312], file:"lib/array.fy", arg:["num"]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[98, 113], file:"lib/array.fy", arg:["block"]}, "find:":{doc:"<p>Returns the item, if it's in the Array or nil (if not found).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">item</code> if, it's found in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, otherwise <code data-lang=\"fancy\">nil</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> / Element to find in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[148, 163], file:"lib/array.fy", arg:["item"]}, ":join":{doc:"<p>Joins all elements with the empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [\"hello\", \"world\", \"!\"] join # =&gt; \"hello,world!\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Elements of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> joined to a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[129, 140], file:"lib/rbx/array.fy", arg:[]}, "includes?:":{doc:"<p>Indicates, if an Array includes a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">obj</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to search for in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[28, 37], file:"lib/rbx/array.fy", arg:["obj"]}, "join:":{doc:"<p>Joins all elements in the Array with a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] join: \", \\\342\200\235 # =&gt; \\\342\200\2351, 2, 3\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">join_str</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> by which to <code data-lang=\"fancy\">join</code> all elements in <code data-lang=\"fancy\">self</code> into a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> with all elements with <code data-lang=\"fancy\">join_str</code>.</div></div></div>\n\n", lines:[115, 127], file:"lib/rbx/array.fy", arg:["join_str"]}, "from:to:":{doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index for sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to&nbsp;&nbsp;</code> </label><div>End index for sub-array.</div></div></div>\n\n", lines:[371, 390], file:"lib/array.fy", arg:["from", "to"]}, "indices_of:":{doc:"<p>Returns an Array of all indices of this item. Empty Array if item does not occur.</p>\n\n<pre><code> [1, 'foo, 2, 'foo] indices_of: 'foo # =&gt; [1, 3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices for a given value within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> (possibly empty).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item/Value for which a list of indices is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[353, 369], file:"lib/array.fy", arg:["item"]}, "remove_at:":{doc:"<p>Removes an element at a given index.\nIf given an Array of indices, removes all the elements with these indices.\nReturns the deleted object if an index was given, the last deleted object for an Array given.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[39, 61], file:"lib/rbx/array.fy", arg:["index"]}, ":-":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values in <code data-lang=\"fancy\">self</code> that are not in <code data-lang=\"fancy\">other</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4] - [2,4,5] # =&gt; [1,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> to be subtracted from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code> excluding all elements in <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[328, 340], file:"lib/array.fy", arg:["other"]}, "at:put:":{doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Value (object) to be set at the given index.</div></div></div>\n\n", lines:[76, 86], file:"lib/rbx/array.fy", arg:["idx", "obj"]}, "last:":{doc:"<p>Returns new Array with last n elements specified.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">count&nbsp;</code> </label><div>Number of last elements to get from an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with up to <code data-lang=\"fancy\">count</code> size of last elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[105, 113], file:"lib/rbx/array.fy", arg:["count"]}, ":+":{doc:"<p>Returns concatenation with another <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] + [3,4,5] # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> to be appended.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[314, 326], file:"lib/array.fy", arg:["other"]}, ":clone":{doc:"<p>Clones (shallow copy) the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A shallow copy of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[20, 32], file:"lib/array.fy", arg:[]}, "append:":{doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> onto this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a append: [3,4,5]\n a # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">arr&nbsp;&nbsp;&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[34, 51], file:"lib/array.fy", arg:["arr"]}, ":=?":{doc:"<p>Compares two Arrays where order does not matter.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to compare this one to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if all elements of <code data-lang=\"fancy\">other</code> are in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[131, 146], file:"lib/array.fy", arg:["other"]}, "at:":{doc:"<p>Returns the element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> at a given index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index for value to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value with the given index (if available), or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[63, 72], file:"lib/rbx/array.fy", arg:["idx"]}}, methods:{"new:":{doc:"<p>Creates a new Array with a given <code data-lang=\"fancy\">size</code> (default value is <code data-lang=\"fancy\">nil</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be created (values default to <code data-lang=\"fancy\">nil</code>).</div></div></div>\n\n", lines:[10, 18], file:"lib/array.fy", arg:["size"]}, ":===":{doc:"<p>Matches an <code data-lang=\"fancy\">Array</code> against another object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to match <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>, if no match, matched values (in an <code data-lang=\"fancy\">Array</code>) otherwise.</div></div></div>\n\n", lines:[423, 434], file:"lib/array.fy", arg:["object"]}, "new:with:":{doc:"<p>Creates a new Array with a given size and default-value.\nIf <code data-lang=\"fancy\">default</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, call it with each index instead and\nstore the return value.</p>\n\n<p>Example:</p>\n\n<pre><code> Array new: 3 with: 'hello # =&gt; ['hello, 'hello, 'hello]\n # default can also be a block, taking the current index.\n Array new: 3 with: @{ * 2 } # =&gt; [0, 2, 4]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size&nbsp;&nbsp;&nbsp;</code> </label><div>Initial size of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">default</code> </label><div>Default value of new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>. Inserted <code data-lang=\"fancy\">size</code> times.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with <code data-lang=\"fancy\">size</code> values of <code data-lang=\"fancy\">default</code> in it.</div></div></div>\n\n", lines:[6, 26], file:"lib/rbx/array.fy", arg:["size", "default"]}}, ancestors:["Array", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"]}, "Set":{doc:"<p>A simple Set data structure class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":[]":{doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">nil</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[104, 113], file:"lib/set.fy", arg:["value"]}, "remove:":{doc:"<p>Removes a given object from a Set, if available.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be removed from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[143, 151], file:"lib/set.fy", arg:["obj"]}, ":values":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Values in self as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[29, 35], file:"lib/set.fy", arg:[]}, "initialize:":{doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values to be used as values for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[8, 19], file:"lib/set.fy", arg:["values"]}, ":&":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other Set to use for creating Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Intersection Set containing only values that are in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[175, 186], file:"lib/set.fy", arg:["other"]}, "each:":{doc:"<p>Calls a given Block for each element of the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[115, 125], file:"lib/set.fy", arg:["block"]}, "includes?:":{doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[93, 102], file:"lib/set.fy", arg:["value"]}, ":initialize":{doc:"<p>Initialize a new empty Set.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[21, 27], file:"lib/set.fy", arg:[]}, ":-":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other Set to use for creating difference Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Difference Set by removing all values from <code data-lang=\"fancy\">self</code> that are in <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[162, 173], file:"lib/set.fy", arg:["other"]}, ":==":{doc:"<p>Indicates, if two Sets are equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Set\" class=\"class-ref selectable\">Set</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if self is equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[55, 69], file:"lib/set.fy", arg:["other"]}, ":empty?":{doc:"<p>Indicates, if a Set is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Set is emty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[45, 53], file:"lib/set.fy", arg:[]}, ":+":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other Set to use for creating union Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Union Set containing all values in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[153, 160], file:"lib/set.fy", arg:["other"]}, ":<<":{doc:"<p>Insert a value into the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be inserted into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[81, 91], file:"lib/set.fy", arg:["value"]}, ":size":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of values in <code data-lang=\"fancy\">self</code> as a <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>.</div></div></div>\n\n", lines:[37, 43], file:"lib/set.fy", arg:[]}, ":to_s":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[127, 133], file:"lib/set.fy", arg:[]}, ":inspect":{doc:"<p>Returns a detailed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[135, 141], file:"lib/set.fy", arg:[]}}, methods:{":[]":{doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values used for new Set.</div></div></div>\n\n", lines:[71, 79], file:"lib/set.fy", arg:["values"]}}, ancestors:["Set", "Fancy Enumerable", "Object", "Object", "Kernel"]}, "Fancy MessageSink":{doc:"<p>A MessageSink just swallows all messages that are sent to it.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p><code data-lang=\"fancy\">m</code> Message sent to <code data-lang=\"fancy\">self</code>.\n<code data-lang=\"fancy\">p</code> <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters sent along with <code data-lang=\"fancy\">m</code>.</p>\n\n<p>Catches all messages and arguments and simply always returns <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[7, 17], file:"lib/message_sink.fy", arg:["m", "p"]}}, methods:{}, ancestors:["Fancy MessageSink", "Fancy BasicObject", "Object", "Kernel"]}, "Fancy BreakIteration":{doc:"<p>Raised to break the current iteration.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> 10 times: |i| {\n i println\n if: (i == 3) then: {\n Fancy BreakIteration new raise!\n }\n }\n \"Done!\" println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> 0\n 1\n 2\n 3\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Fancy BreakIteration", "StandardError", "Exception", "Object", "Kernel"]}, "FancySpec SpecTest":{doc:"<p>FancySpec test case class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"failed:":{doc:"<p>Forward to message failed:location:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[244, 251], file:"lib/fancy_spec.fy", arg:["actual_and_expected"]}}, methods:{"failed_test:":{doc:"<p>Gets called when a SpecTest failed.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">actual_and_expected</code> </label><div>Pair of actual and expected values for a failed test case.</div></div></div>\n\n", lines:[157, 167], file:"lib/fancy_spec.fy", arg:["test"]}, "failed_negative_test:":{doc:"<p>Gets called when a negative SpecTest (using <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code>) failed.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value that should not have occured.</div></div></div>\n\n", lines:[169, 179], file:"lib/fancy_spec.fy", arg:["test"]}}, ancestors:["FancySpec SpecTest", "Object", "Kernel"]}, "Fancy Enumerable":{doc:"<p>Mixin-Class with useful methods for collections that implement an <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> method.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"skip:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[390, 404], file:"lib/enumerable.fy", arg:["amount"]}, "reduce:init_val:":{doc:"<p>Calculates a value based on a given block to be called on an accumulator\nvalue and an initial value.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] reduce: |sum val| { sum + val } init_val: 0 # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[408, 422], file:"lib/enumerable.fy", arg:["block", "init_val"]}, "reverse_each:":{doc:"<p>Runs <code data-lang=\"fancy\">block</code> for each element on reversed version of self.\nIf <code data-lang=\"fancy\">self</code> is not a sorted collection, no guarantees about the reverse order can be given.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in reverse order.</div></div></div>\n\n", lines:[683, 693], file:"lib/enumerable.fy", arg:["block"]}, "first:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3,4) first: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of first elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[91, 105], file:"lib/enumerable.fy", arg:["amount"]}, "grep:":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" grep: /[a-h]/ # =&gt; [\"h\", \"e\", \"d\"]\n [\"hello\", \"world\", 1, 2, 3] grep: String # =&gt; [\"hello\", \"world\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Pattern to be filtered by (via <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"===\" data-owner-class=\"Object\" class=\"ruby-singleton-method-ref selectable\">===</code>)</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Elements in <code data-lang=\"fancy\">self</code> for which <code data-lang=\"fancy\">pattern</code> matches.</div></div></div>\n\n", lines:[771, 782], file:"lib/enumerable.fy", arg:["pattern"]}, ":random":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[596, 602], file:"lib/enumerable.fy", arg:[]}, ":rest":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[83, 89], file:"lib/enumerable.fy", arg:[]}, "reject:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"select:\" class=\"selectable\">select:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that don't meet the given condition block.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[310, 321], file:"lib/enumerable.fy", arg:["condition"]}, ":max":{doc:"<p>Returns the maximum value in the Enumerable (via the '>' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[524, 532], file:"lib/enumerable.fy", arg:[]}, "all?:":{doc:"<p>Takes condition-block and returns <code data-lang=\"fancy\">true</code> if all elements meet it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if all elements in <code data-lang=\"fancy\">self</code> yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">block</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element until it returns <code data-lang=\"fancy\">false</code> for any one of them.</div></div></div>\n\n", lines:[198, 212], file:"lib/enumerable.fy", arg:["condition"]}, "find_by:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"find:\" class=\"selectable\">find:</code> but takes a block that is called for each element to find it.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[235, 246], file:"lib/enumerable.fy", arg:["block"]}, ":reverse":{doc:"<p>Returns <code data-lang=\"fancy\">self</code> in reverse order.\nThis only makes sense for collections that have an ordering.\nIn either case, it simply converts <code data-lang=\"fancy\">self</code> to an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> and returns it in reversed order.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> in reverse order.</div></div></div>\n\n", lines:[653, 663], file:"lib/enumerable.fy", arg:[]}, "drop:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[390, 404], file:"lib/enumerable.fy", arg:["amount"]}, ":unique":{doc:"<p>Returns a new Array with all unique values (double entries are skipped).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,1,2,3] unique # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all unique elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[436, 453], file:"lib/enumerable.fy", arg:[]}, "split_at:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] split_at: 2 # =&gt; [[1,2], [3,4,5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s of elements in self splitted at <code data-lang=\"fancy\">index</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">index&nbsp;</code> </label><div>Index at which <code data-lang=\"fancy\">self</code> should be split.</div></div></div>\n\n", lines:[747, 757], file:"lib/enumerable.fy", arg:["index"]}, "includes?:":{doc:"<p>Indicates, if a collection includes a given element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>, otherwise <code data-lang=\"fancy\">false</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item to check if it's included in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[124, 133], file:"lib/enumerable.fy", arg:["item"]}, "join:":{doc:"<p>Joins a collection with a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> between each element, returning a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<pre><code> \"hello, world\" join: \"-\" # =&gt; \"h-e-l-l-o-,- -w-o-r-l-d\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str&nbsp;&nbsp;&nbsp;</code> </label><div>Value (usually a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) to be used for the joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all elements in <code data-lang=\"fancy\">self</code> interspersed with <code data-lang=\"fancy\">str</code>.</div></div></div>\n\n", lines:[148, 165], file:"lib/enumerable.fy", arg:["str"]}, "each_with_index:":{doc:"<p>Iterate over all elements in <code data-lang=\"fancy\">self</code>.\nCalls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element and its index in the <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[25, 39], file:"lib/enumerable.fy", arg:["block"]}, "superior_by:":{doc:"<p>Forward to message superior_by:taking:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[491, 522], file:"lib/enumerable.fy", arg:["comparison_block"]}, "join_by:":{doc:"<p>Works similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"inject:into:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">inject:into:</code> but uses first element as value injected.</p>\n\n<p>Example:</p>\n\n<pre><code> (1,2,3) reduce_by: '+ # =&gt; same as: (2,3) inject: 1 into: '+\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Result of calling <code data-lang=\"fancy\">block</code> pairwise (similar to using <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"reduce:into:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">reduce:into:</code>).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called pair-wise to produce a single value.</div></div></div>\n\n", lines:[167, 180], file:"lib/enumerable.fy", arg:["block"]}, "take_while:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by taking elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] take_while: |x| { x &lt; 4 } # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a condition for filtering.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all elements from the beginning until <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[323, 344], file:"lib/enumerable.fy", arg:["condition"]}, "last:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3,4) last: 2 # =&gt; [3,4]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of last elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of last <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[107, 122], file:"lib/enumerable.fy", arg:["amount"]}, "map:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[248, 261], file:"lib/enumerable.fy", arg:["block"]}, ":size":{doc:"<p>Returns the size of an Enumerable.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[455, 467], file:"lib/enumerable.fy", arg:[]}, "any?:":{doc:"<p>Indicates, if any element meets the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that is used to check if any element in <code data-lang=\"fancy\">self</code> yields true for it.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">true</code> for any element, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[182, 196], file:"lib/enumerable.fy", arg:["condition"]}, "take:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4] take: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[374, 388], file:"lib/enumerable.fy", arg:["amount"]}, "drop_while:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"take_while:\" class=\"selectable\">take_while:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by skipping elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop_while: |x| { x &lt; 4 } # =&gt; [4,5]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[346, 372], file:"lib/enumerable.fy", arg:["condition"]}, "each:in_between:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> but calls an additional <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> between\ncalling the first <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for each element in self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[135, 146], file:"lib/enumerable.fy", arg:["each_block", "between_block"]}, "grep:taking:":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" grep: /[a-h]/ taking: @{ upcase } # =&gt; [\"H\", \"E\", \"D\"]\n [\"hello\", \"world\", 1, 2, 3] grep: String taking: 'upcase # =&gt; [\"HELLO\", \"WORLD\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Pattern to be filtered by (via <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"===\" data-owner-class=\"Object\" class=\"ruby-singleton-method-ref selectable\">===</code>)</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Return values of elements in <code data-lang=\"fancy\">self</code> called with <code data-lang=\"fancy\">block</code> for which <code data-lang=\"fancy\">pattern</code> matches.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element for which <code data-lang=\"fancy\">pattern</code> matches.</div></div></div>\n\n", lines:[784, 802], file:"lib/enumerable.fy", arg:["pattern", "block"]}, "to_hash:":{doc:"<p>Example:</p>\n\n<pre><code> [\"foo\", \\\342\200\235hello\", \"ok\", \"\"] to_hash: @{ size }\n # =&gt; &lt;[3 =&gt; \"foo\", 5 =&gt; \"hello\", 2 =&gt; \"ok\", 0 =&gt; \"\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key/value pairs based on values in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to get the key for each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[665, 681], file:"lib/enumerable.fy", arg:["block"]}, "split_with:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] split_with: @{ &lt; 3 } # =&gt; [[1, 2], [3, 4, 5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">predicate_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as a predicate on where to split in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s of elements split based on <code data-lang=\"fancy\">predicate_block</code>.</div></div></div>\n\n", lines:[759, 769], file:"lib/enumerable.fy", arg:["predicate_block"]}, ":min":{doc:"<p>Returns the minimum value in the Enumerable (via the '&lt;' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[534, 542], file:"lib/enumerable.fy", arg:[]}, "sort_by:":{doc:"<p>Sorts a collection by a given comparison block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Sorted <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> taking 2 arguments used to compare elements in a collection.</div></div></div>\n\n", lines:[604, 619], file:"lib/enumerable.fy", arg:["block"]}, "in_groups_of:":{doc:"<p>Example usage:</p>\n\n<pre><code> [1,2,3,4,5] in_groups_of: 3 # =&gt; [[1,2,3],[4,5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size&nbsp;&nbsp;</code> </label><div>Maximum size of each group.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with a max size of <code data-lang=\"fancy\">size</code> (grouped).</div></div></div>\n\n", lines:[621, 651], file:"lib/enumerable.fy", arg:["size"]}, ":sorted?":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) sorted? # =&gt; true\n (2,1,3) sorted? # =&gt; false\n \"abc\" sorted? # =&gt; true\n \"bac\" sorted? # =&gt; false\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is sorted, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[726, 745], file:"lib/enumerable.fy", arg:[]}, ":empty?":{doc:"<p>Indicates, if the Enumerable is empty (has no elements).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if size of <code data-lang=\"fancy\">self</code> is 0, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[469, 477], file:"lib/enumerable.fy", arg:[]}, ":fourth":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The fourth element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[62, 67], file:"lib/enumerable.fy", arg:[]}, ":to_s":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) to_s # =&gt; \"123\"\n [1,2,3] to_s # =&gt; \"123\"\n \"foo\" to_s # =&gt; \"foo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> concatenation of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[713, 724], file:"lib/enumerable.fy", arg:[]}, ":third":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The third element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[55, 60], file:"lib/enumerable.fy", arg:[]}, ":compact":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all values removed that are <code data-lang=\"fancy\">nil</code> ( return <code data-lang=\"fancy\">true</code> on <code data-lang=\"fancy\">nil?</code> ).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,nil,3,nil] compact # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all non-nil elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[479, 490], file:"lib/enumerable.fy", arg:[]}, "select:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that meet the given condition block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a filter on all elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all elements in <code data-lang=\"fancy\">self</code> that yield <code data-lang=\"fancy\">true</code> when called with <code data-lang=\"fancy\">condition</code>.</div></div></div>\n\n", lines:[295, 308], file:"lib/enumerable.fy", arg:["condition"]}, "map_with_index:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element and its index in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element and its index in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[263, 276], file:"lib/enumerable.fy", arg:["block"]}, "superior_by:taking:":{doc:"<p>Returns the superior element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> that has met\nthe given comparison block with all other elements,\napplied to whatever <code data-lang=\"fancy\">selection_block</code> returns for each element.</p>\n\n<p>Examples:</p>\n\n<pre><code> [1,2,5,3,4] superior_by: '&gt; # =&gt; 5\n [1,2,5,3,4] superior_by: '&lt; # =&gt; 1\n [[1,2], [2,3,4], [], [1]] superior_by: '&gt; taking: 'size # =&gt; [2,3,4]\n [[1,2], [2,3,4], [-1]] superior_by: '&lt; taking: 'first # =&gt; [-1]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Superior element in <code data-lang=\"fancy\">self</code> in terms of <code data-lang=\"fancy\">comparison_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">selection_block&nbsp;</code> </label><div>defaults to <code data-lang=\"fancy\">identity</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">comparison_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used for comparison.</div></div></div>\n\n", lines:[492, 522], file:"lib/enumerable.fy", arg:["comparison_block", "selection_block"]}, "inject:into:":{doc:"<p>Same as reduce:init_val: but taking the initial value as first\nand the reducing block as second parameter.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] inject: 0 into: |sum val| { sum + val } # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[424, 434], file:"lib/enumerable.fy", arg:["val", "block"]}, ":last":{doc:"<p>Returns the last element in a <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Last element in <code data-lang=\"fancy\">self</code> or <code data-lang=\"fancy\">nil</code>, if empty.</div></div></div>\n\n", lines:[69, 81], file:"lib/enumerable.fy", arg:[]}, ":sum":{doc:"<p>Calculates the sum of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing '+' &amp; '*')).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[544, 551], file:"lib/enumerable.fy", arg:[]}, "count:":{doc:"<p>Example:</p>\n\n<pre><code> (0..10) count: @{ even? } # =&gt; 6 (even numbers are: 0,2,4,6,8,10)\n [1,2,3] count: @{ odd? } # =&gt; 2\n [1,2, \"foo\"] count: @{ class == String } # =&gt; 1\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> that is the amount of elements in <code data-lang=\"fancy\">self</code> for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with each element.</div></div></div>\n\n", lines:[695, 711], file:"lib/enumerable.fy", arg:["block"]}, "find:":{doc:"<p>Returns <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">item</code> (or anything that returns <code data-lang=\"fancy\">true</code> when comparing to <code data-lang=\"fancy\">item</code>) isn't found.\nOtherwise returns that element that is equal to <code data-lang=\"fancy\">item</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element that is equal to <code data-lang=\"fancy\">item</code> or <code data-lang=\"fancy\">nil</code>, if none found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item to be found in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[214, 233], file:"lib/enumerable.fy", arg:["item"]}, ":join":{doc:"<p>Forward to message join:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[147, 165], file:"lib/enumerable.fy", arg:[]}, ":product":{doc:"<p>Calculates the product of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing <code data-lang=\"fancy\">+</code> &amp; <code data-lang=\"fancy\">*</code>)).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[553, 560], file:"lib/enumerable.fy", arg:[]}, ":first":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[41, 46], file:"lib/enumerable.fy", arg:[]}, ":average":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Average value in <code data-lang=\"fancy\">self</code> (expecting <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s or Objects implementing <code data-lang=\"fancy\">+</code> and <code data-lang=\"fancy\">*</code>).</div></div></div>\n\n", lines:[562, 569], file:"lib/enumerable.fy", arg:[]}, "map_chained:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) map_chained: (@{ + 1 }, 'to_s, @{ * 2 })\n # =&gt; [\"22\", \"33\", \"44\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Collection of all values in <code data-lang=\"fancy\">self</code> successively called with all blocks in <code data-lang=\"fancy\">blocks</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">blocks</code> </label><div>Collection of <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s to be called sequentially for every element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[278, 293], file:"lib/enumerable.fy", arg:["blocks"]}, ":second":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The second element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[48, 53], file:"lib/enumerable.fy", arg:[]}, "partition_by:":{doc:"<p>Example:</p>\n\n<pre><code> (0..10) partition_by: @{ &lt; 3 } # =&gt; [[0, 1, 2], [3, 4, 5, 6, 7, 8, 9, 10]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s, partitioned by equal return values of calling <code data-lang=\"fancy\">block</code> with each element</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used to decide when to partition elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[571, 594], file:"lib/enumerable.fy", arg:["block"]}, "at:":{doc:"<p>Example:</p>\n\n<pre><code> \"foo\\\342\200\235 at: 2 # =&gt; \"o\"\n \"foo\\\342\200\235 at: 3 # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value in <code data-lang=\"fancy\">self</code> at 0-based position defined by <code data-lang=\"fancy\">index</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">index&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> that is the 0-based index into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[9, 23], file:"lib/enumerable.fy", arg:["index"]}}, methods:{}, ancestors:["Fancy Enumerable", "Object", "Kernel"]}, "Hash":{doc:"<p>Class for Hashes (HashMaps / Dictionaries).\nMaps a key to a value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_block":{doc:"<p>Example:</p>\n\n<pre><code> &lt;['x =&gt; 100, 'y =&gt; 150]&gt; to_block\n # would be the same as:\n |receiver| {\n receiver tap: @{\n x: 100\n y: 150\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that sends each key-value pair in <code data-lang=\"fancy\">self</code> as a message (with one argument) to its argument.</div></div></div>\n\n", lines:[254, 278], file:"lib/hash.fy", arg:[]}, ":to_object":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slot names and values based on keys and values in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> o = &lt;['name =&gt; \"Christopher Bertels\", 'interest =&gt; \"programming languages\"]&gt; to_object\n o name # =&gt; \"Christopher Bertels\"\n o interest # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined by keys and values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[122, 140], file:"lib/hash.fy", arg:[]}, ":random_value":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[207, 213], file:"lib/hash.fy", arg:[]}, ":[]":{doc:"<p>Returns the value for a given key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;</code> </label><div>Key for value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for given <code data-lang=\"fancy\">key</code> or <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">key</code> not set.</div></div></div>\n\n", lines:[12, 21], file:"lib/hash.fy", arg:["key"]}, "call:":{doc:"<p>Sends each key-value pair as a message (with one argument) to <code data-lang=\"fancy\">receiver</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> Person = Struct new: ('firstname, 'lastname)\n p = Person new\n &lt;['firstname =&gt; \"Tom\", 'lastname =&gt; \"Cruise\"]&gt; call: [p]\n\n p firstname # =&gt; \"Tom\"\n p lastname # =&gt; \"Cruise\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">receiver</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver to apply <code data-lang=\"fancy\">self</code> to.</div></div></div>\n\n", lines:[225, 242], file:"lib/hash.fy", arg:["receiver"]}, "values_at:":{doc:"<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 1, 'bar =&gt; 2, 'baz =&gt; 42]&gt; values_at: ('foo, 'baz) # =&gt; [1, 42]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values for the given keys.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">keys&nbsp;&nbsp;</code> </label><div>Collection of keys to get the values for.</div></div></div>\n\n", lines:[155, 165], file:"lib/hash.fy", arg:["keys"]}, ":random_key":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random key in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[199, 205], file:"lib/hash.fy", arg:[]}, ":to_a":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of the key-value pairs in a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all key-value pairs in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[112, 120], file:"lib/hash.fy", arg:[]}, "select_keys:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['a =&gt; 1, 42 =&gt; (1,2,3), 'b =&gt; \"hello\"]&gt;\n h select_keys: @{ is_a?: Symbol } # =&gt; &lt;['a =&gt; 1, 'b =&gt; \"hello\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of entries for which <code data-lang=\"fancy\">block</code> called with its key yields <code data-lang=\"fancy\">true</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[167, 184], file:"lib/hash.fy", arg:["block"]}, "each_key:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[88, 98], file:"lib/hash.fy", arg:["block"]}, "delete:":{doc:"<p>Deletes a key-value pair from <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of key-value pair to be deleted in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[26, 34], file:"lib/rbx/hash.fy", arg:["key"]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key and value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key and value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[69, 86], file:"lib/hash.fy", arg:["block"]}, "includes?:":{doc:"<p>Indicates if a given key is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;</code> </label><div>Key to search for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Hash includes <code data-lang=\"fancy\">key</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[44, 53], file:"lib/rbx/hash.fy", arg:["key"]}, "reject_keys:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['a =&gt; 1, 42 =&gt; (1,2,3), 'b =&gt; \"hello\"]&gt;\n h reject_keys: @{ is_a?: Symbol } # =&gt; &lt;[42 =&gt; (1,2,3)]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of entries for which <code data-lang=\"fancy\">block</code> called with its key yields <code data-lang=\"fancy\">false</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[186, 197], file:"lib/hash.fy", arg:["block"]}, ":random":{doc:"<p>Same as <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"random_value\" data-owner-class=\"Hash\" class=\"ruby-singleton-method-ref selectable\">random_value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[215, 223], file:"lib/hash.fy", arg:[]}, "each_value:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[100, 110], file:"lib/hash.fy", arg:["block"]}, "fetch:else:":{doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; at: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; at: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; at: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", lines:[23, 43], file:"lib/hash.fy", arg:["key", "else_block"]}, "at:else_put:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['foo =&gt; 'bar]&gt;\n h at: 'foo else_put: { 42 } # =&gt; 'bar\n h['foo] # =&gt; 'bar\n h at: 'undefined else_put: { 42 } # =&gt; 42\n h['undefined] # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called and its value inserted into <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[47, 65], file:"lib/hash.fy", arg:["key", "else_block"]}, "fetch:else_put:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['foo =&gt; 'bar]&gt;\n h at: 'foo else_put: { 42 } # =&gt; 'bar\n h['foo] # =&gt; 'bar\n h at: 'undefined else_put: { 42 } # =&gt; 42\n h['undefined] # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called and its value inserted into <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[47, 65], file:"lib/hash.fy", arg:["key", "else_block"]}, "at:else:":{doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; at: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; at: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; at: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", lines:[23, 43], file:"lib/hash.fy", arg:["key", "else_block"]}}, methods:{}, ancestors:["Hash", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"]}, "FalseClass":{doc:"<p>FalseClass. The class of the singleton <code data-lang=\"fancy\">false</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[20, 26], file:"lib/false_class.fy", arg:["then_block", "else_block"]}, "if_nil:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[44, 50], file:"lib/false_class.fy", arg:["then_block"]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[78, 84], file:"lib/false_class.fy", arg:[]}, "if_true:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[12, 18], file:"lib/false_class.fy", arg:["block"]}, "if_false:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[28, 34], file:"lib/false_class.fy", arg:["block"]}, ":not":{doc:"<p>Boolean negation of <code data-lang=\"fancy\">false</code> => <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</div></div></div></code>\n\n", lines:[86, 94], file:"lib/false_class.fy", arg:[]}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[52, 58], file:"lib/false_class.fy", arg:["then_block", "else_block"]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[68, 74], file:"lib/false_class.fy", arg:[]}, "if_false:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[36, 42], file:"lib/false_class.fy", arg:["then_block", "else_block"]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[68, 74], file:"lib/false_class.fy", arg:[]}, ":false?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[60, 66], file:"lib/false_class.fy", arg:[]}}, methods:{}, ancestors:["FalseClass", "ImmediateValue", "Object", "Kernel"]}, "TrueClass":{doc:"<p>TrueClass. The class of the singleton <code data-lang=\"fancy\">true</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[27, 37], file:"lib/true_class.fy", arg:["then_block", "else_block"]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[57, 63], file:"lib/true_class.fy", arg:[]}, "if_true:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[16, 25], file:"lib/true_class.fy", arg:["block"]}, ":not":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[65, 71], file:"lib/true_class.fy", arg:[]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[47, 53], file:"lib/true_class.fy", arg:[]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[47, 53], file:"lib/true_class.fy", arg:[]}, ":true?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[39, 45], file:"lib/true_class.fy", arg:[]}}, methods:{":new":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[6, 14], file:"lib/true_class.fy", arg:[]}}, ancestors:["TrueClass", "ImmediateValue", "Object", "Kernel"]}, "NoMethodError":{doc:"<p>Exception class that gets thrown when a method wasn't found within a class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":method_name":{doc:"<p>Returns the name of the method that was not found as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of the method not found (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>).</div></div></div>\n\n", lines:[6, 17], file:"lib/rbx/no_method_error.fy", arg:[]}}, methods:{":inspect":{doc:"<p>NoMethodError</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[19, 21], file:"lib/rbx/no_method_error.fy", arg:[]}}, ancestors:["NoMethodError", "NameError", "StandardError", "Exception", "Object", "Kernel"]}, "MatchData":{doc:"<p>MatchData instances are created when using the #=== match operator\n(e.g. by using match/case expressions).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code> containing matched values of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[20, 30], file:"lib/rbx/match_data.fy", arg:[]}, "at:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value at index <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", lines:[11, 18], file:"lib/rbx/match_data.fy", arg:["idx"]}}, methods:{}, ancestors:["MatchData", "Unmarshalable", "Object", "Kernel"]}, "DynamicValueArray":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with values defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dva = DynamicValueArray new\n dva name: \"Chris\"\n dva age: 25\n dva country: \"Germany\"\n dva something_else\n\n dva array # =&gt; [['name, \"Chris\"], ['age, 25], ['country, \"Germany\"], 'something_else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":array":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> generated dynamically by sending messages to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[94, 100], file:"lib/dynamic_slot_object.fy", arg:[]}}, methods:{}, ancestors:["DynamicValueArray", "Fancy BasicObject", "Object", "Kernel"]}, "UnboundMethod":{doc:"<p>An instance UnboundMethod represents a Method object not bound to a specific <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":call":{doc:"<p>Forward to message call:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[95, 98], file:"lib/rbx/method.fy", arg:[]}}, methods:{}, ancestors:["UnboundMethod", "MethodMixin", "Object", "Object", "Kernel"]}, "Fancy Documentation":{doc:"<p>A Fancy Documentation object is a holder for docstrings and specs.\nKeeps a registry of documentation for anything Fancy.</p>\n\n<p>Provides methods for searching and formatting an Object's docstrings.\nThis can be be handy for users of the interactive Fancy REPL,\ndocument generators, instrospection tools, IDEs, anything!</p>\n\n<p>This object can be converted to just anything by using its format:\nmethod. Formatters can be registered with Fancy Documentation#formatter:is:</p>\n\n<p>By default two formatters are defined:</p>\n\n<p> 'fancy => Returns the Fancy::Documentation object\n 'string => Returns the docs string representation</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":specs":{doc:"<p>An array of associated Fancy specs for the object\nbeing documented.</p>\n\n<p>Its a lot better to keep the associated specs in\nFancy Documentation objects instead of just having them\nin method instances. This allows us to associate any object\nwith an spec example.</p>\n\n<p>This way you can have a single Fancy spec example that\nis related to many objects (methods, constants, classes)\nthat are being specified. Later in documentation, we can\nprovide links to all specs where an object is being exercised.</p>\n\n<div class=\"doctags\"></div>\n\n"}, ":docs":{doc:"<p>An array of docstrings for the object beind documented.</p>\n\n<p>We have an array of docstrings because in Fancy, some\nthings like classes can be re-openned and the user may\nspecify new documentation for it each time. Thus we dont\nwant to loose the previous documentation but rather build\nupon it. That is, fancy supports incremental documentation.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "format:":{doc:"<p>If format is specified, the documentation string will be\nconverted using the corresponding formatter. This allows\nyou to extend Fancy documentation system, and produce\nhtml documents, man pages, or anything you can imagine.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[50, 61], file:"lib/documentation.fy", arg:["format"]}}, methods:{"formatter:":{doc:"<p>Obtains a formatter by a given name. Returns a callable object.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[78, 84], file:"lib/documentation.fy", arg:["name"]}, "for:append:":{doc:"<p>Append docstring to the documentation for obj.\nIf obj has no documentation, one is created for it.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[63, 76], file:"lib/documentation.fy", arg:["obj", "docstring"]}, "for:is:":{doc:"<p>Create a Fancy::Documentation instance.</p>\n\n<p>Note: As we're bootstrapping, we cannot set documentation here as\nan string literal.</p>\n\n<p>We are the very first thing to load, so just create a new\nFancy::Documentation object without using new:, and set it as\nfancy docs.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[24, 42], file:"lib/rbx/documentation.fy", arg:["obj", "docstring"]}, "remove:":{doc:"<p>Removes the documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[60, 63], file:"lib/rbx/documentation.fy", arg:["obj"]}, "for_method:on_class:is:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"\" data-owner-class=\"Fancy Documentation\" class=\"ruby-singleton-method-ref selectable\"></code> but taking the method name and the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> for which <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to define the docstring.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[44, 50], file:"lib/rbx/documentation.fy", arg:["method_name", "class", "docstring"]}, ":formatters":{doc:"<p>Obtain the hash of known documentation formatters.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[94, 101], file:"lib/documentation.fy", arg:[]}, "formatter:is:":{doc:"<p>Registers a callable object as formatter under name.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[86, 92], file:"lib/documentation.fy", arg:["name", "callable"]}, "for:":{doc:"<p>Obtains the Fancy Documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[55, 58], file:"lib/rbx/documentation.fy", arg:["obj"]}}, ancestors:["Fancy Documentation", "Object", "Kernel"]}, "Fixnum":{doc:"<p>Standard class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Fixnum", "Number", "Object", "ImmediateValue", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"]}, "Range":{doc:"<p>Class of Range values. Are created by using Range literal syntax in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> (10..100) # Range from 10 to 100\n # the following code does the same as above:\n Range new: 10 to: 100\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:to:":{doc:"<p>Initializes a new Range starting at <code data-lang=\"fancy\">start</code> and ending at <code data-lang=\"fancy\">end</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">start</code> </label><div>Start element of Range.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">end&nbsp;&nbsp;</code> </label><div>End element of Range.</div></div></div>\n\n", lines:[7, 13], file:"lib/rbx/range.fy", arg:["@start", "@end"]}, ":to_s":{doc:"<p>Same as Range#inspect</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[13, 19], file:"lib/range.fy", arg:[]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[21, 27], file:"lib/range.fy", arg:[]}, "each:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> on each value in <code data-lang=\"fancy\">self</code>. Used for iterating over a <code data-lang=\"fancy\" data-class-ref=\"Range\" class=\"class-ref selectable\">Range</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with every value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[15, 36], file:"lib/rbx/range.fy", arg:["block"]}}, methods:{}, ancestors:["Range", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"]}, "NameError":{doc:"<p>NameError exception class. Used within Rubinius.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["NameError", "StandardError", "Exception", "Object", "Kernel"]}}, methods:{"Module#included:":{doc:"<p>Gets called when a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> is included into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">module</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> or <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> that has been included into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", args:["module"]}, "Object#for_option:do:":{doc:"<p>Runs a given block if an option is in ARGV.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["op_name", "block"]}, "Matchers MatchAny#:===":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object to match against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">objects</code> matches either <code data-lang=\"fancy\">a</code> or <code data-lang=\"fancy\">b</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", args:["object"]}, "Fancy Package Installer#initialize:":{doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@package_name"]}, "Fancy Package Installer#fulfill_spec:":{doc:"<p>Installs all dependencies of <code data-lang=\"fancy\">spec</code>, sets up symlinks for binary files in <code data-lang=\"fancy\">spec</code>,\nas well as installing the include-file into the Fancy package lib dir.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Specification\" class=\"class-ref selectable\">Specification</code> to be fulfilled.</div></div></div>\n\n", args:["spec"]}, "Fancy Package Installer#initialize:version:install_path:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> installer for a given package name, an\noptional version (default is <code data-lang=\"fancy\">'latest</code>) and an optional\ninstallation path (default is the standard installation path for\nFancy packages).</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@package_name", "@version", "@install_path"]}, "Fancy Package Installer#:tags":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of git tags in the package's Github repository.</div></div></div>\n\n", args:[]}, "Fancy Package Installer#:latest_tag":{doc:"<p>Returns the latest tag (sorted alphabetically).</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package Installer#unpack_file:":{doc:"<p>Unpacks the given <code data-lang=\"fancy\">filename</code> and installs it into Fancy's package install dir.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>File name of package's downloaded .tar.gz file (from Github) to extract</div></div></div>\n\n", args:["filename"]}, "Fancy Package#install:":{doc:"<p>Forward to message install:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["package_name"]}, "Fancy Package Installer#download_url:":{doc:"<p>Returns the download url for a given version of the package\nto be installed.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["version"]}, "Fancy Package Installer#initialize:version:":{doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@package_name", "@version"]}, "Object#for_options:do:":{doc:"<p>Runs a given block if any of the given options is in ARGV.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["op_names", "block"]}, "Module#[]:":{doc:"<p>Sets the value of a constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>New value of constant to be used.</div></div></div>\n\n", args:["constant_name", "value"]}, "Matchers MatchAll#:===":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to match against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if it matches both <code data-lang=\"fancy\">a</code> and <code data-lang=\"fancy\">b</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", args:["object"]}, "Fancy FDoc JSON#write:":{doc:"<p>Forward to message write:call:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["filename"]}, "Fancy Package RubyDependency#:install":{doc:"<p>Installs the RubyDependency (a RubyGem) via rbx -S gem on the system.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package Handler#load_fancypack:":{doc:"<p>Forward to message load_fancypack:else:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["success_block"]}, "Fancy Package#:install_dependencies":{doc:"<p>Installs dependencies found in .fancypack file in the current directory.\nIf no .fancypack file is found, fails and quits.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package#:list_packages":{doc:"<p>Lists (prints) all installed packages on this system.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package Specification#add_dependency:":{doc:"<p>Forward to message add_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["name"]}, "Fancy Enumerator#initialize:":{doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>,\nusing #each: for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div></div>\n\n", args:["@collection"]}, "Fancy Package Handler#load_fancypack:else:":{doc:"<p>Loads the @.fancypack file within the downloaded package directory.\nIf no @.fancypack file is found, raise an error.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["success_block", "else_block"]}, "Fancy Enumerator#:peek":{doc:"<p>Returns the next object in the Enumerator, but doesn't move the\ninternal position forward.\nWhen the position reaches the end, a Fancy StopIteration exception is\nraised.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next p #=&gt; 1\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e next p #=&gt; 2\n e next p #=&gt; 3\n e next p #=&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package#:add_to_loadpath":{doc:"<p>Adds the Fancy Package install dir to the loadpath so you can\neasily <code data-lang=\"fancy\">require:</code> packages into your code.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package Dependency#initialize:":{doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@name"]}, "Fancy Enumerator#each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the collection this enumerator is attached to.\nUsed for iterating over the collection using this enumerator.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection (iteration).</div></div></div>\n\n", args:["block"]}, "Fancy Package RubyDependency#initialize:":{doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@gem_name"]}, "Object#with_mutable_slots:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> while having slots defined in <code data-lang=\"fancy\">slotnames</code>\nbe mutable during execution of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotnames</code> </label><div><code data-lang=\"fancy\">Fancy</code> Enumerable@ of slotnames to be mutable within <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", args:["slotnames", "block"]}, "Fancy Package Installer#:run":{doc:"<p>Runs the installer &amp; installs the package into\n<code data-lang=\"fancy\">$FANCY_PACKAGE_DIR</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Module#:[]":{doc:"<p>Returns the value of the constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">constant_name's</code> value.</div></div></div>\n\n", args:["constant_name"]}, "Fancy Package#install:version:":{doc:"<p>Installs a package with a given name.\nExpects package_name to be a string in the form of:\n user/repo\nWhich would get the package code from github.com/user/repo</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to install.</div></div></div>\n\n", args:["package_name", "version"]}, "Fancy Documentation RDiscount#rdiscount:":{doc:"<p>Format string as HTML using RDiscount ruby gem.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["doc"]}, "Fancy Package Installer#rename_dir:":{doc:"<p>Renames a given directory to a common way within the install path.\n=> It will rename the given dirname to $user/$repo-$version.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["dirname"]}, "Fancy Enumerator#initialize:with:":{doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>\nand <code data-lang=\"fancy\">iterator</code> selector to be used for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator&nbsp;&nbsp;</code> </label><div>Selector to use to iterate over <code data-lang=\"fancy\">collection</code>.</div></div></div>\n\n", args:["@collection", "@iterator"]}, "Fancy Package Specification#add_ruby_dependency:":{doc:"<p>Forward to message add_ruby_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["gem_name"]}, "Fancy Package#:root_dir":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Fancy Package root install dir.</div></div></div>\n\n", args:[]}, "Fancy Package Handler#initialize:":{doc:"<p>Forward to message initialize:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@package_name"]}, "Fancy Enumerator#:next":{doc:"<p>Returns the next element in the collection this enumerator is attached to.\nIt will move the internal position forward (compared to e.g. #peek, which doesn't).</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next # =&gt; 1\n e next # =&gt; 2\n e next # =&gt; 3\n e next # =&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Next element in the collection this enumerator is attached to.</div></div></div>\n\n", args:[]}, "Fancy Enumerator#:ended?":{doc:"<p>Indicates if an enumerator has ended (no more values left).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if the enumerator has ended (no more values left), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", args:[]}, "Fancy Enumerator#:rewind":{doc:"<p>Resets the enumerator to start from the collection's beginning.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package Installer#download_tgz:":{doc:"<p>Downloads the .tar.gz file from Github with the given version\n(tag or branch name) and saves it to the specified <code data-lang=\"fancy\">install_path</code>.</p>\n\n<p>The Default install_path is ~/.fancy/packages/.\nIf an environment variable <code data-lang=\"fancy\">FANCY_PACKAGE_DIR</code> is defined, it\nwill get used.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["version"]}, "Fancy Package#:package_list_file":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Path to installed_packages.txt <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on system.</div></div></div>\n\n", args:[]}, "String#:raise!":{doc:"<p>Raises a new StdError with <code data-lang=\"fancy\">self</code> as the message.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Package#uninstall:":{doc:"<p>Uninstalls a package with a given name (if installed).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to uninstall.</div></div></div>\n\n", args:["package_name"]}, "Fancy Package Installer#has_version?:":{doc:"<p>Indicates, if a given version for this package is available on Github.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if this package has the given version, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">version</code> </label><div>Version of package to check for.</div></div></div>\n\n", args:["version"]}, "Fancy Enumerator#with:each:":{doc:"<p>Similar to #each: but also passing in a given <code data-lang=\"fancy\">object</code> to each invocation of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to pass along to <code data-lang=\"fancy\">block</code> with each element in the collection.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection and <code data-lang=\"fancy\">object</code>.</div></div></div>\n\n", args:["object", "block"]}}, objects:{}}); })();
1
+ (function() { fancy.fdoc(true, "bakkdoor/fancy", {title:"Fancy Documentation", date:"2013-05-20 17:23:38 +0200", classes:{"Console":{doc:"<p>Console class. Used for <code data-lang=\"fancy\">STDIO</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"println:":{doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</div></div></div>\n\n", arg:["obj"], file:"lib/rbx/console.fy", lines:[20, 28]}, ":readln":{doc:"<p>Reads a line from <code data-lang=\"fancy\">STDIN</code> and returns it as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/console.fy", lines:[44, 56]}, ":clear":{doc:"<p>Clears the <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/console.fy", lines:[58, 62]}, ":newline":{doc:"<p>Prints a newline to <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/console.fy", lines:[4, 8]}, "print:":{doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>.</div></div></div>\n\n", arg:["obj"], file:"lib/rbx/console.fy", lines:[10, 18]}, "readln:":{doc:"<p>Prints a given message to <code data-lang=\"fancy\">STDOUT</code>, followed by reading a line from\n<code data-lang=\"fancy\">STDIN</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that should be printed to <code data-lang=\"fancy\">STDOUT</code> before reading from <code data-lang=\"fancy\">STDIN</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", arg:["message"], file:"lib/rbx/console.fy", lines:[31, 42]}}, ancestors:["Console", "Object", "Kernel", "BasicObject"]}, "Number":{doc:"<p>Number is a mixin-class for all number values (integer &amp; floats for\nnow).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"upto:":{doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going up to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> up to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", arg:["num"], file:"lib/number.fy", lines:[7, 23]}, "upto:in_steps_of:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">steps&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["num", "steps", "block"], file:"lib/number.fy", lines:[42, 59]}, "downto:in_steps_of:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">steps&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["num", "steps", "block"], file:"lib/number.fy", lines:[97, 114]}, ":cubed":{doc:"<p>Returns the cubed value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Cubed value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[136, 144]}, ":even?":{doc:"<p>Indicates, if a Number is even.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is even, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[170, 178]}, ":random":{doc:"<p>Returns a random number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random number between 0 and <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[214, 222]}, ":squared":{doc:"<p>Returns the square of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Squared value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[116, 124]}, ":odd?":{doc:"<p>Indicates, if a Number is odd.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is odd, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[180, 188]}, "downto:":{doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going down to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> down to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> down to <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", arg:["num"], file:"lib/number.fy", lines:[61, 77]}, ":abs":{doc:"<p>Returns the absolute (positive) value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute (positive) value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[146, 158]}, "max:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/number.fy", lines:[190, 200]}, "upto:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["num", "block"], file:"lib/number.fy", lines:[25, 40]}, "downto:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["num", "block"], file:"lib/number.fy", lines:[79, 95]}, ":doubled":{doc:"<p>Returns the double value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Doubled value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[126, 134]}, ":negate":{doc:"<p>Negates a Number (-1 becomes 1 and vice versa).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Negated value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/number.fy", lines:[160, 168]}, "min:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/number.fy", lines:[202, 212]}}, methods:{}, ancestors:["Number", "Object", "Kernel", "BasicObject"]}, "Fixnum":{doc:"<p>Standard class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Fixnum", "Number", "Object", "BasicObject", "ImmediateValue", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "Float":{doc:"<p>Standard class for floating point number values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Float", "Number", "Object", "BasicObject", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "Bignum":{doc:"<p>Class for large integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Bignum", "Number", "Object", "BasicObject", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "System":{doc:"<p>System class. Holds system-wide relevant methods.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{":exit":{doc:"<p>Exit the running Fancy process.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/system.fy", lines:[8, 14]}, "exit:":{doc:"<p>Exit the running Fancy process with a given exit code.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">exitcode</code> </label><div>Exit code (Fixnum) to be returned to the parent process.</div></div></div>\n\n", arg:["exitcode"], file:"lib/rbx/system.fy", lines:[16, 24]}, "do:":{doc:"<p>Runs the given string as a system() command.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["command_str"], file:"lib/rbx/system.fy", lines:[26, 32]}, "piperead:":{doc:"<p>Runs the given string as a popen() call and returns the output\nof the call as a string.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["command_str"], file:"lib/rbx/system.fy", lines:[34, 41]}, ":abort":{doc:"<p>Exits the current running Fancy process (application) with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/system.fy", lines:[2, 9]}, "abort:":{doc:"<p>Prints <code data-lang=\"fancy\">message</code> on <code data-lang=\"fancy\">*stderr*</code> and exits with an exit code of 1 (indicating\nfailure).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Error message to be printed before aborting programm execution.</div></div></div>\n\n", arg:["message"], file:"lib/system.fy", lines:[11, 21]}, "pipe:":{doc:"<p>Runs the given string as a popen3() call and returns a IO handle\nthat can be read from</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"IO\" class=\"class-ref selectable\">IO</code> object representing the command's <code data-lang=\"fancy\">STDOUT</code> IO stream.</div></div></div>\n\n", arg:["command_str"], file:"lib/rbx/system.fy", lines:[43, 54]}, "pipe:do:":{doc:"<p>Runs the given string as a popen3() call, passing in a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nThe <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> is expected to take 3 arguments for <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</div></div></div>\n\n", arg:["command_str", "block"], file:"lib/rbx/system.fy", lines:[56, 66]}, "aborting:do:":{doc:"<p>Prints <code data-lang=\"fancy\">message</code> on <code data-lang=\"fancy\">*stderr*</code>, calls <code data-lang=\"fancy\">block</code> and finally exits with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to print on <code data-lang=\"fancy\">*stderr*</code> before calling <code data-lang=\"fancy\">block</code> and exiting.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called before exiting execution.</div></div></div>\n\n", arg:["message", "block"], file:"lib/system.fy", lines:[23, 35]}}, ancestors:["System", "Object", "Kernel", "BasicObject"]}, "Exception":{doc:"<p>Base Exception class.\nAll Exception classes inherit from <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Exception", "Object", "Kernel", "BasicObject"]}, "StandardError":{doc:"<p>StandardError. Base class of most Exception classes.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":initialize":{doc:"<p>Creates a new Exception with an empty message.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/exception.fy", lines:[17, 21]}, "initialize:":{doc:"<p>Creates a new Exception with a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Message (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) for the Exception.</div></div></div>\n\n", arg:["msg"], file:"lib/rbx/exception.fy", lines:[23, 31]}, ":raise!":{doc:"<p>Raises (throws) an Exception to be caught somewhere up the\ncallstack.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/exception.fy", lines:[33, 40]}}, methods:{"raise:":{doc:"<p>Raises new <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> with <code data-lang=\"fancy\">message</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> StandardError raise: \"Error!\"\n ArgumentError raise: \"Missing argument!\"\n # is the same as:\n StandardError new: \"Error!\\\xE2\x80\x9D . raise!\n ArgumentError new: \"Missing argument!\" . raise!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["message"], file:"lib/exception.fy", lines:[2, 15]}}, ancestors:["StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "IO":{doc:"<p>Base class for IO related classes (like <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>, <code data-lang=\"fancy\" data-class-ref=\"Socket\" class=\"class-ref selectable\">Socket</code>, <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code> etc.).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["IO", "IOMixin", "Object", "BasicObject", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel", "BasicObject"]}, "TCPSocket":{doc:"<p>TCP Socket class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"send:":{doc:"<p>Forward to message send:flags:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["msg"], file:"lib/rbx/tcp_socket.fy", lines:[20, 23]}}, methods:{"open:port:":{doc:"<p>Creates and opens a new <code data-lang=\"fancy\" data-class-ref=\"TCPSocket\" class=\"class-ref selectable\">TCPSocket</code> on <code data-lang=\"fancy\">server</code> and <code data-lang=\"fancy\">port</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">server</code> </label><div>Server hostname to open Socket on.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">port&nbsp;&nbsp;</code> </label><div>Server port to open Socket on.</div></div></div>\n\n", arg:["server", "port"], file:"lib/rbx/tcp_socket.fy", lines:[10, 19]}}, ancestors:["TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "BasicObject", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel", "BasicObject"]}, "TCPServer":{doc:"<p>TCP Server</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["TCPServer", "Socket ListenAndAccept", "IO Socketable", "TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "BasicObject", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel", "BasicObject"]}, "MatchData":{doc:"<p>MatchData instances are created when using the #=== match operator\n(e.g. by using match/case expressions).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"at:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value at index <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", arg:["idx"], file:"lib/rbx/match_data.fy", lines:[11, 18]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code> containing matched values of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/match_data.fy", lines:[20, 30]}}, methods:{}, ancestors:["MatchData", "Unmarshalable", "Object", "Kernel", "BasicObject"]}, "Regexp":{doc:"<p>Regular Expression class. Used by Regexp literals in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Regexp", "Object", "Kernel", "BasicObject"]}, "MethodMixin":{doc:"<p>Mixin class with common methods included by <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> and <code data-lang=\"fancy\" data-class-ref=\"UnboundMethod\" class=\"class-ref selectable\">UnboundMethod</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"documentation:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["docstring"], file:"lib/rbx/method.fy", lines:[14, 20]}, ":visibility":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The visibility (<code data-lang=\"fancy\">'private</code>, <code data-lang=\"fancy\">'protected</code>, <code data-lang=\"fancy\">'public</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> in its defined context, if any.</div></div></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[22, 28]}, ":public?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is public in its defined context.</div></div></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[30, 35]}, ":private?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is private in its defined context.</div></div></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[44, 49]}, ":documentation":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[6, 12]}, ":protected?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is protected in its defined context.</div></div></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[37, 42]}, ":tests":{doc:"<p>Returns an Array of all the FancySpec SpecTests defined for a\nMethod.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[51, 59]}}, methods:{}, ancestors:["MethodMixin", "Object", "Kernel", "BasicObject"]}, "Method":{doc:"<p>An instance of Method represents a method on a Class.\nEvery method in Fancy is an instance of the Method class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":call":{doc:"<p>Forward to message call:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[78, 81]}}, methods:{}, ancestors:["Method", "MethodMixin", "Object", "BasicObject", "Unmarshalable", "Object", "Kernel", "BasicObject"]}, "UnboundMethod":{doc:"<p>An instance UnboundMethod represents a Method object not bound to a specific <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":call":{doc:"<p>Forward to message call:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/method.fy", lines:[95, 98]}}, methods:{}, ancestors:["UnboundMethod", "MethodMixin", "Object", "BasicObject", "Object", "Kernel", "BasicObject"]}, "NameError":{doc:"<p>NameError exception class. Used within Rubinius.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["NameError", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "NoMethodError":{doc:"<p>Exception class that gets thrown when a method wasn't found within a class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":method_name":{doc:"<p>Returns the name of the method that was not found as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of the method not found (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>).</div></div></div>\n\n", arg:[], file:"lib/rbx/no_method_error.fy", lines:[6, 17]}}, methods:{":inspect":{doc:"<p>NoMethodError</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/no_method_error.fy", lines:[19, 21]}}, ancestors:["NoMethodError", "NameError", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Thread":{doc:"<p>Thread class.\nDeals with parallel execution.</p>\n\n<p>TODO:\n=> Still need to add more Fancy-ish wrapper methods and method\n documentation.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"sleep:":{doc:"<p>Sets the Fancy process for a given amount of seconds to sleep.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["seconds"], file:"lib/rbx/thread.fy", lines:[82, 86]}}, ancestors:["Thread", "Object", "Kernel", "BasicObject"]}, "Date":{doc:"<p>Date class. Used for timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":!=":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Date\" class=\"class-ref selectable\">Date</code> to compare to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if equal, <code data-lang=\"fancy\">false</code> otherwhise.</div></div></div>\n\n", arg:["other"], file:"lib/rbx/date.fy", lines:[14, 21]}}, methods:{}, ancestors:["Date", "", "Comparable", "", "Object", "Kernel", "BasicObject"]}, "Time":{doc:"<p>Time class. Used for even more timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"duration:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> and times the runtime duration of doing so in seconds.</p>\n\n<p>Example:</p>\n\n<pre><code> Time duration: { Thread sleep: 1 } # =&gt; &gt;= 1.0\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\">Block</code> to be called & timed.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Float\" class=\"class-ref selectable\">Float</code> that is the duration (in seconds) of calling <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/time.fy", lines:[2, 16]}}, ancestors:["Time", "Comparable", "Object", "Kernel", "BasicObject"]}, "Rubinius Actor":{doc:"<p>Primitive Actor class.\nActors can be sent messages asynchronously. They process incoming messages\n(which can be any object, including Tuples, Arrays, Numbers ...) in a\nfirst-come, first-serve manner.</p>\n\n<p>Actors are used to implement asynchronous and future message sends in Fancy\nusing the @ and @@ syntax.</p>\n\n<p>Example:</p>\n\n<pre><code> a = Actor spawn: {\n loop: {\n match Actor receive {\n case 'hello -&gt; \"Hello World\" println\n case 'quit -&gt;\n \"OK, done!\" println\n break # Quit loop and let actor die\n }\n }\n }\n\n 10 times: {\n a ! 'hello # send 'hello to actor asynchronously\n }\n a ! 'quit\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"spawn:":{doc:"<p>Example:</p>\n\n<pre><code> Actor spawn: {\n loop: {\n Actor receive println # print all incoming messages\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code>'s code body to be executed in a new <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code> running <code data-lang=\"fancy\">block</code> in a seperate <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div></div>\n\n", arg:["block"], file:"lib/rbx/actor.fy", lines:[38, 52]}}, ancestors:["Rubinius Actor", "Object", "Kernel", "BasicObject"]}, "Object":{doc:"<p>Root class of Fancy's class hierarchy.\nAll classes inherit from Object.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":identity":{doc:"<p>The identity method simply returns self.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[348, 356]}, "send_async:with_params:":{doc:"<p>Sends <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> to <code data-lang=\"fancy\">self</code> asynchronously and immediately returns <code data-lang=\"fancy\">nil</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters as part of sending <code data-lang=\"fancy\">message</code> asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">nil</div></div></div></code>\n\n", arg:["message", "params"], file:"lib/object.fy", lines:[542, 553]}, "ignoring:do:":{doc:"<p>Example:</p>\n\n<pre><code> ignoring: (IOError, ZeroDivisionError) do: {\n # do something\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">exception_classes</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>s to ignore within <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed while ignoring (catching but not handling) <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>s defined in <code data-lang=\"fancy\">exception_classes</code>.</div></div></div>\n\n", arg:["exception_classes", "block"], file:"lib/object.fy", lines:[795, 809]}, "returning:do:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> after calling <code data-lang=\"fancy\">block</code> with it.\nUseful for returning some object after using it, e.g.:</p>\n\n<pre><code> # this will return [1,2]\n returning: [] do: |arr| {\n arr &lt;&lt; 1\n arr &lt;&lt; 2\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value that gets returned at the end.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with <code data-lang=\"fancy\">value</code> before returning <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">value</div></div></div></code>\n\n", arg:["value", "block"], file:"lib/object.fy", lines:[358, 377]}, ":next":{doc:"<p>Skip to the next iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[436, 442]}, "synchronized:":{doc:"<p>Runs a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in a synchronized fashion if called by multiple Threads.\nUses a <code data-lang=\"fancy\" data-class-ref=\"Mutex\" class=\"class-ref selectable\">Mutex</code> in the background for synchronization (created on demand for each <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>).\nCalls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run only by one Thread at a time.</div></div></div>\n\n", arg:["block"], file:"lib/object.fy", lines:[555, 568]}, "if_false:":{doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div></code>\n\n", arg:["block"], file:"lib/object.fy", lines:[86, 93]}, ":if_responds?":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"Proxies\" class=\"class-ref selectable\">Proxies</code> <code data-lang=\"fancy\" data-class-ref=\"Proxies RespondsToProxy\" class=\"class-ref selectable\">RespondsToProxy</code> for <code data-lang=\"fancy\">self</code> that forwards any messages\nonly if <code data-lang=\"fancy\">self</code> responds to them.</p>\n\n<p>Example:</p>\n\n<pre><code> # only send 'some_message: if object responds to it:\n object if_responds? some_message: some_parameter\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Proxies\" class=\"class-ref selectable\">Proxies</code> <code data-lang=\"fancy\" data-class-ref=\"Proxies RespondsToProxy\" class=\"class-ref selectable\">RespondsToProxy</code> for <code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:[], file:"lib/object.fy", lines:[379, 392]}, "if_false:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], file:"lib/object.fy", lines:[95, 105]}, "copy_slots:from:":{doc:"<p>Copies slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of slot names to copy from <code data-lang=\"fancy\">object</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Target <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", arg:["slots", "object"], file:"lib/object.fy", lines:[570, 581]}, ":should":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"PositiveMatcher\" class=\"class-ref selectable\">PositiveMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[442, 448]}, "if_nil:":{doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div></code>\n\n", arg:["block"], file:"lib/object.fy", lines:[86, 93]}, "documentation:":{doc:"<p>Sets the documentation string for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["docstring"], file:"lib/object.fy", lines:[338, 346]}, "rebind_method:with:within:":{doc:"<p>If <code data-lang=\"fancy\">within_block</code> takes an argument, it is called with <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyRebindableClass {\n def foo {\n 42\n }\n }\n\n r = MyRebindableClass new\n r rebind_method: 'foo with: { 0 } within: @{ foo } # =&gt; 0\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of (singleton) method to rebind for <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">rebind_callable</code> </label><div>Name of method or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to rebind <code data-lang=\"fancy\">method_name</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">within_block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in which <code data-lang=\"fancy\">method_name</code> is rebound to <code data-lang=\"fancy\">rebind_callable</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">within_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["method_name", "rebind_callable", "within_block"], file:"lib/object.fy", lines:[811, 832]}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], file:"lib/object.fy", lines:[95, 105]}, "backtick:":{doc:"<p>This is the default implementation for backtick: which gets called when using the backtick syntax.\nFor example:\n<code>cat README</code>\nGets translated to the following message send:\nself backtick: \"cat README\"\nWhich allows for custom implementations of the backtick: method, if needed.\nThis default implementation works the same way as in Ruby, Perl or Bash.\nIt returns the output of running the given string on the command line as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["str"], file:"lib/object.fy", lines:[394, 407]}, "copy_slots_from:":{doc:"<p>Copies all slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", arg:["object"], file:"lib/object.fy", lines:[583, 591]}, ":false?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[118, 124]}, ":?":{doc:"<p>Calls #value on <code data-lang=\"fancy\">future</code>. Shortcut method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">future</code> </label><div>Future object to get the value from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Result of calling #value on <code data-lang=\"fancy\">future</code>.</div></div></div>\n\n", arg:["future"], file:"lib/object.fy", lines:[409, 418]}, "get_slots:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names to retrieve from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot values of slot names passed in via <code data-lang=\"fancy\">slots</code>.</div></div></div>\n\n", arg:["slots"], file:"lib/object.fy", lines:[593, 602]}, ":true?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[126, 132]}, "next:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> for current iteration and skip to the next one.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value for next iteration.</div></div></div>\n\n", arg:["value"], file:"lib/object.fy", lines:[444, 452]}, ":_":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[834, 840]}, ":is":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"PositiveMatcher\" class=\"class-ref selectable\">PositiveMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[442, 448]}, ":documentation":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[328, 336]}, ":break":{doc:"<p>Breaks / Stops current iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[454, 460]}, "while:do:":{doc:"<p>Same as:\ncond_block while_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond_block", "body_block"], file:"lib/object.fy", lines:[250, 257]}, "break:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> from iteratioen.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to return from iteration.</div></div></div>\n\n", arg:["value"], file:"lib/object.fy", lines:[462, 470]}, ":slots":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names that <code data-lang=\"fancy\">self</code> has.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[681, 687]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[134, 140]}, ":to_enum":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using 'each: for iteration.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[163, 169]}, "tap:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">self</code> before returning <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/object.fy", lines:[669, 679]}, ":does_not":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[465, 471]}, ":dup":{doc:"<p>Returns a deep clone of self using Ruby's Marshal class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Copy (clone) of self.</div></div></div>\n\n", arg:[], file:"lib/rbx/object.fy", lines:[21, 29]}, ":to_i":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[155, 161]}, "to_enum:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator</code> </label><div>Message to use for iteration on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using <code data-lang=\"fancy\">iterator</code> for iteration.</div></div></div>\n\n", arg:["iterator"], file:"lib/object.fy", lines:[171, 178]}, ":should_not":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[465, 471]}, "set_slot:value:":{doc:"<p>Sets an object's slot with a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for slot to be set.</div></div></div>\n\n", arg:["slotname", "val"], file:"lib/rbx/object.fy", lines:[39, 48]}, "let:be:":{doc:"<p>Forward to message let:be:in:ensuring:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["var_name", "value"], file:"lib/object.fy", lines:[698, 734]}, ":++":{doc:"<p>Returns the <code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.\nCalls to_s on <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> and concatenates the results to a new <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other object to concatenate its <code data-lang=\"fancy\">String</code> value with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">String</code> values of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[7, 17]}, "and:":{doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[180, 196]}, "let:be:in:ensuring:":{doc:"<p>Dynamically rebinds <code data-lang=\"fancy\">var_name</code> as dynamic variable with <code data-lang=\"fancy\">value</code> as the value within <code data-lang=\"fancy\">block</code>.\nExceptions raised within <code data-lang=\"fancy\">ensure_block</code> are ignored.\nThose raised in <code data-lang=\"fancy\">block</code> will be reraised up the callstack.</p>\n\n<p>Example:</p>\n\n<pre><code> File write: \"/tmp/output.txt\" with: |f| {\n let: '*stdout* be: f in: {\n \"hello, world!\" println # writes it to file not STDOUT\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">var_name&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code> that represents the name of the dynamic variable to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for the variable.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in which <code data-lang=\"fancy\">var_name</code> will be dynamically bound to <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">ensure_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be always called, even when <code data-lang=\"fancy\">block</code> raised an exception.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Returns <code data-lang=\"fancy\">value</div></div></div></code>\n\n", arg:["var_name", "value", "block", "ensure_block"], file:"lib/object.fy", lines:[699, 734]}, "or:":{doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[198, 214]}, "get_slot:":{doc:"<p>Returns the value of a slot of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to get the value of.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Value of slot with name <code data-lang=\"fancy\">slotname</code>.</div></div></div>\n\n", arg:["slotname"], file:"lib/rbx/object.fy", lines:[50, 59]}, ":to_hash":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> representation of <code data-lang=\"fancy\">self</code> based on slot values.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[143, 153]}, "xor:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if only one of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> is true, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[216, 227]}, "let:be:in:":{doc:"<p>Forward to message let:be:in:ensuring:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["var_name", "value", "block"], file:"lib/object.fy", lines:[698, 734]}, "define_singleton_method:with:":{doc:"<p>Dynamically defines a method on <code data-lang=\"fancy\">self's</code> metaclass (a singleton method) using a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;</code> </label><div>Name of the method to be defined on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the method's body.</div></div></div>\n\n", arg:["name", "block"], file:"lib/rbx/object.fy", lines:[61, 70]}, ":&&":{doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[180, 196]}, ":die!":{doc:"<p>Tells an object to let its actor to die (quit running).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[512, 518]}, "sleep:":{doc:"<p>Sets the current Thread (in which self is running) for a given amount to sleep.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">seconds</code> </label><div>Amount of seconds to sleep.</div></div></div>\n\n", arg:["seconds"], file:"lib/object.fy", lines:[689, 697]}, ":<=>":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other object to compare against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>-1 if <code data-lang=\"fancy\">self</code> is smaller, 0 if <code data-lang=\"fancy\">self</code> is equal or 1 if <code data-lang=\"fancy\">self</code> is greater or equal compared to <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[622, 631]}, "undefine_singleton_method:":{doc:"<p>Undefines a singleton method of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be undefined no <code data-lang=\"fancy\">self's</code> metaclass.</div></div></div>\n\n", arg:["name"], file:"lib/rbx/object.fy", lines:[72, 80]}, ":||":{doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[198, 214]}, "while:do:else:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as condition for while loop.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called while <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">true</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">alternative</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">body</code> never got called (<code data-lang=\"fancy\">condition</code> never yielded <code data-lang=\"fancy\">true</code>).</div></div></div>\n\n", arg:["condition", "body", "alternative"], file:"lib/object.fy", lines:[259, 267]}, ":println":{doc:"<p>Same as:\n<em>stdout</em> println: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>, followed by a newline.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[29, 38]}, "with_output_to:do:":{doc:"<p>Opens <code data-lang=\"fancy\">filename</code> and rebinds <code>*stdout*</code> to it within <code data-lang=\"fancy\">block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> with_output_to: \"/tmp/hello_world.txt\" do: {\n \"hello\" println\n \"world\" println\n }\n</code></pre>\n\n<p>This writes</p>\n\n<pre><code> hello\n world\n</code></pre>\n\n<p>to /tmp/hello_world.txt</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of file to write to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed with *stdout* being bound to the output file.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/object.fy", lines:[736, 757]}, "is_a?:":{doc:"<p>Indicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to check for if <code data-lang=\"fancy\">self</code> is an instance of.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is an instance of <code data-lang=\"fancy\">class</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["class"], file:"lib/rbx/object.fy", lines:[82, 91]}, ":does":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"PositiveMatcher\" class=\"class-ref selectable\">PositiveMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[442, 448]}, "kind_of?:":{doc:"<p>Same as Object#is_a?:\nIndicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["class"], file:"lib/rbx/object.fy", lines:[93, 100]}, "until:do:":{doc:"<p>Same as:\ncond_block until_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond_block", "body_block"], file:"lib/object.fy", lines:[269, 276]}, ":is_not":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code> for self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[465, 471]}, "receive_message:":{doc:"<p>Dynamically sends a given message (without parameters) to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div></div>\n\n", arg:["message"], file:"lib/rbx/object.fy", lines:[102, 110]}, ":fancy_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class methods defined in Fancy.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[759, 765]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> represenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/object.fy", lines:[31, 37]}, ":nil?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[110, 116]}, "do:while:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a true-ish value.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block</code>@ should be called again.</div></div></div>\n\n", arg:["body_block", "cond_block"], file:"lib/object.fy", lines:[278, 286]}, "yield:":{doc:"<p>Same as Fiber##yield:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["values"], file:"lib/object.fy", lines:[428, 434]}, "require:":{doc:"<p>Loads and evaluates a given Fancy source file by trying to find the specified\nRelative paths are allowed (and by default expected).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">file_path</code> </label><div>in Fancy's loadpath (see <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy CodeLoader\" class=\"class-ref selectable\">CodeLoader</code>).</div></div></div>\n\n", arg:["file_path"], file:"lib/rbx/object.fy", lines:[12, 19]}, "receive_message:with_params:":{doc:"<p>Dynamically sends a given message with parameters to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters used with <code data-lang=\"fancy\">message</code>.</div></div></div>\n\n", arg:["message", "params"], file:"lib/rbx/object.fy", lines:[112, 121]}, "if:then:else:":{doc:"<p>Same as:\ncond if_true: then_block else: else_block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "then_block", "else_block"], file:"lib/object.fy", lines:[241, 248]}, "responds_to?:":{doc:"<p>Indicates if an object responds to a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>The message to check for (preferably a Symbol).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> responds to <code data-lang=\"fancy\">message</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["message"], file:"lib/rbx/object.fy", lines:[123, 132]}, "if:then:":{doc:"<p>Same as:\ncond if_true: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block"], file:"lib/object.fy", lines:[232, 239]}, "do:until:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a false-ish value.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block</code>@ should be called again.</div></div></div>\n\n", arg:["body_block", "cond_block"], file:"lib/object.fy", lines:[288, 296]}, ":yield":{doc:"<p>Same as Fiber##yield.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[420, 426]}, ":actor":{doc:"<p>Returns the Object's actor.\nIf none exists at this moment, a new one will be created\nand starts running in the background.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[520, 528]}, ":ruby_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class methods defined in Ruby.</div></div></div>\n\n", arg:[], file:"lib/object.fy", lines:[767, 773]}, "extend:":{doc:"<p>Extends <code data-lang=\"fancy\">self</code> with the methods in <code data-lang=\"fancy\">class</code> (by including its methods in <code data-lang=\"fancy\">self's</code> metaclass).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to extend <code data-lang=\"fancy\">self</code> with.</div></div></div>\n\n", arg:["class"], file:"lib/rbx/object.fy", lines:[134, 142]}, "loop:":{doc:"<p>Infinitely calls the block (loops).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called endlessly (loop).</div></div></div>\n\n", arg:["block"], file:"lib/object.fy", lines:[19, 27]}, "unless:do:":{doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block"], file:"lib/object.fy", lines:[298, 305]}, "send_future:":{doc:"<p>Forward to message send_future:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["message"], file:"lib/object.fy", lines:[529, 540]}, ":><":{doc:"<p>Shorthand for: <code>MatchAny new: self with: other</code></p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to create a <code data-lang=\"fancy\" data-class-ref=\"MatchAny\" class=\"class-ref selectable\">MatchAny</code> matcher with.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[775, 783]}, "lambda:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the lambda's body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Proc\" class=\"class-ref selectable\">Proc</code> with Ruby's lambda semantics (e.g. <code data-lang=\"fancy\">return</code> always becomes <code data-lang=\"fancy\">return_local</code>)</div></div></div>\n\n", arg:["block"], file:"lib/rbx/object.fy", lines:[144, 151]}, "unless:do:else:":{doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block", "else_block"], file:"lib/object.fy", lines:[307, 314]}, "send_future:with_params:":{doc:"<p>Creates a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object (a Future / Promise) that will hold the value of sending <code data-lang=\"fancy\">message</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent as a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters of the <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object that will hold the return value of <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["message", "params"], file:"lib/object.fy", lines:[530, 540]}, "do:":{doc:"<p>Helper method that calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> as the receiver.\nThis allows message cascading like code, e.g.:</p>\n\n<pre><code> some_complex_object do: {\n method_1: arg1\n method_2: arg2\n method_3: arg3\n }\n\n # this is the same as:\n some_complex_object method_1: arg1\n some_complex_object method_2: arg2\n some_complex_object method_3: arg3\n</code></pre>\n\n<p>If you pass it a block with 1 argument this method behaves exactly like <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"tap:\" data-owner-class=\"Object\" class=\"singleton-method-ref selectable\">tap:</code></p>\n\n<p>Example:</p>\n\n<pre><code> some_complex_object do: @{\n method_1: arg1\n method_2: arg2\n method_3: arg3\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called in the context of <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/object.fy", lines:[633, 667]}, ":print":{doc:"<p>Same as:\n<em>stdout</em> print: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/object.fy", lines:[40, 49]}, "unless:then:":{doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block"], file:"lib/object.fy", lines:[298, 305]}, "if_true:":{doc:"<p>Calls the <code data-lang=\"fancy\">block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/object.fy", lines:[62, 71]}, "unless:then:else:":{doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block", "else_block"], file:"lib/object.fy", lines:[307, 314]}, ":<>":{doc:"<p>Shorthand for: <code>MatchAll new: self with: other</code></p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to create a <code data-lang=\"fancy\" data-class-ref=\"MatchAll\" class=\"class-ref selectable\">MatchAll</code> matcher with.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[785, 793]}, ":!=":{doc:"<p>Indicates, if two objects are not equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other object to compare against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is not equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/object.fy", lines:[51, 60]}, "if_true:else:":{doc:"<p>Calls the <code data-lang=\"fancy\">then_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], file:"lib/object.fy", lines:[73, 84]}, "method:":{doc:"<p>Returns the method with a given name for self, if defined.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with <code data-lang=\"fancy\">method_name</code> defined for <code data-lang=\"fancy\">self</code>, or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["method_name"], file:"lib/object.fy", lines:[319, 326]}, "send_async:":{doc:"<p>Forward to message send_async:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["message"], file:"lib/object.fy", lines:[541, 553]}}, methods:{}, ancestors:["Object", "Kernel", "BasicObject"]}, "Class":{doc:"<p>This class is the class of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> objects - e.g. <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>, <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>,\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> etc.\nAny class in the language is an instance of this class, as in Ruby\nor Smalltalk.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":inspect":{doc:"<p>Example:</p>\n\n<pre><code> Fixnum inspect # =&gt; \"Fixnum : Integer\"\n Object inspect # =&gt; \"Object\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of class and its superclass as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/class.fy", lines:[327, 341]}, "expects_interface_on_inclusion:":{doc:"<p>Declares a required interface (collection of method signatures) an including class has to provide.</p>\n\n<p>Example:</p>\n\n<pre><code> class Enumerable {\n expects_interface_on_inclusion: ['each:]\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures to expect on inclusion into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[21, 34]}, "private:":{doc:"<p>Sets any given method names to private on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyClass {\n def foo {}\n def bar {}\n\n private: 'foo\n private: 'bar\n\n # same as:\n private: ('foo, 'bar)\n\n # same as:\n private: {\n def foo {}\n def bar {}\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">private_methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be private.</div></div></div>\n\n", arg:["private_methods"], file:"lib/class.fy", lines:[15, 47]}, "provides_interface?:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures (an interface) to check for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if all methods in <code data-lang=\"fancy\">methods</code> are provided by <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[53, 61]}, "expects_interface:":{doc:"<p>Declares a required interface (collection of method signatures) an including class has to provide.</p>\n\n<p>Example:</p>\n\n<pre><code> class Enumerable {\n expects_interface_on_inclusion: ['each:]\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures to expect on inclusion into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[21, 34]}, ":methods":{doc:"<p>Forward to message methods:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/class.fy", lines:[197, 205]}, "instance_method:":{doc:"<p>Returns an instance method for a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;&nbsp;</code> </label><div>Name of the instance method to return.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The instance <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with the given <code data-lang=\"fancy\">name</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["name"], file:"lib/rbx/class.fy", lines:[125, 134]}, "protected:":{doc:"<p>Sets any given method names to protected on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyClass {\n def foo {}\n def bar {}\n\n protected: 'foo\n protected: 'bar\n\n # same as:\n protected: ('foo, 'bar)\n\n # same as:\n protected: {\n def foo {}\n def bar {}\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">protected_methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be protected.</div></div></div>\n\n", arg:["protected_methods"], file:"lib/class.fy", lines:[49, 81]}, "before_method:run:":{doc:"<p>Runs / Calls <code data-lang=\"fancy\">block_or_method</code> everytime before running <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> Array before_method: 'inspect run: 'compact!\n [1, nil, 2, nil, 3] inspect # =&gt; \"[1, 2, 3]\"\n\n # Or pass a Block:\n Array before_method: 'inspect run: @{ compact! }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to run another <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> before, when called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block_or_method_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or name of other <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to be called before <code data-lang=\"fancy\">method_name</code>.</div></div></div>\n\n", arg:["method_name", "block_or_method_name"], file:"lib/class.fy", lines:[369, 385]}, "define_calling_chain:for_method:":{doc:"<p>Example:</p>\n\n<pre><code> class Foo {\n def foo { 'foo println }\n def bar { 'bar println }\n def baz { 'baz println }\n\n define_calling_chain: ['foo, 'bar, 'baz] for_method: 'foo\n }\n\n Foo new foo\n # prints:\n # foo\n # bar\n # baz\n\n # You can also pass in Blocks:\n Foo define_calling_chain: [@{ foo }, @{ bar }, @{ baz }] for_method: 'bar\n\n Foo new bar\n # prints:\n # foo\n # bar\n # baz\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">blocks_or_method_names</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of either method names or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s to be called in order.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of method to define calling chain for.</div></div></div>\n\n", arg:["blocks_or_method_names", "method_name"], file:"lib/class.fy", lines:[442, 511]}, "missing_methods_for_interface:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures to check.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Collection of methods in <code data-lang=\"fancy\">methods</code> this class doesn't provide.</div></div></div>\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[63, 71]}, ":instance_methods":{doc:"<p>Forward to message instance_methods:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/class.fy", lines:[188, 196]}, "rebind_instance_method:with:within:receiver:":{doc:"<p>Rebinds <code data-lang=\"fancy\">method_name</code> to <code data-lang=\"fancy\">rebind_callable</code> within <code data-lang=\"fancy\">within_block</code>.\nIf <code data-lang=\"fancy\">within_block</code> takes an argument, it will be called with <code data-lang=\"fancy\">receiver</code> (defaults to <code data-lang=\"fancy\">self</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of instance method to rebind in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">rebind_callable</code> </label><div>Name of method or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to rebind <code data-lang=\"fancy\">method_name</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">within_block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">receiver</code> or <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Argument to <code data-lang=\"fancy\">within_block</code>. Defaults to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">within_block</code> with <code data-lang=\"fancy\">receiver</code>.</div></div></div>\n\n", arg:["method_name", "rebind_callable", "within_block", "receiver"], file:"lib/class.fy", lines:[536, 567]}, "instance_methods:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">include_superclasses?</code> </label><div>Boolean indicating if instance methods of all superclasses should be included (defaults to <code data-lang=\"fancy\">true</code>).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance method names for this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["include_superclasses?"], file:"lib/rbx/class.fy", lines:[189, 196]}, "after_method:run:":{doc:"<p>Runs / Calls <code data-lang=\"fancy\">block_or_method_name</code> everytime after running <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> Array after_method: 'inspect run: 'compact!\n x = [1, nil, 2, nil, 3]\n x inspect # =&gt; \"[1, nil, 2, nil, 3]\"\n x inspect # =&gt; \"[1, 2, 3]\"\n\n # Or pass a Block:\n Array after_method: 'inspect run: @{ compact! }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to run another <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> after, when called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block_or_method_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or name of other <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to be called after <code data-lang=\"fancy\">method_name</code>.</div></div></div>\n\n", arg:["method_name", "block_or_method_name"], file:"lib/class.fy", lines:[387, 405]}, "around_method:run:":{doc:"<p>Runs / Calls <code data-lang=\"fancy\">block_or_method_name</code> everytime before &amp; after running <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyController {\n def do_stuff {\n \"Doing stuff\" println\n }\n\n def log_data {\n \"Log data\" println\n }\n\n around_method: 'do_stuff run: 'log_data\n }\n\n controller = MyController new\n controller do_stuff\n\n # which will print:\n # Log data\n # Doing stuff\n # Log data\n\n # Or pass a Block:\n MyController around_method: 'do_stuff run: { \"Log data\" println }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to run another <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> before & after, when called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block_or_method_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or name of other <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to be called before & after <code data-lang=\"fancy\">method_name</code>.</div></div></div>\n\n", arg:["method_name", "block_or_method_name"], file:"lib/class.fy", lines:[407, 440]}, "methods:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">include_superclasses?</code> </label><div>Boolean indicating if methods of all superclasses should be included (defaults to <code data-lang=\"fancy\">true</code>).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class method names for this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["include_superclasses?"], file:"lib/rbx/class.fy", lines:[198, 205]}, "read_write_slots:":{doc:"<p>Defines slot reader &amp; writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter & setter methods for.</div></div></div>\n\n", arg:["slots"], file:"lib/class.fy", lines:[193, 204]}, ":initialize":{doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> set as superclass (default superclass).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/class.fy", lines:[43, 48]}, ":forwards_unary_ruby_methods":{doc:"<p>Creates ruby_alias methods for any unary ruby methods of a class.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/class.fy", lines:[207, 219]}, "__private__:":{doc:"<p>Sets any given method names to private on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to private in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["method_names"], file:"lib/rbx/class.fy", lines:[167, 176]}, "remove_slot_accessors_for:":{doc:"<p>Removes both reader and writer methods for slots in <code data-lang=\"fancy\">slotnames</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotnames</code> </label><div>Name of slot or <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to remove accessor methods for.</div></div></div>\n\n", arg:["slotnames"], file:"lib/class.fy", lines:[234, 249]}, "class_eval:":{doc:"<p>Evaluates a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> of Fancy code or a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in the class context of <code data-lang=\"fancy\">self</code>.\nUseful for dynamically defining methods on a class etc.</p>\n\n<p>Example:</p>\n\n<pre><code> Array class_eval: \"def foo { 'foo println }\"\n [1,2,3] foo # =&gt; prints 'foo\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str_or_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be evaluated in the context of this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["str_or_block"], file:"lib/rbx/class.fy", lines:[221, 237]}, "__protected__:":{doc:"<p>Sets any given method names to protected on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to protected in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["method_names"], file:"lib/rbx/class.fy", lines:[178, 187]}, "alias_method:for:":{doc:"<p>Defines an alias method for another method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_method_name</code> </label><div>New method name to be used as an alias for <code data-lang=\"fancy\">old_method_name</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_method_name</code> </label><div>Name of method to alias (must exist in the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>).</div></div></div>\n\n", arg:["new_method_name", "old_method_name"], file:"lib/class.fy", lines:[269, 278]}, "__public__:":{doc:"<p>Sets any given method names to public on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to public in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["method_names"], file:"lib/rbx/class.fy", lines:[156, 165]}, "expose_to_ruby:":{doc:"<p>Forward to message expose_to_ruby:as:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["method_name"], file:"lib/rbx/class.fy", lines:[238, 264]}, ":new":{doc:"<p>Creates a new instance of <code data-lang=\"fancy\">self</code> calling <code data-lang=\"fancy\">initialize</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new instance of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/class.fy", lines:[4, 14]}, "expose_to_ruby:as:":{doc:"<p>Explicitly exposes a Fancy method to Ruby. If <code data-lang=\"fancy\">ruby_method_name</code> is\npassed, use that name explicitly, otherwise uses <code data-lang=\"fancy\">method_name</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class Foo {\n def === other {\n # ...\n }\n\n expose_to_ruby: '===\n\n # if you don't want to expose it as :=== in Ruby:\n expose_to_ruby: '=== as: 'some_other_name_for_ruby\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Fancy method name to be exposed.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">ruby_method_name</code> </label><div>Name of method exposed to Ruby (optional).</div></div></div>\n\n", arg:["method_name", "ruby_method_name"], file:"lib/rbx/class.fy", lines:[239, 264]}, "define_slot_reader:":{doc:"<p>Defines a slot reader method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count {\n get_slot: 'count\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to define a getter method for.</div></div></div>\n\n", arg:["slotname"], file:"lib/class.fy", lines:[117, 131]}, "define_slot_writer:":{doc:"<p>Defines a slot writer method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count: c {\n set_slot: 'count value: c\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to defnie define a setter method for.</div></div></div>\n\n", arg:["slotname"], file:"lib/class.fy", lines:[133, 147]}, "new:":{doc:"<p>Creates a new instance of <code data-lang=\"fancy\">self</code> calling <code data-lang=\"fancy\">initialize:</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arg&nbsp;&nbsp;&nbsp;</code> </label><div>Argument to <code data-lang=\"fancy\">initialize:</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new instance of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["arg"], file:"lib/rbx/class.fy", lines:[17, 28]}, "read_slots:":{doc:"<p>Defines slot reader methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter methods for.</div></div></div>\n\n", arg:["slots"], file:"lib/class.fy", lines:[149, 159]}, "read_slot:":{doc:"<p>Defines a slot reader method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a getter method for.</div></div></div>\n\n", arg:["slotname"], file:"lib/class.fy", lines:[161, 169]}, "included:":{doc:"<p>Default include hook. Make sure to call this via <code>super included: class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to be included in <code data-lang=\"fancy\">self</code>. Checks possible interface requirements.</div></div></div>\n\n", arg:["class"], file:"lib/contracts.fy", lines:[73, 88]}, "write_slots:":{doc:"<p>Defines slot writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define setter methods for.</div></div></div>\n\n", arg:["slots"], file:"lib/class.fy", lines:[171, 181]}, "define_method:with:":{doc:"<p>Defines an instance method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name and\nbody.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;</code> </label><div>Name of the method to be defined.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the method's body.</div></div></div>\n\n", arg:["name", "block"], file:"lib/rbx/class.fy", lines:[57, 70]}, "define_class_method:with:":{doc:"<p>Defines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> (a singleton method) with a\ngiven name and body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name&nbsp;</code> </label><div>Name of the class method to be defined.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the class methods body.</div></div></div>\n\n", arg:["name", "block"], file:"lib/rbx/class.fy", lines:[82, 92]}, "write_slot:":{doc:"<p>Defines a slot writer method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a setter method for.</div></div></div>\n\n", arg:["slotname"], file:"lib/class.fy", lines:[183, 191]}, "undefine_class_method:":{doc:"<p>Undefines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the class method to undefine (remove).</div></div></div>\n\n", arg:["name"], file:"lib/rbx/class.fy", lines:[94, 102]}, "read_write_slot:":{doc:"<p>Defines slot reader &amp; writer methods for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define getter & setter methods for.</div></div></div>\n\n", arg:["slotname"], file:"lib/class.fy", lines:[206, 215]}, "undefine_method:":{doc:"<p>Undefines an instance method on a Class with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to undefine (remove) from a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["name"], file:"lib/rbx/class.fy", lines:[72, 80]}, "subclass:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\">self</code> as superclass and the given body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used as the body of the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["body_block"], file:"lib/rbx/class.fy", lines:[104, 113]}, "lazy_slot:value:":{doc:"<p>Defines a lazy getter for <code data-lang=\"fancy\">slotname</code> that yields the result of calling <code data-lang=\"fancy\">block</code> and caches it in <code data-lang=\"fancy\">slotname</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be lazily set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div>will be called with <code data-lang=\"fancy\">self</code> as the implicit receiver, so other slots can be used within <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["slotname", "block"], file:"lib/class.fy", lines:[217, 232]}, ":nested_classes":{doc:"<p>Returns all the nested classes within a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all nested classes for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/class.fy", lines:[115, 123]}, "subclass?:":{doc:"<p>Indicates, if a Class is a subclass of another Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class_obj</code> </label><div>Class object to check for, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["class_obj"], file:"lib/class.fy", lines:[251, 267]}, "initialize:":{doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a superclass.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["superclass"], file:"lib/rbx/class.fy", lines:[50, 55]}, "delegate:to_slot:":{doc:"<p>Example:</p>\n\n<pre><code> class MyClass {\n delegate: ('to_s, 'inspect) to_slot: 'my_slot\n def initialize: @my_slot\n }\n\n m = MyClass new: [1, 2, 3]\n m to_s # =&gt; \"123\"\n m inspect # =&gt; \"[1, 2, 3]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be delegated.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to delegate <code data-lang=\"fancy\">methods</code> to.</div></div></div>\n\n", arg:["methods", "slotname"], file:"lib/class.fy", lines:[280, 325]}, "rebind_instance_method:with:within:":{doc:"<p>Forward to message rebind_instance_method:with:within:receiver:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["method_name", "rebind_callable", "within_block"], file:"lib/class.fy", lines:[535, 567]}, "alias_method_rbx:for:":{doc:"<p>Rbx specific version of alias_method:for: due to bootstrap order\nreasons. Should not be used directly.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["new_method_name", "old_method_name"], file:"lib/rbx/class.fy", lines:[140, 147]}, ":fancy_instance_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance methods defined in Fancy.</div></div></div>\n\n", arg:[], file:"lib/class.fy", lines:[343, 349]}, "alias_method:for_ruby:":{doc:"<p>Creates a method alias for a Ruby method.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["new_method_name", "ruby_method_name"], file:"lib/rbx/class.fy", lines:[149, 154]}, ":ruby_instance_methods":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance methods defined in Ruby.</div></div></div>\n\n", arg:[], file:"lib/class.fy", lines:[351, 357]}, "provides_interface:":{doc:"<p>Example:</p>\n\n<pre><code> class MyCollection {\n # you can skip this if you actually define each: before you include Fancy Enumerable.\n provides_interface: ['each]\n includes: Fancy Enumerable\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div>Collection of method signatures this class explicitly declares to provide.</div></div></div>\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[38, 51]}, "public:":{doc:"<p>Sets any given method names to public on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> class MyClass {\n def foo {}\n def bar {}\n\n public: 'foo\n public: 'bar\n\n # same as:\n public: ('foo, 'bar)\n\n # same as:\n public: {\n def foo {}\n def bar {}\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">public_methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be public.</div></div></div>\n\n", arg:["public_methods"], file:"lib/class.fy", lines:[83, 115]}}, methods:{"superclass:body:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> by subclassing <code data-lang=\"fancy\">superclass</code> and\nusing <code data-lang=\"fancy\">body_block</code> as its body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">superclass</code> </label><div>The superclass to inherit from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the body of the new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">superclass</code>.</div></div></div>\n\n", arg:["superclass", "body_block"], file:"lib/rbx/class.fy", lines:[30, 41]}}, ancestors:["Class", "Module", "Object", "Kernel", "BasicObject"]}, "TrueClass":{doc:"<p>TrueClass. The class of the singleton <code data-lang=\"fancy\">true</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/true_class.fy", lines:[47, 53]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/true_class.fy", lines:[47, 53]}, ":not":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], file:"lib/true_class.fy", lines:[65, 71]}, "if_true:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/true_class.fy", lines:[16, 25]}, "if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], file:"lib/true_class.fy", lines:[27, 37]}, ":true?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], file:"lib/true_class.fy", lines:[39, 45]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], file:"lib/true_class.fy", lines:[57, 63]}}, methods:{":new":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], file:"lib/true_class.fy", lines:[6, 14]}}, ancestors:["TrueClass", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "NilClass":{doc:"<p>NilClass. The class of the singleton <code data-lang=\"fancy\">nil</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":nil?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[56, 62]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[64, 70]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[98, 104]}, ":to_hash":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[82, 88]}, ":not":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[90, 96]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[74, 80]}, "if_nil:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/nil_class.fy", lines:[33, 42]}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], file:"lib/nil_class.fy", lines:[44, 54]}, "if_true:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["block"], file:"lib/nil_class.fy", lines:[16, 22]}, "if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], file:"lib/nil_class.fy", lines:[24, 31]}}, methods:{":new":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:[], file:"lib/nil_class.fy", lines:[6, 14]}}, ancestors:["NilClass", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "FalseClass":{doc:"<p>FalseClass. The class of the singleton <code data-lang=\"fancy\">false</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"if_nil:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["then_block"], file:"lib/false_class.fy", lines:[44, 50]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/false_class.fy", lines:[68, 74]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/false_class.fy", lines:[68, 74]}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["then_block", "else_block"], file:"lib/false_class.fy", lines:[52, 58]}, ":not":{doc:"<p>Boolean negation of <code data-lang=\"fancy\">false</code> => <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</div></div></div></code>\n\n", arg:[], file:"lib/false_class.fy", lines:[86, 94]}, "if_true:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["block"], file:"lib/false_class.fy", lines:[12, 18]}, "if_false:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/false_class.fy", lines:[28, 34]}, ":false?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], file:"lib/false_class.fy", lines:[60, 66]}, "if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["then_block", "else_block"], file:"lib/false_class.fy", lines:[20, 26]}, "if_false:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["then_block", "else_block"], file:"lib/false_class.fy", lines:[36, 42]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], file:"lib/false_class.fy", lines:[78, 84]}}, methods:{}, ancestors:["FalseClass", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "Fancy Enumerable":{doc:"<p>Mixin-Class with useful methods for collections that implement an <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> method.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":third":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The third element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[57, 63]}, ":last":{doc:"<p>Returns the last element in a <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Last element in <code data-lang=\"fancy\">self</code> or <code data-lang=\"fancy\">nil</code>, if empty.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[73, 85]}, "for_every:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">item</code> for each occurance of <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> count = 0\n [1,2,3,2,1] for_every: 1 do: { count = count + 1 }\n # count is now 2\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;</code> </label><div>Item to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">item</code> for every occurance of <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[291, 307]}, "reduce:init_val:":{doc:"<p>Calculates a value based on a given block to be called on an accumulator\nvalue and an initial value.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] reduce: |sum val| { sum + val } init_val: 0 # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["block", "init_val"], file:"lib/enumerable.fy", lines:[533, 547]}, ":size":{doc:"<p>Returns the size of an Enumerable.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[580, 592]}, "to_hash:":{doc:"<p>Example:</p>\n\n<pre><code> [\"foo\", \\\xE2\x80\x9Dhello\", \"ok\", \"\"] to_hash: @{ size }\n # =&gt; &lt;[3 =&gt; \"foo\", 5 =&gt; \"hello\", 2 =&gt; \"ok\", 0 =&gt; \"\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to get the key for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key/value pairs based on values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[935, 951]}, "at:":{doc:"<p>Example:</p>\n\n<pre><code> \"foo\\\xE2\x80\x9D at: 2 # =&gt; \"o\"\n \"foo\\\xE2\x80\x9D at: 3 # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">index&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> that is the 0-based index into <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value in <code data-lang=\"fancy\">self</code> at 0-based position defined by <code data-lang=\"fancy\">index</code>.</div></div></div>\n\n", arg:["index"], file:"lib/enumerable.fy", lines:[9, 23]}, ":fourth":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The fourth element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[65, 71]}, "last_index_of:":{doc:"<p>Returns the last index for <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>, or <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">item</code> is not in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item for which the last index in <code data-lang=\"fancy\">self</code> should be found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Last index of <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>, or <code data-lang=\"fancy\">nil</code> (if not in <code data-lang=\"fancy\">self</code>).</div></div></div>\n\n", arg:["item"], file:"lib/enumerable.fy", lines:[309, 320]}, "map_with_index:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element and its index in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element and its index in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[350, 363]}, "take_while:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by taking elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] take_while: |x| { x &lt; 4 } # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a condition for filtering.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all elements from the beginning until <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[436, 457]}, ":compact":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all values removed that are <code data-lang=\"fancy\">nil</code> ( return <code data-lang=\"fancy\">true</code> on <code data-lang=\"fancy\">nil?</code> ).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,nil,3,nil] compact # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all non-nil elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[604, 615]}, ":min":{doc:"<p>Returns the minimum value in the Enumerable (via the '&lt;' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[674, 682]}, ":sum":{doc:"<p>Calculates the sum of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing '+' &amp; '*')).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[735, 742]}, "reverse_each:":{doc:"<p>Runs <code data-lang=\"fancy\">block</code> for each element on reversed version of self.\nIf <code data-lang=\"fancy\">self</code> is not a sorted collection, no guarantees about the reverse order can be given.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in reverse order.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[953, 963]}, ":first":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[41, 47]}, "join_by:":{doc:"<p>Works similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"inject:into:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">inject:into:</code> but uses first element as value injected.</p>\n\n<p>Example:</p>\n\n<pre><code> (1,2,3) join_by: '+ # =&gt; same as: (2,3) inject: 1 into: '+\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called pair-wise to produce a single value.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Result of calling <code data-lang=\"fancy\">block</code> pairwise (similar to using <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"reduce:into:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">reduce:into:</code>).</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[181, 194]}, "drop_while:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"take_while:\" class=\"selectable\">take_while:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by skipping elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop_while: |x| { x &lt; 4 } # =&gt; [4,5]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[459, 485]}, "drop:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[503, 517]}, ":product":{doc:"<p>Calculates the product of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing <code data-lang=\"fancy\">+</code> &amp; <code data-lang=\"fancy\">*</code>)).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[744, 751]}, "count:":{doc:"<p>Example:</p>\n\n<pre><code> (0..10) count: @{ even? } # =&gt; 6 (even numbers are: 0,2,4,6,8,10)\n [1,2,3] count: @{ odd? } # =&gt; 2\n [1,2, \"foo\"] count: @{ class == String } # =&gt; 1\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with each element.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> that is the amount of elements in <code data-lang=\"fancy\">self</code> for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[965, 981]}, "first:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3,4) first: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of first elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[95, 109]}, ":empty?":{doc:"<p>Indicates, if the Enumerable is empty (has no elements).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if size of <code data-lang=\"fancy\">self</code> is 0, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[594, 602]}, ":average":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Average value in <code data-lang=\"fancy\">self</code> (expecting <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s or Objects implementing <code data-lang=\"fancy\">+</code> and <code data-lang=\"fancy\">*</code>).</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[753, 760]}, ":sorted?":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) sorted? # =&gt; true\n (2,1,3) sorted? # =&gt; false\n \"abc\" sorted? # =&gt; true\n \"bac\" sorted? # =&gt; false\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is sorted, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[996, 1015]}, "map_chained:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) map_chained: (@{ + 1 }, 'to_s, @{ * 2 })\n # =&gt; [\"22\", \"33\", \"44\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">blocks</code> </label><div>Collection of <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s to be called sequentially for every element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Collection of all values in <code data-lang=\"fancy\">self</code> successively called with all blocks in <code data-lang=\"fancy\">blocks</code>.</div></div></div>\n\n", arg:["blocks"], file:"lib/enumerable.fy", lines:[365, 380]}, "superior_by:":{doc:"<p>Forward to message superior_by:taking:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["comparison_block"], file:"lib/enumerable.fy", lines:[616, 648]}, "partition_by:":{doc:"<p>Example:</p>\n\n<pre><code> (0..10) partition_by: @{ &lt; 3 } # =&gt; [[0, 1, 2], [3, 4, 5, 6, 7, 8, 9, 10]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used to decide when to partition elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s, partitioned by equal return values of calling <code data-lang=\"fancy\">block</code> with each element</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[762, 785]}, "split_at:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] split_at: 2 # =&gt; [[1,2], [3,4,5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">index&nbsp;</code> </label><div>Index at which <code data-lang=\"fancy\">self</code> should be split.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s of elements in self splitted at <code data-lang=\"fancy\">index</code>.</div></div></div>\n\n", arg:["index"], file:"lib/enumerable.fy", lines:[1017, 1027]}, "any?:":{doc:"<p>Indicates, if any element meets the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that is used to check if any element in <code data-lang=\"fancy\">self</code> yields true for it.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">true</code> for any element, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[196, 210]}, ":unique":{doc:"<p>Returns a new Array with all unique values (double entries are skipped).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,1,2,3] unique # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all unique elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[561, 578]}, "split_with:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] split_with: @{ &lt; 3 } # =&gt; [[1, 2], [3, 4, 5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">predicate_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as a predicate on where to split in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s of elements split based on <code data-lang=\"fancy\">predicate_block</code>.</div></div></div>\n\n", arg:["predicate_block"], file:"lib/enumerable.fy", lines:[1029, 1039]}, "each:in_between:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> but calls an additional <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> between\ncalling the first <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for each element in self.</p>\n\n<p>Example:</p>\n\n<pre><code> result = \"\"\n [1,2,3,4,5] each: |i| {\n result &lt;&lt; i\n } in_between: {\n result &lt;&lt; \"-\"\n }\n result # =&gt; \"1-2-3-4-5\"\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["each_block", "between_block"], file:"lib/enumerable.fy", lines:[139, 159]}, "flat_map:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"map:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">map:</code> but returns the result <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> flattened.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[382, 388]}, "superior_by:taking:":{doc:"<p>Returns the superior element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> that has met\nthe given comparison block with all other elements,\napplied to whatever <code data-lang=\"fancy\">selection_block</code> returns for each element.</p>\n\n<p>Examples:</p>\n\n<pre><code> [1,2,5,3,4] superior_by: '&gt; # =&gt; 5\n [1,2,5,3,4] superior_by: '&lt; # =&gt; 1\n [[1,2], [2,3,4], [], [1]] superior_by: '&gt; taking: 'size # =&gt; [2,3,4]\n [[1,2], [2,3,4], [-1]] superior_by: '&lt; taking: 'first # =&gt; [-1]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">comparison_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used for comparison.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">selection_block&nbsp;</code> </label><div>defaults to <code data-lang=\"fancy\">identity</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Superior element in <code data-lang=\"fancy\">self</code> in terms of <code data-lang=\"fancy\">comparison_block</code>.</div></div></div>\n\n", arg:["comparison_block", "selection_block"], file:"lib/enumerable.fy", lines:[617, 648]}, "chunk_by:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"partition_by:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">partition_by:</code> but includes the value of\ncalling <code data-lang=\"fancy\">block</code> with an element within the chunk.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,3,4,5,6,8,10] chunk_by: 'odd?\n # =&gt; [[true, [1,3]], [false, [4]], [true, [5]], [false, [6,8,10]]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to chunk <code data-lang=\"fancy\">self</code> by.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of chunks, each including the return value of calling <code data-lang=\"fancy\">block</code> with elements in the chunk, as well as the elements themselves (within another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>).</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[787, 819]}, ":reverse":{doc:"<p>Returns <code data-lang=\"fancy\">self</code> in reverse order.\nThis only makes sense for collections that have an ordering.\nIn either case, it simply converts <code data-lang=\"fancy\">self</code> to an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> and returns it in reversed order.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> in reverse order.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[911, 921]}, "grep:":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" grep: /[a-h]/ # =&gt; [\"h\", \"e\", \"d\"]\n [\"hello\", \"world\", 1, 2, 3] grep: String # =&gt; [\"hello\", \"world\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Pattern to be filtered by (via <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"===\" data-owner-class=\"Object\" class=\"ruby-singleton-method-ref selectable\">===</code>)</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Elements in <code data-lang=\"fancy\">self</code> for which <code data-lang=\"fancy\">pattern</code> matches.</div></div></div>\n\n", arg:["pattern"], file:"lib/enumerable.fy", lines:[1041, 1052]}, "select_with_index:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements and their indices that meet the given\ncondition block. <code data-lang=\"fancy\">condition</code> is called with each element and its index in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a filter on all elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all elements and their indices in <code data-lang=\"fancy\">self</code> that yield <code data-lang=\"fancy\">true</code> when called with <code data-lang=\"fancy\">condition</code>.</div></div></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[405, 421]}, ":to_s":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) to_s # =&gt; \"123\"\n [1,2,3] to_s # =&gt; \"123\"\n \"foo\" to_s # =&gt; \"foo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> concatenation of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[983, 994]}, "grep:taking:":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" grep: /[a-h]/ taking: @{ upcase } # =&gt; [\"H\", \"E\", \"D\"]\n [\"hello\", \"world\", 1, 2, 3] grep: String taking: 'upcase # =&gt; [\"HELLO\", \"WORLD\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Pattern to be filtered by (via <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"===\" data-owner-class=\"Object\" class=\"ruby-singleton-method-ref selectable\">===</code>)</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element for which <code data-lang=\"fancy\">pattern</code> matches.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>Return values of elements in <code data-lang=\"fancy\">self</code> called with <code data-lang=\"fancy\">block</code> for which <code data-lang=\"fancy\">pattern</code> matches.</div></div></div>\n\n", arg:["pattern", "block"], file:"lib/enumerable.fy", lines:[1054, 1072]}, ":rest":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[87, 93]}, "all?:":{doc:"<p>Takes condition-block and returns <code data-lang=\"fancy\">true</code> if all elements meet it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element until it returns <code data-lang=\"fancy\">false</code> for any one of them.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if all elements in <code data-lang=\"fancy\">self</code> yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">block</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[212, 226]}, "select:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that meet the given condition block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a filter on all elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all elements in <code data-lang=\"fancy\">self</code> that yield <code data-lang=\"fancy\">true</code> when called with <code data-lang=\"fancy\">condition</code>.</div></div></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[390, 403]}, "reject:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"select:\" class=\"selectable\">select:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that don't meet the given condition block.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[423, 434]}, "one?:":{doc:"<p>Example:</p>\n\n<pre><code> (0,1,2) one?: 'odd? # =&gt; true\n (0,1,2) one?: 'even? # =&gt; false\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used to check for a condition expected only once in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code> only once for all elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[1074, 1092]}, ":second":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The second element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[49, 55]}, "last:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3,4) last: 2 # =&gt; [3,4]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of last elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of last <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[111, 126]}, "map:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[335, 348]}, "inject:into:":{doc:"<p>Same as reduce:init_val: but taking the initial value as first\nand the reducing block as second parameter.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] inject: 0 into: |sum val| { sum + val } # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["val", "block"], file:"lib/enumerable.fy", lines:[549, 559]}, "max_by:":{doc:"<p>Returns the maximum value in the Enumerable (via the '>' comparison message).</p>\n\n<p>Example:</p>\n\n<pre><code> [[1,2,3], [1,2], [1]] max_by: @{ size } # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> by which to calculate the maximum value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value in <code data-lang=\"fancy\">self</code> based on <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[660, 672]}, "sort:":{doc:"<p>Sorts a collection by a given comparison block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">comparison_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> taking 2 arguments used to compare elements in a collection.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Sorted <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["comparison_block"], file:"lib/enumerable.fy", lines:[829, 838]}, "join:":{doc:"<p>Joins a collection with a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> between each element, returning a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> \"hello, world\" join: \"-\" # =&gt; \"h-e-l-l-o-,- -w-o-r-l-d\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str&nbsp;&nbsp;&nbsp;</code> </label><div>Value (usually a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) to be used for the joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all elements in <code data-lang=\"fancy\">self</code> interspersed with <code data-lang=\"fancy\">str</code>.</div></div></div>\n\n", arg:["str"], file:"lib/enumerable.fy", lines:[161, 179]}, "find:":{doc:"<p>Returns <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">item</code> (or anything that returns <code data-lang=\"fancy\">true</code> when comparing to <code data-lang=\"fancy\">item</code>) isn't found.\nOtherwise returns that element that is equal to <code data-lang=\"fancy\">item</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item to be found in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element that is equal to <code data-lang=\"fancy\">item</code> or <code data-lang=\"fancy\">nil</code>, if none found.</div></div></div>\n\n", arg:["item"], file:"lib/enumerable.fy", lines:[228, 247]}, "min_by:":{doc:"<p>Returns the minimum value in the Enumerable (via the '&lt;' comparison message).</p>\n\n<p>Example:</p>\n\n<pre><code> [[1,2,3], [1,2], [1]] min_by: @{ size } # =&gt; [1]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> by which to calculate the minimum value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value in <code data-lang=\"fancy\">self</code> based on <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[684, 696]}, "sort_by:":{doc:"<p>Sorts a collection by calling a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with every element\nand using the return values for comparison.</p>\n\n<p>Example:</p>\n\n<pre><code> [\"abc\", \"abcd\", \"ab\", \"a\", \"\"] sort_by: @{ size }\n # =&gt; [\"\", \"a\", \"ab\", \"abc\", \"abcd\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> taking 1 argument used to extract a value to use for comparison.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Sorted <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code> based on <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[840, 856]}, ":to_a":{doc:"<p>Default implementation for converting <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>s into <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[923, 933]}, "none?:":{doc:"<p>Example:</p>\n\n<pre><code> (0,2,4) none?: 'odd? # =&gt; true\n (0,2,5) none?: 'odd? # =&gt; false\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used to check for a condition expected not once in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if none of the elements in <code data-lang=\"fancy\">self</code> called with <code data-lang=\"fancy\">block</code> yield <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[1094, 1105]}, "find_by:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"find:\" class=\"selectable\">find:</code> but takes a block that is called for each element to find it.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[322, 333]}, "take:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4] take: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[487, 501]}, ":min_max":{doc:"<p>If <code data-lang=\"fancy\">self</code> is empty, returns (nil, nil).</p>\n\n<p>Example:</p>\n\n<pre><code> (1,2,3,4) min_max # =&gt; (1, 3)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> of min and max value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[698, 709]}, ":random":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[821, 827]}, "in_groups_of:":{doc:"<p>Example usage:</p>\n\n<pre><code> [1,2,3,4,5] in_groups_of: 3 # =&gt; [[1,2,3],[4,5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size&nbsp;&nbsp;</code> </label><div>Maximum size of each group.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with a max size of <code data-lang=\"fancy\">size</code> (grouped).</div></div></div>\n\n", arg:["size"], file:"lib/enumerable.fy", lines:[858, 888]}, ":join":{doc:"<p>Forward to message join:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[160, 179]}, "find:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">item</code>, if found.\nIf <code data-lang=\"fancy\">item</code> is not in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">block</code> is not called.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;</code> </label><div>Item to find in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">item</code> if found in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[249, 259]}, "skip:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[503, 517]}, "find_with_index:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">item</code> and its index in <code data-lang=\"fancy\">self</code>, if found.\nIf <code data-lang=\"fancy\">item</code> is not in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">block</code> is not called.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;</code> </label><div>Item to find in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">item</code> and its index in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[261, 274]}, ":drop_last":{doc:"<p>Forward to message drop_last:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[520, 531]}, "min_max_by:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each element in <code data-lang=\"fancy\">self</code> to determine min and max values.\nIf <code data-lang=\"fancy\">self</code> is empty, returns (nil, nil).</p>\n\n<p>Example:</p>\n\n<pre><code> (\"a\", \\\xE2\x80\x9Dbc\", \\\xE2\x80\x9Ddef\") min_max_by: 'size # =&gt; (1, 3)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to calculate the min and max value by.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> of min and max value based on <code data-lang=\"fancy\">block</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[711, 733]}, "group_by:":{doc:"<p>Returns the elements grouped by <code data-lang=\"fancy\">block</code> in a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> (the keys being the\nvalue of calling <code data-lang=\"fancy\">block</code> with the elements).</p>\n\n<p>Example:</p>\n\n<pre><code> ('foo, 1, 2, 'bar) group_by: @{ class }\n # =&gt; &lt;[Symbol =&gt; ['foo, 'bar], Fixnum =&gt; [1,2]]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to group elements in <code data-lang=\"fancy\">self</code> by.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with elements in <code data-lang=\"fancy\">self</code> grouped by return value of calling <code data-lang=\"fancy\">block</code> with them.</div></div></div>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[890, 909]}, "each_with_index:":{doc:"<p>Iterate over all elements in <code data-lang=\"fancy\">self</code>.\nCalls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element and its index in the <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[25, 39]}, "includes?:":{doc:"<p>Indicates, if a collection includes a given element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item to check if it's included in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>, otherwise <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:["item"], file:"lib/enumerable.fy", lines:[128, 137]}, "for_every:with_index_do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">item</code> and each of its indexes in <code data-lang=\"fancy\">self</code>, if <code data-lang=\"fancy\">item</code> is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;</code> </label><div>Item to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">item</code> and each of its indexes in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[276, 289]}, "drop_last:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4] drop_last: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to drop from the end.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> without last <code data-lang=\"fancy\">amount</code> elements.</div></div></div>\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[521, 531]}, ":max":{doc:"<p>Returns the maximum value in the Enumerable (via the '>' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/enumerable.fy", lines:[650, 658]}}, methods:{}, ancestors:["Fancy Enumerable", "Object", "Kernel", "BasicObject"]}, "String":{doc:"<p>Strings are sequences of characters and behave as such.\nAll literal Strings within Fancy code are instances of the String\nclass.</p>\n\n<p>They also include <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>, which means you can use all the\ncommon sequence methods on them, like <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"map:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">map:</code>, <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"select:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">select:</code> etc.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"==":{doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", file:"kernel/common/string.rb", lines:[93, 92]}, ":lines":{doc:"<p>Returns the lines of a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the lines in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[114, 122]}, ":uppercase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[725, 730]}, ":lowercase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[286, 291]}, ":++":{doc:"<p>Concatenate <code data-lang=\"fancy\">self</code> with another Object's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation.</p>\n\n<pre><code> \"foo\\\xE2\x80\x9D ++ 42 # =&gt; \\\xE2\x80\x9Dfoo42\\\xE2\x80\x9D\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object to concatenate <code data-lang=\"fancy\">self</code> with as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/string.fy", lines:[31, 41]}, ":whitespace?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> is empty or a single whitespace character.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> consists only of a single whitespace character or is empty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[43, 51]}, ":blank?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> consists only of whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> consists only of whitespace, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[53, 64]}, ":words":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" words # =&gt; [\"hello\", \"world\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the whitespace seperated words in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[84, 93]}, ":[]":{doc:"<p>Given an Array of 2 Numbers, it returns the substring between the given indices.\nIf given a Number, returns the character at that index.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["index"], file:"lib/rbx/string.fy", lines:[18, 30]}, ":skip_leading_indentation":{doc:"<p>Remove leading white space for multi-line strings.\nThis method expects the first character to be an line return.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/string.fy", lines:[141, 156]}, ":characters":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all characters (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[158, 164]}, ":character":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> (byte / ASCII) value of first character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[166, 175]}, "uppercase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[725, 730]}, "relative_path:":{doc:"<p>Example:</p>\n\n<pre><code> __FILE__ relative: \"../foo/bar\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">path&nbsp;&nbsp;</code> </label><div>Relative path to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> path relative to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["path"], file:"lib/string.fy", lines:[189, 199]}, "lowercase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[286, 291]}, ":multiline?":{doc:"<p>Example:</p>\n\n<pre><code> \"foo\n</code></pre>\n\n<p>bar\" multiline? # => true</p>\n\n<pre><code> \"foo bar\" multiline? # =&gt; false\n \"\" multiline? # =&gt; false\n \"\n</code></pre>\n\n<p>\" multiline? # => true</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is a multiline string, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[197, 213]}, "from:to:":{doc:"<p>Returns a Substring from <code data-lang=\"fancy\">from</code> to <code data-lang=\"fancy\">to</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from&nbsp;&nbsp;</code> </label><div>Start index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>End index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Substring starting at index <code data-lang=\"fancy\">from</code> and ending at <code data-lang=\"fancy\">to</code>.</div></div></div>\n\n", arg:["from", "to"], file:"lib/rbx/string.fy", lines:[32, 42]}, ":main?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is the filename of the script that got executed initially.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[215, 221]}, "if_main:":{doc:"<p>Forward to message if_main:else:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["main_block"], file:"lib/string.fy", lines:[222, 233]}, "if_main:else:":{doc:"<p>Same as:</p>\n\n<pre><code> if: main? then: else_block else: else_block\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">main_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run if <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> <code data-lang=\"fancy\" data-singleton-method-ref=\":main?\" data-owner-class=\"String\" class=\"singleton-method-ref selectable\">main?</code> returns true.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called otherwise.</div></div></div>\n\n", arg:["main_block", "else_block"], file:"lib/string.fy", lines:[223, 233]}, ":snake_cased":{doc:"<p>Returns a snake cased version of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/string.fy", lines:[235, 243]}, "split:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">String</code> where <code data-lang=\"fancy\">self</code> should be split at.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\">Array</code> of <code data-lang=\"fancy\">String</code> values in <code data-lang=\"fancy\">self</code> that are seperated by <code data-lang=\"fancy\">str</code>.</div></div></div>\n\n", arg:["str"], file:"lib/rbx/string.fy", lines:[63, 69]}, ":==":{doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", file:"kernel/common/string.rb", lines:[93, 92]}, ":split":{doc:"<p>Splits a string by whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">Array</code> of all non-whitespace Substrings in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/string.fy", lines:[71, 78]}, ":camel_cased":{doc:"<p>Returns camel cased version of <code data-lang=\"fancy\">self</code> which is expected\nto be a snake cased <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/string.fy", lines:[245, 252]}, ":eval_global":{doc:"<p>Same as <code data-lang=\"fancy\">String#eval</code> but evaluates <code data-lang=\"fancy\">self</code> in the global binding.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/string.fy", lines:[92, 95]}, "upcase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[725, 730]}, "includes?:":{doc:"<p>Indicates if a given substring is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to be checked if it's in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">substring</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["substring"], file:"lib/rbx/string.fy", lines:[146, 155]}, ":uppercase?":{doc:"<p>Example:\n \"F\" uppercase? # => true\n \"FOO\" uppercase? # => true\n \"f\\\xE2\x80\x9D uppercase? # => false\n \"Foo\" uppercase? # => false</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is completely uppercase, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[254, 267]}, ":lowercase?":{doc:"<p>Example:\n \"f\\\xE2\x80\x9D lowercase? # => true\n \"foo\" lowercase? # => true\n \"F\" lowercase? # => false\n \"Foo\" lowercase? # => false</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is completely lowercase, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[269, 282]}, "at:":{doc:"<p>Returns the character (as a <code data-lang=\"fancy\">String</code>) at index <code data-lang=\"fancy\">idx</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index of the character to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Character in <code data-lang=\"fancy\">self</code> at position <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", arg:["idx"], file:"lib/rbx/string.fy", lines:[53, 61]}, ":<<":{doc:"<p>Appends <code data-lang=\"fancy\">object's</code> <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation to <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> str = \"hello\"\n str &lt;&lt; \" \"\n str &lt;&lt; 42\n str # =&gt; \"hello 42\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> who's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation will be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div></div>\n\n", arg:["object"], file:"lib/string.fy", lines:[124, 139]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\">Block</code> with each character in a <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\">Block</code> to be called for each character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/rbx/string.fy", lines:[44, 51]}, "append:":{doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> onto this <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example usage:\n str = \"hello\"\n str append: \" world!\"\n str # => \"hello world!\"</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">string</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to append on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div></div>\n\n", arg:["string"], file:"lib/rbx/string.fy", lines:[130, 144]}, ":eval":{doc:"<p>Evaluates a <code data-lang=\"fancy\">String</code> in the current <code data-lang=\"fancy\">Binding</code> and returns its value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of evaluating <code data-lang=\"fancy\">self</code> as Fancy code.</div></div></div>\n\n", arg:[], file:"lib/rbx/string.fy", lines:[80, 90]}, "substitute:with:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> or <code data-lang=\"fancy\" data-class-ref=\"Regexp\" class=\"class-ref selectable\">Regexp</code> to be substituted.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">substitution</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to replace <code data-lang=\"fancy\">substring</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> where <code data-lang=\"fancy\">substring</code> is substituted by <code data-lang=\"fancy\">substitution</code>.</div></div></div>\n\n", arg:["substring", "substitution"], file:"lib/rbx/string.fy", lines:[157, 165]}, ":rest":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</p>\n\n<pre><code> \"hello\" rest # =&gt; \"ello\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[103, 112]}, ":upcase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[725, 730]}, ":downcase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[286, 291]}, ":*":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of itself.</p>\n\n<p>Example:</p>\n\n<pre><code> \"foo\" * 3 # =&gt; \"foofoofoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num&nbsp;&nbsp;&nbsp;</code> </label><div>Amount of concatenations to do with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["num"], file:"lib/string.fy", lines:[66, 82]}, "downcase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", file:"kernel/common/string.rb", lines:[286, 291]}, ":raise!":{doc:"<p>Raises a new <code data-lang=\"fancy\" data-class-ref=\"StandardError\" class=\"class-ref selectable\">StandardError</code> with self as the message.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/string.fy", lines:[95, 101]}, ":bytes":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> of all bytes (<code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> values) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/string.fy", lines:[177, 187]}}, methods:{}, ancestors:["String", "Fancy Enumerable", "Object", "BasicObject", "Comparable", "Object", "Kernel", "BasicObject"]}, "Array":{doc:"<p>Array class.\nArrays are dynamically resizable containers with a constant-time\nindex-based access to members.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"reverse_each:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3] reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/array.fy", lines:[114, 128]}, ":>>":{doc:"<p>Returns new Array with elements of other_arr appended to these.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with <code data-lang=\"fancy\">other_arr</code> and <code data-lang=\"fancy\">self</code> appended.</div></div></div>\n\n", arg:["other_arr"], file:"lib/array.fy", lines:[195, 205]}, ":compact!":{doc:"<p>Removes all nil-value elements in place.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:[], file:"lib/array.fy", lines:[228, 237]}, "remove:":{doc:"<p>Removes all occurances of obj in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to be removed within <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, with all occurances of <code data-lang=\"fancy\">obj</code> removed.</div></div></div>\n\n", arg:["obj"], file:"lib/array.fy", lines:[239, 248]}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/array.fy", lines:[294, 300]}, "find:":{doc:"<p>Returns the item, if it's in the Array or nil (if not found).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> / Element to find in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">item</code> if, it's found in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, otherwise <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["item"], file:"lib/array.fy", lines:[147, 162]}, "find_by:":{doc:"<p>Like find: but takes a block that gets called with each element to find it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element, for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], file:"lib/array.fy", lines:[164, 178]}, ":to_hash":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with each key-value pair in <code data-lang=\"fancy\">self</code>.\nExpects values in <code data-lang=\"fancy\">self</code> to be 2-element <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s (used as key-value pairs).</p>\n\n<p>Example:</p>\n\n<pre><code> [[1,2],[3,4]] to_hash # =&gt; &lt;[1 =&gt; 2, 3 =&gt; 4]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/array.fy", lines:[392, 406]}, ":[]":{doc:"<p>Given an <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>s, it returns the sub-array between the given indices.\nIf given a single <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>, returns the element at that index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">index&nbsp;</code> </label><div>Index to get the value for or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of 2 indices used for a sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element(s) stored in <code data-lang=\"fancy\">self</code> at <code data-lang=\"fancy\">index</code>, possibly <code data-lang=\"fancy\">nil</code> or an empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:["index"], file:"lib/array.fy", lines:[72, 87]}, ":println":{doc:"<p>Prints each element on a seperate line.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/array.fy", lines:[263, 270]}, "from:to:":{doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">start</code> </label><div>Start index for sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">end&nbsp;&nbsp;</code> </label><div>End index for sub-array.</div></div></div>\n\n", arg:["start", "end"], file:"lib/array.fy", lines:[370, 390]}, "includes?:":{doc:"<p>Indicates, if an Array includes a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to search for in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">obj</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["obj"], file:"lib/rbx/array.fy", lines:[30, 39]}, ":inspect":{doc:"<p>Returns a pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.\nExample:</p>\n\n<pre><code> [1, 'foo, \"bar\", 42] inspect # =&gt; \"[1, 'foo, \\\"bar\\\", 42]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/array.fy", lines:[272, 288]}, "remove_at:":{doc:"<p>Removes an element at a given index.\nIf given an Array of indices, removes all the elements with these indices.\nReturns the deleted object if an index was given, the last deleted object for an Array given.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["index"], file:"lib/rbx/array.fy", lines:[41, 63]}, "at:":{doc:"<p>Returns the element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> at a given index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index for value to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value with the given index (if available), or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["idx"], file:"lib/rbx/array.fy", lines:[65, 74]}, ":-":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values in <code data-lang=\"fancy\">self</code> that are not in <code data-lang=\"fancy\">other</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4] - [2,4,5] # =&gt; [1,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> to be subtracted from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code> excluding all elements in <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/array.fy", lines:[329, 341]}, "prepend:":{doc:"<p>Prepends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a prepend: [4,5,6]\n a # =&gt; [4,5,6,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arr&nbsp;&nbsp;&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be prepended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["arr"], file:"lib/array.fy", lines:[53, 70]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/array.fy", lines:[98, 112]}, ":=?":{doc:"<p>Compares two Arrays where order does not matter.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to compare this one to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if all elements of <code data-lang=\"fancy\">other</code> are in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/array.fy", lines:[130, 145]}, "values_at:":{doc:"<p>Returns new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with elements at given indices.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of indices.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the items with the given indices in <code data-lang=\"fancy\">idx_arr</code>.</div></div></div>\n\n", arg:["idx_arr"], file:"lib/array.fy", lines:[180, 193]}, "append:":{doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> onto this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a append: [3,4,5]\n a # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arr&nbsp;&nbsp;&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["arr"], file:"lib/array.fy", lines:[34, 51]}, "[]:":{doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Value (object) to be set at the given index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</code>.</div></div></div>\n\n", arg:["idx", "obj"], file:"lib/rbx/array.fy", lines:[78, 88]}, "at:put:":{doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Value (object) to be set at the given index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</code>.</div></div></div>\n\n", arg:["idx", "obj"], file:"lib/rbx/array.fy", lines:[78, 88]}, "select!:":{doc:"<p>Removes all elements in place, that don't meet the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or something <code data-lang=\"fancy\">Callable</code>) for selecting items from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">self</code>, but changed with all elements removed that don't yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">condition</code>.</div></div></div>\n\n", arg:["condition"], file:"lib/array.fy", lines:[207, 217]}, "index:":{doc:"<p>Returns the index of an item (or nil, if it isn't in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>).\nIf <code data-lang=\"fancy\">item</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, it will return the index of an element for which it yields <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item/Value for which the index is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Index of the value passed in within the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, or <code data-lang=\"fancy\">nil</code>, if value not present.</div></div></div>\n\n", arg:["item"], file:"lib/rbx/array.fy", lines:[92, 105]}, ":rest":{doc:"<p>Returns all elements except the first one as a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>All elements in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> after the first one.</div></div></div>\n\n", arg:[], file:"lib/array.fy", lines:[89, 96]}, "reject!:":{doc:"<p>Same as Array#reject: but doing so in-place (destructive).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/array.fy", lines:[219, 226]}, "last:":{doc:"<p>Returns new Array with last n elements specified.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">count&nbsp;</code> </label><div>Number of last elements to get from an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with up to <code data-lang=\"fancy\">count</code> size of last elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["count"], file:"lib/rbx/array.fy", lines:[107, 115]}, "remove_if:":{doc:"<p>Like <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"remove:\" data-owner-class=\"Array\" class=\"singleton-method-ref selectable\">remove:</code>, but taking a condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nRemoves all elements that meet the given condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that indicates, if an element should be removed from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">self</code>, with all elements removed for which <code data-lang=\"fancy\">condition</code> yields true.</div></div></div>\n\n", arg:["condition"], file:"lib/array.fy", lines:[250, 261]}, ":clone":{doc:"<p>Clones (shallow copy) the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A shallow copy of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], file:"lib/array.fy", lines:[20, 32]}, "join:":{doc:"<p>Joins all elements in the Array with a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] join: \", \\\xE2\x80\x9D # =&gt; \\\xE2\x80\x9D1, 2, 3\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">join_str</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> by which to <code data-lang=\"fancy\">join</code> all elements in <code data-lang=\"fancy\">self</code> into a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> with all elements with <code data-lang=\"fancy\">join_str</code>.</div></div></div>\n\n", arg:["join_str"], file:"lib/rbx/array.fy", lines:[117, 129]}, "indices_of:":{doc:"<p>Returns an Array of all indices of this item. Empty Array if item does not occur.</p>\n\n<pre><code> [1, 'foo, 2, 'foo] indices_of: 'foo # =&gt; [1, 3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item&nbsp;&nbsp;</code> </label><div>Item/Value for which a list of indices is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices for a given value within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> (possibly empty).</div></div></div>\n\n", arg:["item"], file:"lib/array.fy", lines:[354, 368]}, ":join":{doc:"<p>Joins all elements with the empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [\"hello\", \"world\", \"!\"] join # =&gt; \"hello,world!\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Elements of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> joined to a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/array.fy", lines:[131, 142]}, ":+":{doc:"<p>Returns concatenation with another <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] + [3,4,5] # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> to be appended.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/array.fy", lines:[315, 327]}, "unshift:":{doc:"<p>Inserts a value at the front of <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a unshift: 10\n a # =&gt; [10,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be added at the front of <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["value"], file:"lib/rbx/array.fy", lines:[144, 158]}, ":indices":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the indices of an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<pre><code> [1,2,3] indices # =&gt; [0,1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/array.fy", lines:[343, 352]}, ":*":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> that contains the elements of self num times\nin a row.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["num"], file:"lib/array.fy", lines:[302, 313]}}, methods:{":===":{doc:"<p>Matches an <code data-lang=\"fancy\">Array</code> against another object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to match <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>, if no match, matched values (in an <code data-lang=\"fancy\">Array</code>) otherwise.</div></div></div>\n\n", arg:["object"], file:"lib/array.fy", lines:[408, 419]}, "new:with:":{doc:"<p>Creates a new Array with a given size and default-value.\nIf <code data-lang=\"fancy\">default</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, call it with each index instead and\nstore the return value.</p>\n\n<p>Example:</p>\n\n<pre><code> Array new: 3 with: 'hello # =&gt; ['hello, 'hello, 'hello]\n # default can also be a block, taking the current index.\n Array new: 3 with: @{ * 2 } # =&gt; [0, 2, 4]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size&nbsp;&nbsp;&nbsp;</code> </label><div>Initial size of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">default</code> </label><div>Default value of new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>. Inserted <code data-lang=\"fancy\">size</code> times.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with <code data-lang=\"fancy\">size</code> values of <code data-lang=\"fancy\">default</code> in it.</div></div></div>\n\n", arg:["size", "default"], file:"lib/rbx/array.fy", lines:[8, 28]}, "new:":{doc:"<p>Creates a new Array with a given <code data-lang=\"fancy\">size</code> (default value is <code data-lang=\"fancy\">nil</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be created (values default to <code data-lang=\"fancy\">nil</code>).</div></div></div>\n\n", arg:["size"], file:"lib/array.fy", lines:[10, 18]}}, ancestors:["Array", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Range":{doc:"<p>Class of Range values. Are created by using Range literal syntax in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> (10..100) # Range from 10 to 100\n # the following code does the same as above:\n Range new: 10 to: 100\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_s":{doc:"<p>Same as Range#inspect</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/range.fy", lines:[13, 19]}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/range.fy", lines:[21, 27]}, "initialize:to:":{doc:"<p>Initializes a new Range starting at <code data-lang=\"fancy\">start</code> and ending at <code data-lang=\"fancy\">end</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">start</code> </label><div>Start element of Range.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">end&nbsp;&nbsp;</code> </label><div>End element of Range.</div></div></div>\n\n", arg:["@start", "@end"], file:"lib/rbx/range.fy", lines:[7, 13]}, "each:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> on each value in <code data-lang=\"fancy\">self</code>. Used for iterating over a <code data-lang=\"fancy\" data-class-ref=\"Range\" class=\"class-ref selectable\">Range</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with every value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/rbx/range.fy", lines:[15, 36]}}, methods:{}, ancestors:["Range", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Tuple":{doc:"<p>Tuples are fixed-size containers providing index-based access to its\nelements.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/tuple.fy", lines:[132, 145]}, "at:":{doc:"<p>Returns an element at a given indes.\nPossibly throws an <code data-lang=\"fancy\" data-class-ref=\"Rubinius\" class=\"class-ref selectable\">Rubinius</code> <code data-lang=\"fancy\" data-class-ref=\"Rubinius ObjectBoundsExceededError\" class=\"class-ref selectable\">ObjectBoundsExceededError</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx&nbsp;&nbsp;&nbsp;</code> </label><div>Index for the element to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element at the given index within the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["idx"], file:"lib/rbx/tuple.fy", lines:[24, 34]}, ":[]":{doc:"<p>Forwards to <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>#at:.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["idx"], file:"lib/tuple.fy", lines:[46, 52]}, "reverse_each:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/tuple.fy", lines:[95, 109]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> on the last item in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/tuple.fy", lines:[78, 93]}, "[]:":{doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", arg:["idx", "val"], file:"lib/rbx/tuple.fy", lines:[36, 44]}, "from:to:":{doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index for sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to&nbsp;&nbsp;</code> </label><div>End index ofr sub-array.</div></div></div>\n\n", arg:["from", "to"], file:"lib/tuple.fy", lines:[54, 76]}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> concatenation of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/tuple.fy", lines:[147, 153]}, "at:put:":{doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", arg:["idx", "val"], file:"lib/rbx/tuple.fy", lines:[36, 44]}, ":==":{doc:"<p>Compares two <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>s with each other.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to compare <code data-lang=\"fancy\">self</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if tuples are equal element-wise, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/tuple.fy", lines:[111, 130]}}, methods:{":===":{doc:"<p>Matches <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> class against an object.\nIf the given object is a Tuple instance, return a Tuple object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to be matched against</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Tuple instance containing the values of <code data-lang=\"fancy\">obj</code> to be used in pattern matching.</div></div></div>\n\n", arg:["obj"], file:"lib/tuple.fy", lines:[28, 40]}, "new:":{doc:"<p>Initializes a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with a given amount of element slots.\nE.g. if <code data-lang=\"fancy\">size</code> is <code data-lang=\"fancy\">2</code>, creates a 2-Tuple.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Size of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> (amount of values to hold).</div></div></div>\n\n", arg:["size"], file:"lib/rbx/tuple.fy", lines:[5, 18]}, "with_values:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with the <code data-lang=\"fancy\">values</code> passed in.</p>\n\n<p>Example:</p>\n\n<pre><code> Tuple with_values: [1,2,3] # =&gt; (1,2,3)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div>Values of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to be created.</div></div></div>\n\n", arg:["values"], file:"lib/tuple.fy", lines:[11, 26]}, ":name":{doc:"<p>Tuple</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/tuple.fy", lines:[42, 44]}}, ancestors:["Tuple", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "DynamicSlotObject":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>s with slots defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dso = DynamicSlotObject new\n dso name: \"Chris\"\n dso age: 25\n dso country: \"Germany\"\n\n dso object # =&gt; Object with slots 'name, 'age and 'country defined\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":object":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically by sending messages to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[18, 25]}}, methods:{}, ancestors:["DynamicSlotObject", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "DynamicKeyHash":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>es with keys and values defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dkh = DynamicKeyHash new\n dkh name: \"Chris\"\n dkh age: 25\n dkh country: \"Germany\"\n\n dkh hash # =&gt; &lt;['name =&gt; \"Chris\", 'age =&gt; 25, 'country =&gt; \"Germany\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">deep</code> </label><div>If <code data-lang=\"fancy\">true</code>, recursively sends <code data-lang=\"fancy\">to_hash</code> to any value passed as an argument to <code data-lang=\"fancy\">self</code> that is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (dynamically creating nested <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>es).</div></div></div>\n\n", arg:["@deep"], file:"lib/dynamic_slot_object.fy", lines:[50, 53]}, ":hash":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> generated dynamically by sending messages to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[55, 61]}, ":initialize":{doc:"<p>Forward to message initialize:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[46, 53]}}, methods:{}, ancestors:["DynamicKeyHash", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "DynamicValueArray":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with values defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dva = DynamicValueArray new\n dva name: \"Chris\"\n dva age: 25\n dva country: \"Germany\"\n dva something_else\n\n dva array # =&gt; [['name, \"Chris\"], ['age, 25], ['country, \"Germany\"], 'something_else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":array":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> generated dynamically by sending messages to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[94, 100]}}, methods:{}, ancestors:["DynamicValueArray", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Block":{doc:"<p>The Block class (also BlockEnvironment) is the class of all\nBlock-literal values.\nA Block is a piece of unevaluated code, that can be passed around as\nany other value and evaluated by calling the +call+ or +call:+ methods.</p>\n\n<p>Blocks also work properly with their enclosing environment in that\nthey preserve any local variables that get used within the Block,\neven if the context in which they got defined has been destroyed.\n=> Blocks are proper closures.</p>\n\n<p>See: http://en.wikipedia.org/wiki/Closure_(computer_science) for\nmore information.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"while_nil:":{doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[17, 30]}, "until:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> while <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[76, 84]}, ":to_object":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically in <code data-lang=\"fancy\">self</code>.\nLooks and feels similar to Javascript object literals.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_object\n\n o something # =&gt; \"foo bar baz\"\n o with # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[153, 170]}, ":to_object_deep":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically in <code data-lang=\"fancy\">self</code>.\nLooks and feels similar to Javascript object literals.\nNested blocks are converted to objects as well.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: {\n age: 42\n }\n } to_object_deep\n\n o something # =&gt; \"foo bar baz\"\n o with age # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[172, 198]}, "then:":{doc:"<p>Example:</p>\n\n<pre><code> # prints \"Hello World!\"\n { \"Hello\" print } then: { \"World!\" println }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call after <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that calls <code data-lang=\"fancy\">self</code>, then <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[264, 275]}, ":receiver":{doc:"<p>Returns the receiver of the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (value for <code data-lang=\"fancy\">self</code>)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Receiver object of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/block.fy", lines:[32, 39]}, "before:":{doc:"<p>Example:</p>\n\n<pre><code> # prints \"Hello World!\"\n { \"Hello\" print } then: { \"World!\" println }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call after <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that calls <code data-lang=\"fancy\">self</code>, then <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[264, 275]}, "receiver:":{doc:"<p>Sets the receiver (value for <code data-lang=\"fancy\">self</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">recv</code> </label><div>New receiver object for a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:["recv"], file:"lib/rbx/block.fy", lines:[41, 48]}, "after:":{doc:"<p>Example:</p>\n\n<pre><code> # prints \"Hello World!\"\n { \"World!\" println } after: { \"Hello\" print }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call before <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that calls <code data-lang=\"fancy\">self</code> after calling <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[279, 290]}, "call_with_receiver:":{doc:"<p>Calls a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">receiver</code> as the receiver (referenced by <code data-lang=\"fancy\">self</code> within the Block).</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = { self class }\n b call_with_receiver: r1 # =&gt; Array\n b call_with_receiver: r2 # =&gt; String\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:["receiver"], file:"lib/rbx/block.fy", lines:[50, 65]}, ":to_block":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/block.fy", lines:[292, 298]}, "call:with_receiver:":{doc:"<p>Same as <code data-lang=\"fancy\">call_with_receiver:</code> but passing along arguments to the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = |arg| { self to_s + arg }\n b call: [\"foo\"] with_receiver: r1 # =&gt; \"123foo\"\n b call: [\"foo\"] with_receiver: r2 # =&gt; \"hello worldfoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments passed to <code data-lang=\"fancy\">self</code> for invocation.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:["args", "receiver"], file:"lib/rbx/block.fy", lines:[67, 87]}, ":call_with_errors_logged":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> while logging any errors to <code data-lang=\"fancy\"><em>stdout</em></code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[300, 306]}, ":to_a":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but returning an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> instead of a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code></p>\n\n<p>Example:</p>\n\n<pre><code> a = {\n something: \"foo bar baz\"\n with: 42\n something; else\n } to_a # =&gt; [['something, \"foo bar baz\"], ['with, 42], 'something, 'else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[233, 247]}, ":to_proc":{doc:"<p>Turns a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> into a Ruby Proc object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Ruby Proc representing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/block.fy", lines:[89, 97]}, "call_with_errors_logged_to:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> while logging any errors to <code data-lang=\"fancy\">io</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">io</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"IO\" class=\"class-ref selectable\">IO</code> object to log any errors to.</div></div></div>\n\n", arg:["io"], file:"lib/block.fy", lines:[318, 330]}, "call_with_errors_logged:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">args</code> while logging any errors to <code data-lang=\"fancy\"><em>stdout</em></code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments to call <code data-lang=\"fancy\">self</code> with.</div></div></div>\n\n", arg:["args"], file:"lib/block.fy", lines:[308, 316]}, "if:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is true-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", arg:["obj"], file:"lib/block.fy", lines:[106, 114]}, "call:with_errors_logged_to:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">args</code> while logging any errors to <code data-lang=\"fancy\">io</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments to call <code data-lang=\"fancy\">self</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">io&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"IO\" class=\"class-ref selectable\">IO</code> object to log any errors to.</div></div></div>\n\n", arg:["args", "io"], file:"lib/block.fy", lines:[332, 345]}, ":to_hash":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"object\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">object</code> but returning a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> instead of an <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code></p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_hash # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[200, 213]}, ":&&":{doc:"<p>Short-circuiting &amp;&amp; (boolean AND).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["other_block"], file:"lib/block.fy", lines:[86, 94]}, "unless:":{doc:"<p>Opposite of Block#if:. Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is false-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should not be called.</div></div></div>\n\n", arg:["obj"], file:"lib/block.fy", lines:[116, 124]}, ":[]":{doc:"<p>Same as Block#call:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["args"], file:"lib/block.fy", lines:[145, 151]}, ":*":{doc:"<p>Runs <code data-lang=\"fancy\">self</code> <code data-lang=\"fancy\">iteration</code> times.\nSame as: <code>iterations times: self</code></p>\n\n<p>Example:</p>\n\n<pre><code> { \"Hello, World\" println } * 2\n # =&gt; prints \"Hello, World\" 2 times\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterations</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> of amount of iterations to run <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["iterations"], file:"lib/block.fy", lines:[249, 262]}, ":||":{doc:"<p>Short-circuiting || (boolean OR).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["other_block"], file:"lib/block.fy", lines:[96, 104]}, "while_true:else:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">alternative</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">self</code> never yielded <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block", "alternative"], file:"lib/block.fy", lines:[54, 64]}, "until_do:":{doc:"<p>Calls a given Block as long as <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[66, 74]}, "while_do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[34, 50]}, ":to_hash_deep":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but converting any value that's a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> as well.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n and: {\n another: 'field\n }\n } to_hash_deep # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42, 'and =&gt; &lt;['another =&gt; 'field]&gt;]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[215, 231]}, "while_true:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[34, 50]}, "while_false:":{doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/block.fy", lines:[17, 30]}, ":===":{doc:"<p>Matches a <code data-lang=\"fancy\">Block</code> against another object by calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">val&nbsp;&nbsp;&nbsp;</code> </label><div>Other object to match <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</div></div></div>\n\n", arg:["val"], file:"lib/block.fy", lines:[126, 135]}}, methods:{":name":{doc:"<p>Block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/block.fy", lines:[141, 143]}}, ancestors:["Block", "Object", "Kernel", "BasicObject"]}, "Fancy BreakIteration":{doc:"<p>Raised to break the current iteration.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> 10 times: |i| {\n i println\n if: (i == 3) then: {\n Fancy BreakIteration new raise!\n }\n }\n \"Done!\" println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> 0\n 1\n 2\n 3\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Fancy BreakIteration", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Fancy NextIteration":{doc:"<p>Raised to continue with next iteration (and stopping the current one).\nIt is rescued by Block#loop.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Fancy NextIteration", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Fancy StopIteration":{doc:"<p>Raised to stop the iteration, in particular by Enumerator#next.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> {\n 'Hello println\n Fancy StopIteration new raise!\n 'World println\n } loop\n 'Done! println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> Hello\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":result":{doc:"<p>Returns the return value of the iterator.</p>\n\n<p>o = Object new\ndef o each: block {\n block call: [1]\n block call: [2]\n block call: [3]\n 100\n}</p>\n\n<p>e = o to_enum\ne next p #=> 1\ne next p #=> 2\ne next p #=> 3\ntry {\n e next\n} catch Fancy StopIteration => ex {\n ex result p #=> 100\n}</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/iteration.fy", lines:[59, 83]}}, methods:{}, ancestors:["Fancy StopIteration", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Integer":{doc:"<p>Base class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":decimals":{doc:"<p>Returns all decimals of an Integer as an Array.</p>\n\n<p>Example:</p>\n\n<pre><code> 100 decimals # =&gt; [1, 0, 0]\n 12345 decimals # =&gt; [1, 2, 3, 4, 5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all decimals of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/integer.fy", lines:[52, 75]}, "times:offset:":{doc:"<p>Similar to #times: but starts at a given offset.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between <code data-lang=\"fancy\">offset</code> and <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset</code> </label><div>Offset to be used as starting point of iteration.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block", "offset"], file:"lib/integer.fy", lines:[6, 18]}, "times_try:":{doc:"<p>Forward to message times_try:retry_with:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], file:"lib/integer.fy", lines:[19, 50]}, "times_try:retry_with:":{doc:"<p>Tries to call a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\">self</code> amount of times, returning its return\nvalue or raising the last exception raised from <code data-lang=\"fancy\">block</code> after <code data-lang=\"fancy\">self</code> tries.</p>\n\n<p>Example:</p>\n\n<pre><code> 2 times_try: {\n # this code will be tried 2 times.\n # if it succeeds the first time, simply return its value, otherwise try once more.\n # if it still fails after 2 attempts, raises the exception thrown (in this case probably an IOError).\n @connection readln\n } retry_with: { @connection reconnect }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called and retries <code data-lang=\"fancy\">self</code> amount of times if exceptions get thrown.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">retry_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called before retrying execution of <code data-lang=\"fancy\">block</code>. Defaults to an empty <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> or raises an exception after <code data-lang=\"fancy\">self</code> tries. Returns <code data-lang=\"fancy\">nil</code> if <code data-lang=\"fancy\">self</code> <= 0.</div></div></div>\n\n", arg:["block", "retry_block"], file:"lib/integer.fy", lines:[20, 50]}, "times:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between 0 and <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/rbx/integer.fy", lines:[4, 19]}}, methods:{}, ancestors:["Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "File":{doc:"<p>Instances of File represent files in the filesystem of the operating\nsystem on which Fancy is running.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"read:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">bytes</code> </label><div>Integer the amount of bytes to read from a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["bytes"], file:"lib/rbx/file.fy", lines:[235, 241]}, ":newline":{doc:"<p>Writes a newline character to the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/file.fy", lines:[243, 247]}, "print:":{doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["str"], file:"lib/rbx/file.fy", lines:[225, 233]}, "modes:":{doc:"<p>Sets the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:["modes_arr"], file:"lib/rbx/file.fy", lines:[205, 213]}, "println:":{doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["x"], file:"lib/file.fy", lines:[152, 160]}, ":expanded_path":{doc:"<p>Example:</p>\n\n<pre><code> f = File open: \"README.txt\"\n f expanded_path # =&gt; \"/path/to/README.txt\" (when run from /path/to/)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Expanded (absolute) path of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/file.fy", lines:[165, 175]}, "write:":{doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["str"], file:"lib/rbx/file.fy", lines:[225, 233]}, "writeln:":{doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["x"], file:"lib/file.fy", lines:[152, 160]}, ":close":{doc:"<p>Closes an opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/rbx/file.fy", lines:[183, 193]}, ":modes":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/file.fy", lines:[195, 203]}, ":open?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is opened.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> opened, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/rbx/file.fy", lines:[215, 223]}, ":directory?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/rbx/file.fy", lines:[249, 257]}}, methods:{"read:":{doc:"<p>Reads all the contens (in ASCII mode) of a given file and returns\nthem as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[54, 64]}, "read:length:":{doc:"<p>Forward to message read:length:offset:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["filename", "length"], file:"lib/rbx/file.fy", lines:[65, 78]}, "read_binary:":{doc:"<p>Opens and reads the contents of a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> in binary mode and\nreturns its binary contents as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the binary data in <code data-lang=\"fancy\">filename</code>.</div></div></div>\n\n", arg:["filename"], file:"lib/file.fy", lines:[75, 89]}, "read:length:offset:":{doc:"<p>Reads all the contens (in ASCII mode) of a given file, length and offset\nand returns them as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">length&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the maximum length to read from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the offset in bytes to start reading from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:["filename", "length", "offset"], file:"lib/rbx/file.fy", lines:[66, 78]}, "open:":{doc:"<p>Forward to message open:modes:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[79, 100]}, "touch:":{doc:"<p>Creates a new empty file with the given <code data-lang=\"fancy\">filename</code>, if it doesn't already exist.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be created, if not already existant.</div></div></div>\n\n", arg:["filename"], file:"lib/file.fy", lines:[91, 102]}, "open:modes:":{doc:"<p>Similar to open:modes:with: but takes no <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> argument to be\ncalled with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance.\nReturns the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instead and expects the caller to <code data-lang=\"fancy\">close</code> it manually.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename&nbsp;</code> </label><div>Filename to open/create.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance that represents the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["filename", "modes_arr"], file:"lib/rbx/file.fy", lines:[80, 100]}, "read_config:":{doc:"<p>Reads a .fy source file as a config file.</p>\n\n<p>Example:</p>\n\n<pre><code> # Given a file config.fy with these contents:\n {\n host: \"127.0.0.1\"\n port: 1234\n names: [\n 'foo,\n 'bar,\n 'baz\n ]\n something_else: {\n another_value: 'foo\n }\n }\n\n # It can be read like so:\n config = File read_config: \"config.fy\"\n\n # config is now:\n &lt;[\n 'host =&gt; \"127.0.0.1\",\n 'port =&gt; 1234,\n 'names =&gt; ['foo, 'bar, 'baz],\n 'something_else: &lt;[\n 'another_value =&gt; 'foo\n ]&gt;\n ]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the name of file to be read as a config file.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key-value pairs of the config file.</div></div></div>\n\n", arg:["filename"], file:"lib/file.fy", lines:[113, 150]}, "delete!:":{doc:"<p>Deletes a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with a given <code data-lang=\"fancy\">filename</code>. If an <code data-lang=\"fancy\" data-class-ref=\"IOError\" class=\"class-ref selectable\">IOError</code> occurs,\nit gets ignored.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be deleted.</div></div></div>\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[131, 142]}, "write:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for writing and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to write to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to write to.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[7, 16]}, "directory?:":{doc:"<p>Indicates, if a given <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">path&nbsp;&nbsp;</code> </label><div>Path to check if it's a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["path"], file:"lib/rbx/file.fy", lines:[144, 153]}, "rename:to:":{doc:"<p>Renames a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on the filesystem.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_name</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to rename.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_name</code> </label><div>Path to new filename.</div></div></div>\n\n", arg:["old_name", "new_name"], file:"lib/rbx/file.fy", lines:[155, 164]}, "overwrite:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for writing, overwriting old content.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to overwrite.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to write to (overwriting old contents.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[18, 27]}, "open:modes:with:":{doc:"<p>Opens a File with a given <code data-lang=\"fancy\">filename</code>, a <code data-lang=\"fancy\">modes_arr</code> (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) and a <code data-lang=\"fancy\">block</code>.</p>\n\n<p>E.g. to open a File with read access and read all lines and print them to STDOUT:</p>\n\n<p> File open: \"foo.txt\" modes: ['read] with: |f| {</p>\n\n<pre><code> { f eof? } while_false: {\n f readln println\n }\n</code></pre>\n\n<p> }</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename&nbsp;</code> </label><div>Filename to open/create.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object that has been opened.</div></div></div>\n\n", arg:["filename", "modes_arr", "block"], file:"lib/rbx/file.fy", lines:[17, 41]}, "absolute_path:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to get absolute path for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Absolute (expanded) path for <code data-lang=\"fancy\">filename</code>.</div></div></div>\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[166, 173]}, "truncate:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for writing, overwriting old content.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to overwrite.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to write to (overwriting old contents.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[18, 27]}, "modes_str:":{doc:"<p>Returns the appropriate <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of the <code data-lang=\"fancy\">modes_arr</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modifiers, as used by Ruby.</div></div></div>\n\n", arg:["modes_arr"], file:"lib/rbx/file.fy", lines:[102, 115]}, "delete:":{doc:"<p>Deletes a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with a given <code data-lang=\"fancy\">filename</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be deleted.</div></div></div>\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[117, 129]}, "append:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for appending and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to append to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to append to.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[31, 40]}, "read:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[42, 51]}, "readlines:":{doc:"<p>Opens &amp; reads a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> and returns all of its lines in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read lines from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of lines\xC2\xA0in <code data-lang=\"fancy\">filename</code>.</div></div></div>\n\n", arg:["filename"], file:"lib/file.fy", lines:[53, 62]}, "exists?:":{doc:"<p>Indicates if the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with the given <code data-lang=\"fancy\">filename</code> exists.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to file to check for existance.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[43, 52]}, "read_binary:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div></div>\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[64, 73]}, "eval:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of Fancy source file (*.fy) to be read and evaluated.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div>Value of evaluating code in <code data-lang=\"fancy\">filename</code>.</div></div></div>\n\n", arg:["filename"], file:"lib/file.fy", lines:[104, 111]}}, ancestors:["File", "Enumerable", "IO", "IOMixin", "Object", "BasicObject", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Dir":{doc:"<p>Instances of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> represent directories in the filesystem of\nthe operating system, in which Fancy is being run.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"create:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, possibly throwing\nIOError Exceptions that might occur.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", arg:["dirname"], file:"lib/rbx/directory.fy", lines:[7, 20]}, "create!:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, ignoring any\nExceptions that might occur.\nBasically works like running <code>mkdir -p</code> on the shell.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", arg:["dirname"], file:"lib/rbx/directory.fy", lines:[22, 35]}, "list:":{doc:"<p>Example:</p>\n\n<pre><code> Directory list: \"tests/**/*.fy\" # =&gt; [\"tests/file1.fy\", \"tests/more/file2.fy\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Directory pattern or name containing files to be returned as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of files matching directory <code data-lang=\"fancy\">pattern</code>.</div></div></div>\n\n", arg:["pattern"], file:"lib/rbx/directory.fy", lines:[52, 68]}, "delete:":{doc:"<p>Deletes a directory with a given name, if it's empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to delete.</div></div></div>\n\n", arg:["dirname"], file:"lib/rbx/directory.fy", lines:[38, 50]}, "exists?:":{doc:"<p>Indicates, if a Directory exists with a given pathname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to check for existance.</div></div><div class=\"doctag\"><label> @<code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["dirname"], file:"lib/directory.fy", lines:[7, 16]}}, ancestors:["Dir", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Hash":{doc:"<p>Class for Hashes (HashMaps / Dictionaries).\nMaps a key to a value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":default":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Default value for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/rbx/hash.fy", lines:[86, 96]}, "default_for:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;</code> </label><div>Key to be used.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Default value for <code data-lang=\"fancy\">key</code>.</div></div></div>\n\n", arg:["key"], file:"lib/rbx/hash.fy", lines:[98, 105]}, ":to_object":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slot names and values based on keys and values in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> o = &lt;['name =&gt; \"Christopher Bertels\", 'interest =&gt; \"programming languages\"]&gt; to_object\n o name # =&gt; \"Christopher Bertels\"\n o interest # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined by keys and values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/hash.fy", lines:[122, 140]}, "with_updated_values:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that returns an updated value for each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> based on self but with updated values via <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/hash.fy", lines:[341, 348]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key and value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key and value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["block"], file:"lib/hash.fy", lines:[69, 86]}, ":to_object_deep":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_object\" data-owner-class=\"Hash\" class=\"ruby-singleton-method-ref selectable\">to_object</code> but converting any nested <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> slots to <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>s as well.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/hash.fy", lines:[142, 155]}, "with_updated_keys:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that returns an updated key for each key in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> based on self but with updated keys via <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["block"], file:"lib/hash.fy", lines:[350, 357]}, "values_at:":{doc:"<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 1, 'bar =&gt; 2, 'baz =&gt; 42]&gt; values_at: ('foo, 'baz) # =&gt; [1, 42]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">keys&nbsp;&nbsp;</code> </label><div>Collection of keys to get the values for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values for the given keys.</div></div></div>\n\n", arg:["keys"], file:"lib/hash.fy", lines:[174, 184]}, "with_value_for_key:do:":{doc:"<p>Forward to message with_value_for_key:do:else:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["key", "block"], file:"lib/hash.fy", lines:[358, 369]}, "with_value_for_key:do:else:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of value to find in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value for <code data-lang=\"fancy\">key</code>, if found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> not found in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["key", "block", "else_block"], file:"lib/hash.fy", lines:[359, 369]}, ":to_block":{doc:"<p>Example:</p>\n\n<pre><code> &lt;['x =&gt; 100, 'y =&gt; 150]&gt; to_block\n # would be the same as:\n |receiver| {\n receiver tap: @{\n x: 100\n y: 150\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that sends each key-value pair in <code data-lang=\"fancy\">self</code> as a message (with one argument) to its argument.</div></div></div>\n\n", arg:[], file:"lib/hash.fy", lines:[273, 297]}, ":to_a":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of the key-value pairs in a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all key-value pairs in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/hash.fy", lines:[112, 120]}, ":[]":{doc:"<p>Returns the value for a given key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;</code> </label><div>Key for value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for given <code data-lang=\"fancy\">key</code> or <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">key</code> not set.</div></div></div>\n\n", arg:["key"], file:"lib/hash.fy", lines:[12, 21]}, "initialize:":{doc:"<p>Initializes a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with <code data-lang=\"fancy\">default</code> as a default value.\nIf <code data-lang=\"fancy\">default</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, call it with <code data-lang=\"fancy\">self</code> and a given key to get its default value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">default</code> </label><div>Default value for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["default"], file:"lib/rbx/hash.fy", lines:[10, 19]}, "default:":{doc:"<p>Sets the default value to be returned from <code data-lang=\"fancy\">self</code> for keys not in <code data-lang=\"fancy\">self</code>.\nIf <code data-lang=\"fancy\">default_value</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, use its return value (called with the <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> and a given key).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">default_value</code> </label><div>Default value for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["default_value"], file:"lib/rbx/hash.fy", lines:[66, 84]}, "at:else:":{doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; at: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; at: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; at: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[23, 43]}, "each_key:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["block"], file:"lib/hash.fy", lines:[88, 98]}, "fetch:else:":{doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; at: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; at: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; at: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[23, 43]}, "each_value:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div></code>\n\n", arg:["block"], file:"lib/hash.fy", lines:[100, 110]}, "fetch:else_put:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['foo =&gt; 'bar]&gt;\n h at: 'foo else_put: { 42 } # =&gt; 'bar\n h['foo] # =&gt; 'bar\n h at: 'undefined else_put: { 42 } # =&gt; 42\n h['undefined] # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called and its value inserted into <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[47, 65]}, "select_keys:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['a =&gt; 1, 42 =&gt; (1,2,3), 'b =&gt; \"hello\"]&gt;\n h select_keys: @{ is_a?: Symbol } # =&gt; &lt;['a =&gt; 1, 'b =&gt; \"hello\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of entries for which <code data-lang=\"fancy\">block</code> called with its key yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], file:"lib/hash.fy", lines:[186, 203]}, "delete:":{doc:"<p>Deletes a key-value pair from <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of key-value pair to be deleted in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["key"], file:"lib/rbx/hash.fy", lines:[37, 45]}, "reject_keys:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['a =&gt; 1, 42 =&gt; (1,2,3), 'b =&gt; \"hello\"]&gt;\n h reject_keys: @{ is_a?: Symbol } # =&gt; &lt;[42 =&gt; (1,2,3)]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of entries for which <code data-lang=\"fancy\">block</code> called with its key yields <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:["block"], file:"lib/hash.fy", lines:[205, 216]}, ":random_key":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random key in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/hash.fy", lines:[218, 224]}, ":random":{doc:"<p>Same as <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"random_value\" data-owner-class=\"Hash\" class=\"ruby-singleton-method-ref selectable\">random_value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/hash.fy", lines:[234, 242]}, ":random_value":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/hash.fy", lines:[226, 232]}, "call:":{doc:"<p>Sends each key-value pair as a message (with one argument) to <code data-lang=\"fancy\">receiver</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> Person = Struct new: ('firstname, 'lastname)\n p = Person new\n &lt;['firstname =&gt; \"Tom\", 'lastname =&gt; \"Cruise\"]&gt; call: [p]\n\n p firstname # =&gt; \"Tom\"\n p lastname # =&gt; \"Cruise\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver to apply <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">receiver</code>.</div></div></div>\n\n", arg:["receiver"], file:"lib/hash.fy", lines:[244, 261]}, "update_values:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['name =&gt; \"Tom\", 'age =&gt; 21 ]&gt;\n h update_values: @{ * 2}\n h # =&gt; &lt;['name =&gt; \\\xE2\x80\x9DTomTom\\\xE2\x80\x9D, 'age =&gt; 42]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that returns an updated value for each value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/hash.fy", lines:[299, 312]}, "includes?:":{doc:"<p>Indicates if a given key is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;</code> </label><div>Key to search for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Hash includes <code data-lang=\"fancy\">key</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["key"], file:"lib/rbx/hash.fy", lines:[55, 64]}, "at:else_put:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['foo =&gt; 'bar]&gt;\n h at: 'foo else_put: { 42 } # =&gt; 'bar\n h['foo] # =&gt; 'bar\n h at: 'undefined else_put: { 42 } # =&gt; 42\n h['undefined] # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Key of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called and its value inserted into <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[47, 65]}, "update_keys:":{doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['name =&gt; \"Tom\", 'age =&gt; 21 ]&gt;\n h update_keys: @{ to_s * 2}\n h # =&gt; &lt;[\"namename\" =&gt; \\\xE2\x80\x9DTom\\\xE2\x80\x9D, \"ageage\" =&gt; 21]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that returns an updated key for each key in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/hash.fy", lines:[314, 339]}}, methods:{}, ancestors:["Hash", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Set":{doc:"<p>A simple Set data structure class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":size":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of values in <code data-lang=\"fancy\">self</code> as a <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>.</div></div></div>\n\n", arg:[], file:"lib/set.fy", lines:[37, 43]}, "each:":{doc:"<p>Calls a given Block for each element of the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/set.fy", lines:[115, 125]}, ":to_s":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/set.fy", lines:[127, 133]}, ":inspect":{doc:"<p>Returns a detailed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/set.fy", lines:[135, 141]}, ":initialize":{doc:"<p>Initialize a new empty Set.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/set.fy", lines:[21, 27]}, ":==":{doc:"<p>Indicates, if two Sets are equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Set\" class=\"class-ref selectable\">Set</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if self is equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], file:"lib/set.fy", lines:[55, 69]}, ":[]":{doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">nil</code> otherwise.</div></div></div>\n\n", arg:["value"], file:"lib/set.fy", lines:[104, 113]}, ":+":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other Set to use for creating union Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Union Set containing all values in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/set.fy", lines:[153, 160]}, "initialize:":{doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values to be used as values for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["values"], file:"lib/set.fy", lines:[8, 19]}, ":values":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Values in self as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], file:"lib/set.fy", lines:[29, 35]}, "remove:":{doc:"<p>Removes a given object from a Set, if available.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be removed from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["obj"], file:"lib/set.fy", lines:[143, 151]}, ":-":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other Set to use for creating difference Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Difference Set by removing all values from <code data-lang=\"fancy\">self</code> that are in <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/set.fy", lines:[162, 173]}, ":&":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Other Set to use for creating Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Intersection Set containing only values that are in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], file:"lib/set.fy", lines:[175, 186]}, ":empty?":{doc:"<p>Indicates, if a Set is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Set is emty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/set.fy", lines:[45, 53]}, ":<<":{doc:"<p>Insert a value into the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be inserted into <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["value"], file:"lib/set.fy", lines:[81, 91]}, "includes?:":{doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["value"], file:"lib/set.fy", lines:[93, 102]}}, methods:{":[]":{doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values used for new Set.</div></div></div>\n\n", arg:["values"], file:"lib/set.fy", lines:[71, 79]}}, ancestors:["Set", "Fancy Enumerable", "Object", "BasicObject", "Object", "Kernel", "BasicObject"]}, "Symbol":{doc:"<p>Symbols are unique identifiers and only created once.</p>\n\n<p>If there are several occurrances of the same Symbol literal within\nFancy code, they all refer to the same Symbol object.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_block":{doc:"<p>Example:</p>\n\n<pre><code> 'inspect to_block\n # is equal to:\n @{ inspect }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that sends <code data-lang=\"fancy\">self</code> to its first argument, passing along any remaining arguments.</div></div></div>\n\n", arg:[], file:"lib/symbol.fy", lines:[69, 82]}, ":defined?":{doc:"<p>Indicates if a Symbol is defined as a constant in the senders scope.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is defined as a constant in senders scope, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/rbx/symbol.fy", lines:[13, 25]}, ":call":{doc:"<p>Sends <code data-lang=\"fancy\">self</code> as message to the sender in its context.</p>\n\n<p>Example:</p>\n\n<pre><code> 'foo call\n # =&gt; same as\n self foo\n\n if: x then: 'foo else: 'bar\n # same as:\n if: x then: { self foo } else: { self bar }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/symbol.fy", lines:[27, 46]}, "call:":{doc:"<p>This allows Symbols to be used like Blocks (e.g. in all methods of Enumerable).</p>\n\n<p>Example:</p>\n\n<pre><code> [1, 2, 3] map: 'squared # =&gt; [1, 4, 9]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arg&nbsp;&nbsp;&nbsp;</code> </label><div>Argument to send <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of sending <code data-lang=\"fancy\">self</code> as message to <code data-lang=\"fancy\">arg</code>.</div></div></div>\n\n", arg:["arg"], file:"lib/symbol.fy", lines:[9, 25]}}, methods:{}, ancestors:["Symbol", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "Stack":{doc:"<p>A simple Stack container class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Initializes a new Stack with a given size.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the new Stack.</div></div></div>\n\n", arg:["size"], file:"lib/stack.fy", lines:[14, 22]}, "push:":{doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["obj"], file:"lib/stack.fy", lines:[24, 32]}, ":size":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Size of the Stack.</div></div></div>\n\n", arg:[], file:"lib/stack.fy", lines:[54, 60]}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in <code data-lang=\"fancy\">self</code>, starting with the top of stack element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], file:"lib/stack.fy", lines:[72, 81]}, ":initialize":{doc:"<p>Initializes a new Stack.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/stack.fy", lines:[6, 12]}, ":<<":{doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["obj"], file:"lib/stack.fy", lines:[24, 32]}, ":pop":{doc:"<p>Pops the top-of-stack element from the Stack and returns it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Top-of-stack element.</div></div></div>\n\n", arg:[], file:"lib/stack.fy", lines:[36, 44]}, ":top":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The top-of-stack element.</div></div></div>\n\n", arg:[], file:"lib/stack.fy", lines:[46, 52]}, ":empty?":{doc:"<p>Indicates, if the Stack is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if empty, otherwise <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], file:"lib/stack.fy", lines:[62, 70]}}, methods:{}, ancestors:["Stack", "Object", "Kernel", "BasicObject"]}, "Proxies ProxyReceiver":{doc:"<p>A ProxyReceiver is an object which proxies all message sends to it to 2 other objects.\nIt will send each message first to its <code data-lang=\"fancy\">proxy</code> instance variable and then to the <code data-lang=\"fancy\">obj</code> instance variable.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:for:":{doc:"<p>Initializes a new ProxyReceiver with <code data-lang=\"fancy\">proxy</code> for <code data-lang=\"fancy\">obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">proxy</code> </label><div>Proxy receiver for <code data-lang=\"fancy\">obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj&nbsp;&nbsp;</code> </label><div>Original receiver object.</div></div></div>\n\n", arg:["@proxy", "@obj"], file:"lib/proxies.fy", lines:[11, 17]}, "unknown_message:with_params:":{doc:"<p>Forwards all incoming messages to <code data-lang=\"fancy\">self</code> to @<code data-lang=\"fancy\">proxy</code> and then @<code data-lang=\"fancy\">obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg&nbsp;&nbsp;&nbsp;</code> </label><div>Incoming message name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div></div>\n\n", arg:["msg", "params"], file:"lib/proxies.fy", lines:[19, 29]}}, methods:{}, ancestors:["Proxies ProxyReceiver", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Proxies RespondsToProxy":{doc:"<p>A RespondsToProxy is a Proxy that forwards any message sent to it to it's <code data-lang=\"fancy\">target</code> instance variable\nonly if it responds to that message. Any messages that <code data-lang=\"fancy\">target</code> doesn't respond to simply won't be sent\nand <code data-lang=\"fancy\">nil</code> will be returned.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Initializes a new RespondsToProxy for <code data-lang=\"fancy\">target</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">target</code> </label><div>Target receiver object.</div></div></div>\n\n", arg:["@target"], file:"lib/proxies.fy", lines:[42, 47]}, "unknown_message:with_params:":{doc:"<p>Forwards all incoming message to <code data-lang=\"fancy\">self</code> to @<code data-lang=\"fancy\">target</code>\nonly if @<code data-lang=\"fancy\">target</code> responds to them.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg&nbsp;&nbsp;&nbsp;</code> </label><div>Incoming message name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div></div>\n\n", arg:["msg", "params"], file:"lib/proxies.fy", lines:[49, 61]}}, methods:{}, ancestors:["Proxies RespondsToProxy", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Proxies ActorProxy":{doc:"<p>An ActorProxy is a Proxy that forwards any message sent to it to\nit's <code data-lang=\"fancy\">target</code> object as a future send by default. If explicitly sent\nan async message, it will forward the async send to <code data-lang=\"fancy\">target</code>,\nreturning <code data-lang=\"fancy\">nil</code> instead of a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>, as expected.</p>\n\n<p>Example:</p>\n\n<pre><code> ap = ActorProxy new: target_actor\n\n # this:\n f = ap some_future_send: an_arg\n # is the same as:\n f = target_actor @ some_future_send: an_arg\n\n # and this:\n ap @@ some_async_send: another_arg\n # is the same as:\n target_actor @@ some_async_send: another_arg\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Proxies ActorProxy", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Proxies DistributingProxy":{doc:"<p>DistributingProxy is a Proxy that round-robin distributes messages to objects\nin a <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> specified upon creation.</p>\n\n<p>Example:</p>\n\n<pre><code> p = DistributingProxy new: [worker1, worker2, worker3, worker4]\n loop: {\n req = @input receive_request\n p handle_request: req # will be forwarded to worker1-4\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{}, ancestors:["Proxies DistributingProxy", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Fiber":{doc:"<p>Fiber class. Fibers are cooperatively scheduled coroutines supported\nby the Rubinius VM.\nControl flow between multiple Fibers is always explicitly handled.\nThere is no preemptive scheduler.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"resume:":{doc:"<p>Resumes <code data-lang=\"fancy\">self</code> (if paused) or raises an exception, if <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> is dead.\nPasses along <code data-lang=\"fancy\">vals</code> as the return value of the last call to <code data-lang=\"fancy\">yield</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to <code data-lang=\"fancy\">self</code> for resuming.</div></div></div>\n\n", arg:["vals"], file:"lib/rbx/fiber.fy", lines:[30, 39]}}, methods:{"yield:":{doc:"<p>Returns execution control to the parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> and passes along <code data-lang=\"fancy\">vals</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code>.</div></div></div>\n\n", arg:["vals"], file:"lib/rbx/fiber.fy", lines:[20, 28]}, ":name":{doc:"<p>Fiber</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fiber.fy", lines:[9, 11]}, "new:":{doc:"<p>Creates a new Fiber running <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run in a new Fiber.</div></div></div>\n\n", arg:["block"], file:"lib/rbx/fiber.fy", lines:[10, 18]}}, ancestors:["Fiber", "Object", "Kernel", "BasicObject"]}, "FutureSend":{doc:"<p>A <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> gets created whenever an asynchronous message via the @ operator gets sent, yielding a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.\nThey represent Futures/Promises in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> f = some_object @ some_method: some_argument\n f class # =&gt; FutureSend\n f value # =&gt; Value returned by some_method, but may block the current Thread if f hasn't completed yet.\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":completed?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed (success or failure), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/future.fy", lines:[60, 70]}, ":failed?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend failed, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/future.fy", lines:[86, 96]}, "with_value:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", arg:["block"], file:"lib/future.fy", lines:[155, 170]}, "initialize:receiver:message:":{doc:"<p>Forward to message initialize:receiver:message:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@actor", "@receiver", "@message"], file:"lib/future.fy", lines:[20, 21]}, ":failure":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused <code data-lang=\"fancy\">self</code> to fail, or <code data-lang=\"fancy\">nil</code>, if it didn't fail.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused the FutureSend to fail, or <code data-lang=\"fancy\">nil</code>, if no failure.</div></div></div>\n\n", arg:[], file:"lib/future.fy", lines:[98, 114]}, ":succeeded?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed without failure, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], file:"lib/future.fy", lines:[72, 84]}, "when_failed:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> fail reason in case of failure.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> fails.</div></div></div>\n\n", arg:["block"], file:"lib/future.fy", lines:[138, 153]}, ":value":{doc:"<p>Returns the value returned by performing <code data-lang=\"fancy\">self</code>.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of performing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], file:"lib/future.fy", lines:[116, 132]}, "when_done:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", arg:["block"], file:"lib/future.fy", lines:[155, 170]}}, methods:{}, ancestors:["FutureSend", "Object", "Kernel", "BasicObject"]}, "Struct":{doc:"<p>Structs are light-weight classes with predefined read-writable slots.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"new:":{doc:"<p>Creates a new Struct class with the given slots.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames the new Struct should contain.</div></div></div>\n\n", arg:["slots"], file:"lib/struct.fy", lines:[6, 25]}}, ancestors:["Struct", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Fancy MessageSink":{doc:"<p>A MessageSink just swallows all messages that are sent to it.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p><code data-lang=\"fancy\">m</code> Message sent to <code data-lang=\"fancy\">self</code>.\n<code data-lang=\"fancy\">p</code> <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters sent along with <code data-lang=\"fancy\">m</code>.</p>\n\n<p>Catches all messages and arguments and simply always returns <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["m", "p"], file:"lib/message_sink.fy", lines:[7, 17]}}, methods:{}, ancestors:["Fancy MessageSink", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "KVO":{doc:"<p>Key-Value Observing Mixin class.\nInclude this Class into any class to add support for Key-Value Observing.\nInspired by Objective-C's KVO, but using <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s, as it fits nicer\nwith Fancy's semantics.</p>\n\n<p>Example:</p>\n\n<pre><code> class Person {\n include: KVO\n read_write_slots: ('name, 'age, 'city)\n }\n\n tom = Person new tap: @{\n name: \"Tom Cruise\"\n age: 55\n city: \"Hollywood\"\n }\n\n tom observe: 'name with: |new old| {\n new println\n }\n tom name: \"Tommy Cruise\" # will cause \"Tommy Cruise\" to be printed\n tom age: 56 # No observer Blocks defined, so nothing will happen\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"observe_insertion:with:":{doc:"<p>Registers a new insertion observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value inserted in collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["slotname", "block"], file:"lib/kvo.fy", lines:[70, 79]}, "observe_removal:with:":{doc:"<p>Registers a new removal observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value removed from collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["slotname", "block"], file:"lib/kvo.fy", lines:[81, 90]}, "observe:with:":{doc:"<p>Registers a new observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with old and new value of <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["slotname", "block"], file:"lib/kvo.fy", lines:[59, 68]}}, methods:{}, ancestors:["KVO", "Object", "Kernel", "BasicObject"]}, "Fancy Documentation":{doc:"<p>A Fancy Documentation object is a holder for docstrings and specs.\nKeeps a registry of documentation for anything Fancy.</p>\n\n<p>Provides methods for searching and formatting an Object's docstrings.\nThis can be be handy for users of the interactive Fancy REPL,\ndocument generators, instrospection tools, IDEs, anything!</p>\n\n<p>This object can be converted to just anything by using its format:\nmethod. Formatters can be registered with Fancy Documentation#formatter:is:</p>\n\n<p>By default two formatters are defined:</p>\n\n<p> 'fancy => Returns the Fancy::Documentation object\n 'string => Returns the docs string representation</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"format:":{doc:"<p>If format is specified, the documentation string will be\nconverted using the corresponding formatter. This allows\nyou to extend Fancy documentation system, and produce\nhtml documents, man pages, or anything you can imagine.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["format"], file:"lib/documentation.fy", lines:[50, 61]}, ":docs":{doc:"<p>An array of docstrings for the object beind documented.</p>\n\n<p>We have an array of docstrings because in Fancy, some\nthings like classes can be re-openned and the user may\nspecify new documentation for it each time. Thus we dont\nwant to loose the previous documentation but rather build\nupon it. That is, fancy supports incremental documentation.</p>\n\n<div class=\"doctags\"></div>\n\n"}, ":specs":{doc:"<p>An array of associated Fancy specs for the object\nbeing documented.</p>\n\n<p>Its a lot better to keep the associated specs in\nFancy Documentation objects instead of just having them\nin method instances. This allows us to associate any object\nwith an spec example.</p>\n\n<p>This way you can have a single Fancy spec example that\nis related to many objects (methods, constants, classes)\nthat are being specified. Later in documentation, we can\nprovide links to all specs where an object is being exercised.</p>\n\n<div class=\"doctags\"></div>\n\n"}}, methods:{"for_method:on_class:is:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"\" data-owner-class=\"Fancy Documentation\" class=\"ruby-singleton-method-ref selectable\"></code> but taking the method name and the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> for which <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to define the docstring.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["method_name", "class", "docstring"], file:"lib/rbx/documentation.fy", lines:[44, 50]}, "remove:":{doc:"<p>Removes the documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj"], file:"lib/rbx/documentation.fy", lines:[60, 63]}, "formatter:is:":{doc:"<p>Registers a callable object as formatter under name.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["name", "callable"], file:"lib/documentation.fy", lines:[86, 92]}, "for:is:":{doc:"<p>Create a Fancy::Documentation instance.</p>\n\n<p>Note: As we're bootstrapping, we cannot set documentation here as\nan string literal.</p>\n\n<p>We are the very first thing to load, so just create a new\nFancy::Documentation object without using new:, and set it as\nfancy docs.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj", "docstring"], file:"lib/rbx/documentation.fy", lines:[24, 42]}, "for:":{doc:"<p>Obtains the Fancy Documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj"], file:"lib/rbx/documentation.fy", lines:[55, 58]}, "for:append:":{doc:"<p>Append docstring to the documentation for obj.\nIf obj has no documentation, one is created for it.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj", "docstring"], file:"lib/documentation.fy", lines:[63, 76]}, "formatter:":{doc:"<p>Obtains a formatter by a given name. Returns a callable object.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["name"], file:"lib/documentation.fy", lines:[78, 84]}, ":formatters":{doc:"<p>Obtain the hash of known documentation formatters.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/documentation.fy", lines:[94, 101]}}, ancestors:["Fancy Documentation", "Object", "Kernel", "BasicObject"]}, "OptionParser":{doc:"<p>Parses command-line options from a given <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> (usually <code data-lang=\"fancy\">ARGV</code>) and\nexecutes registered handlers for options specified.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"with:doc:do:":{doc:"<p>Example:</p>\n\n<pre><code> o = OptionParser new\n o with: \"--file [filename]\" doc: \"Use this file for processing\" do: |filename| {\n # do something with filename\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">option_string</code> </label><div>Option flag and (optional) argument within \"[]\", e.g. \"--file [filename]\".</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">doc_string&nbsp;&nbsp;&nbsp;</code> </label><div>Documentation <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> for <code data-lang=\"fancy\">option_string</code> that is used in the standard <code data-lang=\"fancy\">--help</code> option.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed if <code data-lang=\"fancy\">option_string</code> is matched during parsing. If the option takes an argument it will be passed to <code data-lang=\"fancy\">block</code> as an argument.</div></div></div>\n\n", arg:["option_string", "doc_string", "block"], file:"lib/option_parser.fy", lines:[53, 77]}, "parse_hash:":{doc:"<p>Parses options as <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> from <code data-lang=\"fancy\">args</code> and executes registered option handlers.</p>\n\n<p>Example:</p>\n\n<pre><code> o = OptionParser new: @{\n with: \"--some-option [option_value]\" doc: \"some docstring\"\n # ...\n }\n opts = o parse_hash: [\"--some-option\", \"some-value\"]\n opts # =&gt; &lt;[\"--some-option\" =&gt; \"some-value\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments to parse options from. Typically you'd pass <code data-lang=\"fancy\">ARGV</code> here.</div></div></div>\n\n", arg:["args"], file:"lib/option_parser.fy", lines:[103, 120]}, ":print_help_info":{doc:"<p>Displays the <code data-lang=\"fancy\">--help</code> information on <code data-lang=\"fancy\"><em>stdout</em></code> based on all options that were registered via <code data-lang=\"fancy\" data-class-ref=\"OptionParser\" class=\"class-ref selectable\">OptionParser</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"with:doc:do:\" data-owner-class=\"OptionParser\" class=\"singleton-method-ref selectable\">with:doc:do:</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/option_parser.fy", lines:[122, 136]}, ":initialize":{doc:"<p>Forward to message initialize:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/option_parser.fy", lines:[23, 51]}, "with:doc:":{doc:"<p>Forward to message with:doc:do:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["option_string", "doc_string"], file:"lib/option_parser.fy", lines:[52, 77]}, "initialize:":{doc:"<p>Creates a new OptionParser.</p>\n\n<p>Example:</p>\n\n<pre><code> o = OptionParser new: @{\n with: \"--my-option\" doc: \"Sets some option value\" do: {\n # do stuff in here...\n }\n }\n o parse: ARGV # parse options from ARGV\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>(Optional) <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code> for easy setup.</div></div></div>\n\n", arg:["@block"], file:"lib/option_parser.fy", lines:[38, 51]}, "parse:":{doc:"<p>Parses options from <code data-lang=\"fancy\">args</code> and executes registered option handlers.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments to parse options from. Typically you'd pass <code data-lang=\"fancy\">ARGV</code> here.</div></div></div>\n\n", arg:["args"], file:"lib/option_parser.fy", lines:[79, 101]}}, methods:{}, ancestors:["OptionParser", "Object", "Kernel", "BasicObject"]}, "FancySpec":{doc:"<p>The FancySpec class is used for defining FancySpec testsuites.\nHave a look at the tests/ directory to see some examples.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Forward to message initialize:test_obj:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@description"], file:"lib/fancy_spec.fy", lines:[17, 18]}, "initialize:test_obj:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">description</code> </label><div>Description <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> for testcase.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">test_obj&nbsp;&nbsp;&nbsp;</code> </label><div>Object to be tested, defaults to <code data-lang=\"fancy\">description</code>.</div></div></div>\n\n", arg:["@description", "@test_obj"], file:"lib/fancy_spec.fy", lines:[14, 18]}, "it:when:":{doc:"<p>Example:</p>\n\n<pre><code> it: \"should be an empty Array\" when: {\n arr = [1,2,3]\n 3 times: { arr pop }\n arr empty? is: true\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_info_string</code> </label><div>Info <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> related to the test case defined in <code data-lang=\"fancy\">spec_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that holds the testcase's code (including assertions).</div></div></div>\n\n", arg:["spec_info_string", "spec_block"], file:"lib/fancy_spec.fy", lines:[51, 66]}, "it:for:when:":{doc:"<p>Example:</p>\n\n<pre><code> it: \"should be an empty Array\" with: 'empty? when: {\n arr = [1,2,3]\n 3 times: { arr pop }\n arr empty? is: true\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_info_string</code> </label><div>Info <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> related to the test case defined in <code data-lang=\"fancy\">spec_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of Method that this testcase is related to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that holds the testcase's code (including assertions).</div></div></div>\n\n", arg:["spec_info_string", "method_name", "spec_block"], file:"lib/fancy_spec.fy", lines:[68, 95]}, "after:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run after all test cases.</div></div></div>\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[107, 113]}, "after_each:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run after each test case.</div></div></div>\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[123, 129]}, "it:with:when:":{doc:"<p>Example:</p>\n\n<pre><code> it: \"should be an empty Array\" with: 'empty? when: {\n arr = [1,2,3]\n 3 times: { arr pop }\n arr empty? is: true\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_info_string</code> </label><div>Info <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> related to the test case defined in <code data-lang=\"fancy\">spec_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>Name of Method that this testcase is related to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec_block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that holds the testcase's code (including assertions).</div></div></div>\n\n", arg:["spec_info_string", "method_name", "spec_block"], file:"lib/fancy_spec.fy", lines:[68, 95]}, "before:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run before all test cases.</div></div></div>\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[99, 105]}, "before_each:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run before each test case.</div></div></div>\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[115, 121]}, ":run":{doc:"<p>Runs a FancySpec's test cases.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[131, 159]}}, methods:{"describe:with:":{doc:"<p>Factory method for creating FancySpec instances.\nCalls <code data-lang=\"fancy\">block</code> with the new FancySpec instance as the receiver, then runs it.</p>\n\n<p>Example:</p>\n\n<pre><code> FancySpec describe: MyTestClass with: {\n # test cases using it:for:when: here.\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["test_obj", "block"], file:"lib/fancy_spec.fy", lines:[20, 34]}, "describe:for:with:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"FancySpec\" class=\"class-ref selectable\">FancySpec</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"describe:with:\" data-owner-class=\"FancySpec\" class=\"singleton-method-ref selectable\">describe:with:</code> but also taking an explicit <code data-lang=\"fancy\">test_obj</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> FancySpec describe: \"My cool class\" for: MyCoolClass with: {\n # test cases using it:for:when: here.\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["description", "test_obj", "block"], file:"lib/fancy_spec.fy", lines:[36, 49]}}, ancestors:["FancySpec", "Object", "Kernel", "BasicObject"]}, "FancySpec SpecTest":{doc:"<p>FancySpec test case class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"failed:":{doc:"<p>Forward to message failed:location:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["actual_and_expected"], file:"lib/fancy_spec.fy", lines:[267, 274]}}, methods:{"failed_test:":{doc:"<p>Gets called when a SpecTest failed.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">actual_and_expected</code> </label><div>Pair of actual and expected values for a failed test case.</div></div></div>\n\n", arg:["test"], file:"lib/fancy_spec.fy", lines:[180, 190]}, "failed_negative_test:":{doc:"<p>Gets called when a negative SpecTest (using <code data-lang=\"fancy\" data-class-ref=\"NegativeMatcher\" class=\"class-ref selectable\">NegativeMatcher</code>) failed.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value that should not have occured.</div></div></div>\n\n", arg:["test"], file:"lib/fancy_spec.fy", lines:[192, 202]}}, ancestors:["FancySpec SpecTest", "Object", "Kernel", "BasicObject"]}, "FancySpec PositiveMatcher":{doc:"<p>PositiveMatcher expects its actual value to be equal to an\nexpected value.\nIf the values are not equal, a SpecTest failure is generated.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards any other message and parameters to the object itself\nand checks the return value.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["msg", "params"], file:"lib/fancy_spec.fy", lines:[370, 379]}}, methods:{}, ancestors:["FancySpec PositiveMatcher", "Object", "Kernel", "BasicObject"]}, "FancySpec NegativeMatcher":{doc:"<p>NegativeMatcher expects its actual value to be unequal to an\nexpected value.\nIf the values are equal, a SpecTest failure is generated.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards any other message and parameters to the object itself\nand checks the return value.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["msg", "params"], file:"lib/fancy_spec.fy", lines:[422, 431]}}, methods:{}, ancestors:["FancySpec NegativeMatcher", "Object", "Kernel", "BasicObject"]}, "Fancy FDoc":{doc:"<p>FDoc is a tool to generate API documentation from Fancy source.</p>\n\n<p>Works as follows:</p>\n\n<ol>\n<li>We setup a handler to be invoked every time an object is set documentation\nSee fdoc_hook.fy, its loaded even before all of lib/rbx/*.fy so we can\nAlso have documentation for all fancy rubinius.</li>\n<li>We load boot.fy, so we get documentation for all fancy's lib.</li>\n<li>We run FDoc main\nwhich can possibly load any file/directory you specify and optionally\nrun specs, effectively associating them with documented objects.</li>\n<li>Generate output file.\nCurrently the plan is to output a json formatted object.\nTo be loaded by an html file and use jquery to build a GUI from it.</li>\n</ol>\n\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{":main":{doc:"<p>FDoc will load all .fy files you give to it, and optionally run\nany specified FancySpec, and later produce documentation output.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], file:"lib/fdoc.fy", lines:[29, 93]}}, ancestors:["Fancy FDoc", "Object", "Kernel", "BasicObject"]}, "Fancy FDoc Formatter":{doc:"<p>A documentation formater intended to be used by <code data-lang=\"fancy\" data-class-ref=\"FDoc\" class=\"class-ref selectable\">FDoc</code>.</p>\n\n<p>This formatter makes some transformations on a docstring\nand then converts it to html using markdown.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}, methods:{"create_class_references:":{doc:"<p>Creates class references for Fancy class names.\nA docstring may contain class names sorounded by @\nwithout space between the @.</p>\n\n<p>Nested classes can be indicated by using :: like</p>\n\n<pre><code> Foo::Bar\n</code></pre>\n\n<p>This will create references for both, <code data-lang=\"fancy\">Foo</code> and <code data-lang=\"fancy\">Bar</p></code>\n\n<p>Instance methods should be written:</p>\n\n<pre><code> Foo::Bar#baz\n</code></pre>\n\n<p>Class methods should be written:</p>\n\n<pre><code> Foo::Bar.baz\n</code></pre>\n\n<p>Some examples:\nA simple class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code></p>\n\n<p>Nested class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code></p>\n\n<p>A fancy method without arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc JSON\" class=\"class-ref selectable\">JSON</code> <code data-lang=\"fancy\" data-singleton-method-ref=\":generate_map\" data-owner-class=\"Fancy FDoc JSON\" class=\"singleton-method-ref selectable\">generate_map</code></p>\n\n<p>A ruby method reference (will link to ruby docs if available)\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"split\" data-owner-class=\"String\" class=\"ruby-singleton-method-ref selectable\">split</code></p>\n\n<p>A fancy method with many arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Installer\" class=\"class-ref selectable\">Installer</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"initialize:version:install_path:\" data-owner-class=\"Fancy Package Installer\" class=\"singleton-method-ref selectable\">initialize:version:install_path:</code></p>\n\n<p>A singleton method:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc Formatter\" class=\"class-ref selectable\">Formatter</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"format:\" data-owner-class=\"Fancy FDoc Formatter\" class=\"singleton-method-ref selectable\">format:</code></p>\n\n<div class=\"doctags\"></div>\n\n", arg:["str"], file:"lib/fdoc.fy", lines:[253, 329]}}, ancestors:["Fancy FDoc Formatter", "Object", "Kernel", "BasicObject"]}}, methods:{"String#:raise!":{args:[], doc:"<p>Raises a new StdError with <code data-lang=\"fancy\">self</code> as the message.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Module#:[]":{args:["constant_name"], doc:"<p>Returns the value of the constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">constant_name's</code> value.</div></div></div>\n\n"}, "Module#[]:":{args:["constant_name", "value"], doc:"<p>Sets the value of a constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div>New value of constant to be used.</div></div></div>\n\n"}, "Module#included:":{args:["module"], doc:"<p>Gets called when a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> is included into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">module</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> or <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> that has been included into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n"}, "Object#with_mutable_slots:do:":{args:["slotnames", "block"], doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> while having slots defined in <code data-lang=\"fancy\">slotnames</code>\nbe mutable during execution of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotnames</code> </label><div><code data-lang=\"fancy\">Fancy</code> Enumerable@ of slotnames to be mutable within <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n"}, "Fancy Enumerator#initialize:":{args:["@collection"], doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>,\nusing #each: for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div></div>\n\n"}, "Fancy Enumerator#initialize:with:":{args:["@collection", "@iterator"], doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>\nand <code data-lang=\"fancy\">iterator</code> selector to be used for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator&nbsp;&nbsp;</code> </label><div>Selector to use to iterate over <code data-lang=\"fancy\">collection</code>.</div></div></div>\n\n"}, "Fancy Enumerator#:next":{args:[], doc:"<p>Returns the next element in the collection this enumerator is attached to.\nIt will move the internal position forward (compared to e.g. #peek, which doesn't).</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next # =&gt; 1\n e next # =&gt; 2\n e next # =&gt; 3\n e next # =&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Next element in the collection this enumerator is attached to.</div></div></div>\n\n"}, "Fancy Enumerator#:ended?":{args:[], doc:"<p>Indicates if an enumerator has ended (no more values left).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if the enumerator has ended (no more values left), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n"}, "Fancy Enumerator#:peek":{args:[], doc:"<p>Returns the next object in the Enumerator, but doesn't move the\ninternal position forward.\nWhen the position reaches the end, a Fancy StopIteration exception is\nraised.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next p #=&gt; 1\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e next p #=&gt; 2\n e next p #=&gt; 3\n e next p #=&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#:rewind":{args:[], doc:"<p>Resets the enumerator to start from the collection's beginning.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#with:each:":{args:["object", "block"], doc:"<p>Similar to #each: but also passing in a given <code data-lang=\"fancy\">object</code> to each invocation of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to pass along to <code data-lang=\"fancy\">block</code> with each element in the collection.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection and <code data-lang=\"fancy\">object</code>.</div></div></div>\n\n"}, "Fancy Enumerator#each:":{args:["block"], doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the collection this enumerator is attached to.\nUsed for iterating over the collection using this enumerator.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection (iteration).</div></div></div>\n\n"}, "Object#for_option:do:":{args:["option_name", "block"], doc:"<p>Calls a given Block if a command-line option is in <code data-lang=\"fancy\">ARGV</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">option_name</code> </label><div>Name of command-line option.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value of command-line option <code data-lang=\"fancy\">option_name</code>, if given.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">option_name</code> was found in <code data-lang=\"fancy\">ARGV</code> and <code data-lang=\"fancy\">block</code> was called, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n"}, "Object#for_options:do:":{args:["option_names", "block"], doc:"<p>Calls a given Block if any of the given command-line options are in <code data-lang=\"fancy\">ARGV</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">option_names</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of related command-line option names.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value of any command-line option in <code data-lang=\"fancy\">option_names</code>, if given.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if any of <code data-lang=\"fancy\">option_names</code> was found in <code data-lang=\"fancy\">ARGV</code> and <code data-lang=\"fancy\">block</code> was called, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n"}, "Fancy Documentation RDiscount#rdiscount:":{args:["doc"], doc:"<p>Format string as HTML using RDiscount ruby gem.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Handler#initialize:":{args:["@package_name"], doc:"<p>Forward to message initialize:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Handler#load_fancypack:":{args:["success_block"], doc:"<p>Forward to message load_fancypack:else:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Handler#load_fancypack:else:":{args:["success_block", "else_block"], doc:"<p>Loads the @.fancypack file within the downloaded package directory.\nIf no @.fancypack file is found, raise an error.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#initialize:":{args:["@package_name"], doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#initialize:version:":{args:["@package_name", "@version"], doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#initialize:version:install_path:":{args:["@package_name", "@version", "@install_path"], doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> installer for a given package name, an\noptional version (default is <code data-lang=\"fancy\">'latest</code>) and an optional\ninstallation path (default is the standard installation path for\nFancy packages).</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#:run":{args:[], doc:"<p>Runs the installer &amp; installs the package into\n<code data-lang=\"fancy\">$FANCY_PACKAGE_DIR</code>.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#:latest_tag":{args:[], doc:"<p>Returns the latest tag (sorted alphabetically).</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#:tags":{args:[], doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of git tags in the package's Github repository.</div></div></div>\n\n"}, "Fancy Package Installer#has_version?:":{args:["version"], doc:"<p>Indicates, if a given version for this package is available on Github.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">version</code> </label><div>Version of package to check for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return&nbsp;</code> </label><div><code data-lang=\"fancy\">true</code>, if this package has the given version, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n"}, "Fancy Package Installer#download_url:":{args:["version"], doc:"<p>Returns the download url for a given version of the package\nto be installed.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#download_tgz:":{args:["version"], doc:"<p>Downloads the .tar.gz file from Github with the given version\n(tag or branch name) and saves it to the specified <code data-lang=\"fancy\">install_path</code>.</p>\n\n<p>The Default install_path is ~/.fancy/packages/.\nIf an environment variable <code data-lang=\"fancy\">FANCY_PACKAGE_DIR</code> is defined, it\nwill get used.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#unpack_file:":{args:["filename"], doc:"<p>Unpacks the given <code data-lang=\"fancy\">filename</code> and installs it into Fancy's package install dir.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>File name of package's downloaded .tar.gz file (from Github) to extract</div></div></div>\n\n"}, "Fancy Package Installer#rename_dir:":{args:["dirname"], doc:"<p>Renames a given directory to a common way within the install path.\n=> It will rename the given dirname to $user/$repo-$version.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Installer#fulfill_spec:":{args:["spec"], doc:"<p>Installs all dependencies of <code data-lang=\"fancy\">spec</code>, sets up symlinks for binary files in <code data-lang=\"fancy\">spec</code>,\nas well as installing the include-file into the Fancy package lib dir.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">spec</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Specification\" class=\"class-ref selectable\">Specification</code> to be fulfilled.</div></div></div>\n\n"}, "Fancy Package Dependency#initialize:":{args:["@name"], doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Dependency#:install":{args:[], doc:"<p>Installs the Dependency on the System.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package RubyDependency#initialize:":{args:["@gem_name"], doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package RubyDependency#:install":{args:[], doc:"<p>Installs the RubyDependency (a RubyGem) via rbx -S gem on the system.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Specification#add_dependency:":{args:["name"], doc:"<p>Forward to message add_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Specification#add_ruby_dependency:":{args:["gem_name"], doc:"<p>Forward to message add_ruby_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package#install:":{args:["package_name"], doc:"<p>Forward to message install:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package#install:version:":{args:["package_name", "version"], doc:"<p>Installs a package with a given name.\nExpects package_name to be a string in the form of:\n user/repo\nWhich would get the package code from github.com/user/repo</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to install.</div></div></div>\n\n"}, "Fancy Package#:install_dependencies":{args:[], doc:"<p>Installs dependencies found in .fancypack file in the current directory.\nIf no .fancypack file is found, fails and quits.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package#uninstall:":{args:["package_name"], doc:"<p>Uninstalls a package with a given name (if installed).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to uninstall.</div></div></div>\n\n"}, "Fancy Package#:list_packages":{args:[], doc:"<p>Lists (prints) all installed packages on this system.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package#:root_dir":{args:[], doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Fancy Package root install dir.</div></div></div>\n\n"}, "Fancy Package#:package_list_file":{args:[], doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Path to installed_packages.txt <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on system.</div></div></div>\n\n"}, "Fancy Package#:add_to_loadpath":{args:[], doc:"<p>Adds the Fancy Package install dir to the loadpath so you can\neasily <code data-lang=\"fancy\">require:</code> packages into your code.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Matchers MatchAny#:===":{args:["object"], doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other&nbsp;</code> </label><div>Object to match against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">objects</code> matches either <code data-lang=\"fancy\">a</code> or <code data-lang=\"fancy\">b</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n"}, "Matchers MatchAll#:===":{args:["object"], doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to match against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if it matches both <code data-lang=\"fancy\">a</code> and <code data-lang=\"fancy\">b</code> in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n"}, "Fancy FDoc JSON#write:":{args:["filename"], doc:"<p>Forward to message write:call:</p>\n\n<div class=\"doctags\"></div>\n\n"}}, objects:{}}); })();
data/doc/api/fdoc.js CHANGED
@@ -30,12 +30,13 @@
30
30
  var addTree = function(into, tree, depth) {
31
31
  $.each(_.keys(tree).sort(), function(i, name){
32
32
  var div = $("<div>").
33
- css("padding-left", (8*depth.length)+"px").appendTo(into);
33
+ css("padding-left", (8*depth.length + 16)+"px").appendTo(into);
34
34
  var sub = tree[name];
35
35
  var len = _.keys(sub).length;
36
36
  var open = $("<span>").addClass("expand").appendTo(div);
37
37
  if(len > 0) {
38
38
  open.addClass("ui-icon").addClass("ui-icon-carat-1-e");
39
+ open.attr("style", "float:left")
39
40
  }
40
41
  $("<span>").attr("data-class", depth.concat([name]).join(" ")).
41
42
  text(name).addClass("selectable").appendTo(div);
@@ -208,9 +209,6 @@
208
209
  active: false,
209
210
  fillSpace: true
210
211
  });
211
-
212
- $('.sidebar .theme-roller').themeswitcher({ loadTheme: 'Flick' });
213
-
214
212
  }
215
213
 
216
214
  $(main);