(function() { fancy.fdoc(true, "bakkdoor/fancy", {title:"Fancy Documentation", date:"2013-07-25 08:26:04 +0200", classes:{"Console":{doc:"

Console class. Used for STDIO.

\n\n
\n\n", instance_methods:{}, methods:{"println:":{doc:"

Prints a given object on STDOUT, followed by a newline.

\n\n
Object to be printed on STDOUT, followed by a newline.
\n\n", arg:["obj"], file:"lib/rbx/console.fy", lines:[20, 28]}, ":readln":{doc:"

Reads a line from STDIN and returns it as a String.

\n\n
Line (String) read from STDIN.
\n\n", arg:[], file:"lib/rbx/console.fy", lines:[44, 56]}, ":clear":{doc:"

Clears the Console.

\n\n
\n\n", arg:[], file:"lib/rbx/console.fy", lines:[58, 62]}, ":newline":{doc:"

Prints a newline to STDOUT.

\n\n
\n\n", arg:[], file:"lib/rbx/console.fy", lines:[4, 8]}, "print:":{doc:"

Prints a given object on STDOUT.

\n\n
Object to be printed on STDOUT.
\n\n", arg:["obj"], file:"lib/rbx/console.fy", lines:[10, 18]}, "readln:":{doc:"

Prints a given message to STDOUT, followed by reading a line from\nSTDIN.

\n\n
A String that should be printed to STDOUT before reading from STDIN.
Line (String) read from STDIN.
\n\n", arg:["message"], file:"lib/rbx/console.fy", lines:[31, 42]}}, ancestors:["Console", "Object", "Kernel", "BasicObject"]}, "Number":{doc:"

Number is a mixin-class for all number values (integer & floats for\nnow).

\n\n
\n\n", instance_methods:{"upto:do:":{doc:"

Calls block with each Number between self and num.\nExpects num to be greater or equal to self.

\n\n
Maximum Number to call block with.
A Block that should be called with each Number between self and num.
self
\n\n", arg:["num", "block"], file:"lib/number.fy", lines:[25, 40]}, "downto:do:":{doc:"

Calls block with each Number between self and num.\nExpects num to be smaller or equal to self.

\n\n
Minimum Number to call block with.
A Block that should be called with each Number between self and num.
self
\n\n", arg:["num", "block"], file:"lib/number.fy", lines:[79, 95]}, ":doubled":{doc:"

Returns the double value of a Number.

\n\n
Doubled value of self.
\n\n", arg:[], file:"lib/number.fy", lines:[126, 134]}, ":negate":{doc:"

Negates a Number (-1 becomes 1 and vice versa).

\n\n
Negated value of self.
\n\n", arg:[], file:"lib/number.fy", lines:[160, 168]}, "min:":{doc:"\n\n
Minimum value of self and other.
\n\n", arg:["other"], file:"lib/number.fy", lines:[202, 212]}, "upto:":{doc:"

Returns an Array with Numbers starting at self and going up to num.\nExpects num to be greater or equal to self.

\n\n
Number to create an Array up to.
Array containing numbers from self to num.
\n\n", arg:["num"], file:"lib/number.fy", lines:[7, 23]}, "upto:in_steps_of:do:":{doc:"

Calls block every steps steps between self and num with the current Number.\nExpects num to be greater or equal to self.

\n\n
Maximum Number to call block with.
Number of numbers to skip each step.
A Block that should be called every steps steps between self and num.
self
\n\n", arg:["num", "steps", "block"], file:"lib/number.fy", lines:[42, 59]}, "downto:in_steps_of:do:":{doc:"

Calls block every steps steps between self and num with the current Number.\nExpects num to be smaller or equal to self.

\n\n
Minimum Number to call block with.
Number of numbers to skip each step.
A Block that should be called every steps steps between self and num.
self
\n\n", arg:["num", "steps", "block"], file:"lib/number.fy", lines:[97, 114]}, ":cubed":{doc:"

Returns the cubed value of a Number.

\n\n
Cubed value of self.
\n\n", arg:[], file:"lib/number.fy", lines:[136, 144]}, ":even?":{doc:"

Indicates, if a Number is even.

\n\n
true, if self is even, false otherwise.
\n\n", arg:[], file:"lib/number.fy", lines:[170, 178]}, ":random":{doc:"

Returns a random number between 0 and self.

\n\n
Random number between 0 and self.
\n\n", arg:[], file:"lib/number.fy", lines:[214, 222]}, ":squared":{doc:"

Returns the square of a Number.

\n\n
Squared value of self.
\n\n", arg:[], file:"lib/number.fy", lines:[116, 124]}, ":odd?":{doc:"

Indicates, if a Number is odd.

\n\n
true, if self is odd, false otherwise.
\n\n", arg:[], file:"lib/number.fy", lines:[180, 188]}, "downto:":{doc:"

Returns an Array with Numbers starting at self and going down to num.\nExpects num to be smaller or equal to self.

\n\n
Number to create an Array down to.
Array containing numbers from self down to num.
\n\n", arg:["num"], file:"lib/number.fy", lines:[61, 77]}, ":abs":{doc:"

Returns the absolute (positive) value of a Number.

\n\n
Absolute (positive) value of self.
\n\n", arg:[], file:"lib/number.fy", lines:[146, 158]}, "max:":{doc:"\n\n
Maximum value of self and other.
\n\n", arg:["other"], file:"lib/number.fy", lines:[190, 200]}}, methods:{}, ancestors:["Number", "Object", "Kernel", "BasicObject"]}, "Fixnum":{doc:"

Standard class for integer values in Fancy.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Fixnum", "Number", "Object", "BasicObject", "ImmediateValue", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "Float":{doc:"

Standard class for floating point number values in Fancy.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Float", "Number", "Object", "BasicObject", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "Bignum":{doc:"

Class for large integer values in Fancy.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Bignum", "Number", "Object", "BasicObject", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "System":{doc:"

System class. Holds system-wide relevant methods.

\n\n
\n\n", instance_methods:{}, methods:{":exit":{doc:"

Exit the running Fancy process.

\n\n
\n\n", arg:[], file:"lib/rbx/system.fy", lines:[8, 14]}, "exit:":{doc:"

Exit the running Fancy process with a given exit code.

\n\n
Exit code (Fixnum) to be returned to the parent process.
\n\n", arg:["exitcode"], file:"lib/rbx/system.fy", lines:[16, 24]}, "do:":{doc:"

Runs the given string as a system() command.

\n\n
\n\n", arg:["command_str"], file:"lib/rbx/system.fy", lines:[26, 32]}, "piperead:":{doc:"

Runs the given string as a popen() call and returns the output\nof the call as a string.

\n\n
\n\n", arg:["command_str"], file:"lib/rbx/system.fy", lines:[34, 41]}, ":abort":{doc:"

Exits the current running Fancy process (application) with an exit\ncode of 1 (indicating failure).

\n\n
\n\n", arg:[], file:"lib/system.fy", lines:[2, 9]}, "abort:":{doc:"

Prints message on *stderr* and exits with an exit code of 1 (indicating\nfailure).

\n\n
Error message to be printed before aborting programm execution.
\n\n", arg:["message"], file:"lib/system.fy", lines:[11, 21]}, "pipe:":{doc:"

Runs the given string as a popen3() call and returns a IO handle\nthat can be read from

\n\n
String to run as a command via popen3()
IO object representing the command's STDOUT IO stream.
\n\n", arg:["command_str"], file:"lib/rbx/system.fy", lines:[43, 54]}, "pipe:do:":{doc:"

Runs the given string as a popen3() call, passing in a given Block.\nThe Block is expected to take 3 arguments for STDIN, STDOUT and STDERR.

\n\n
String to run as a command via popen3()
Block to be called with STDIN, STDOUT and STDERR.
\n\n", arg:["command_str", "block"], file:"lib/rbx/system.fy", lines:[56, 66]}, "aborting:do:":{doc:"

Prints message on *stderr*, calls block and finally exits with an exit\ncode of 1 (indicating failure).

\n\n
Message to print on *stderr* before calling block and exiting.
Block to be called before exiting execution.
\n\n", arg:["message", "block"], file:"lib/system.fy", lines:[23, 35]}}, ancestors:["System", "Object", "Kernel", "BasicObject"]}, "Exception":{doc:"

Base Exception class.\nAll Exception classes inherit from Exception.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Exception", "Object", "Kernel", "BasicObject"]}, "StandardError":{doc:"

StandardError. Base class of most Exception classes.

\n\n
\n\n", instance_methods:{"initialize:":{doc:"

Creates a new Exception with a given message.

\n\n
Message (String) for the Exception.
\n\n", arg:["msg"], file:"lib/rbx/exception.fy", lines:[23, 31]}, ":initialize":{doc:"

Creates a new Exception with an empty message.

\n\n
\n\n", arg:[], file:"lib/rbx/exception.fy", lines:[17, 21]}, ":raise!":{doc:"

Raises (throws) an Exception to be caught somewhere up the\ncallstack.

\n\n
\n\n", arg:[], file:"lib/rbx/exception.fy", lines:[33, 40]}}, methods:{"raise:":{doc:"

Raises new Exception with message.

\n\n

Example:

\n\n
 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
\n\n
\n\n", arg:["message"], file:"lib/exception.fy", lines:[2, 15]}}, ancestors:["StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "IO":{doc:"

Base class for IO related classes (like File, Socket, Console etc.).

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["IO", "IOMixin", "Object", "BasicObject", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel", "BasicObject"]}, "TCPSocket":{doc:"

TCP Socket class.

\n\n
\n\n", instance_methods:{"send:":{doc:"

Forward to message send:flags:

\n\n
\n\n", arg:["msg"], file:"lib/rbx/tcp_socket.fy", lines:[20, 23]}}, methods:{"open:port:":{doc:"

Creates and opens a new TCPSocket on server and port.

\n\n
Server hostname to open Socket on.
Server port to open Socket on.
\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:"

TCP Server

\n\n
\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:"

MatchData instances are created when using the #=== match operator\n(e.g. by using match/case expressions).

\n\n
\n\n", instance_methods:{"at:":{doc:"\n\n
Index of value to get.
Value at index idx.
\n\n", arg:["idx"], file:"lib/rbx/match_data.fy", lines:[11, 18]}, ":to_a":{doc:"\n\n
Array representation of self containing matched values of self.
\n\n", arg:[], file:"lib/rbx/match_data.fy", lines:[20, 30]}}, methods:{}, ancestors:["MatchData", "Unmarshalable", "Object", "Kernel", "BasicObject"]}, "Regexp":{doc:"

Regular Expression class. Used by Regexp literals in Fancy.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Regexp", "Object", "Kernel", "BasicObject"]}, "MethodMixin":{doc:"

Mixin class with common methods included by Method and UnboundMethod.

\n\n
\n\n", instance_methods:{"documentation:":{doc:"\n\n
New docstring for self.
\n\n", arg:["docstring"], file:"lib/rbx/method.fy", lines:[14, 20]}, ":visibility":{doc:"\n\n
The visibility ('private, 'protected, 'public) of a Method in its defined context, if any.
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[22, 28]}, ":public?":{doc:"\n\n
true, if the Method is public in its defined context.
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[30, 35]}, ":private?":{doc:"\n\n
true, if the Method is private in its defined context.
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[44, 49]}, ":documentation":{doc:"\n\n
Docstring for self.
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[6, 12]}, ":protected?":{doc:"\n\n
true, if the Method is protected in its defined context.
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[37, 42]}, ":tests":{doc:"

Returns an Array of all the FancySpec SpecTests defined for a\nMethod.

\n\n
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[51, 59]}}, methods:{}, ancestors:["MethodMixin", "Object", "Kernel", "BasicObject"]}, "Method":{doc:"

An instance of Method represents a method on a Class.\nEvery method in Fancy is an instance of the Method class.

\n\n
\n\n", instance_methods:{":call":{doc:"

Forward to message call:

\n\n
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[78, 81]}}, methods:{}, ancestors:["Method", "MethodMixin", "Object", "BasicObject", "Unmarshalable", "Object", "Kernel", "BasicObject"]}, "UnboundMethod":{doc:"

An instance UnboundMethod represents a Method object not bound to a specific Class or Object.

\n\n
\n\n", instance_methods:{":call":{doc:"

Forward to message call:

\n\n
\n\n", arg:[], file:"lib/rbx/method.fy", lines:[95, 98]}}, methods:{}, ancestors:["UnboundMethod", "MethodMixin", "Object", "BasicObject", "Object", "Kernel", "BasicObject"]}, "NameError":{doc:"

NameError exception class. Used within Rubinius.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["NameError", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "NoMethodError":{doc:"

Exception class that gets thrown when a method wasn't found within a class.

\n\n
\n\n", instance_methods:{":method_name":{doc:"

Returns the name of the method that was not found as a String.

\n\n
Name of the method not found (as String).
\n\n", arg:[], file:"lib/rbx/no_method_error.fy", lines:[6, 17]}}, methods:{":inspect":{doc:"

NoMethodError

\n\n
\n\n", arg:[], file:"lib/rbx/no_method_error.fy", lines:[19, 21]}}, ancestors:["NoMethodError", "NameError", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Thread":{doc:"

Thread class.\nDeals with parallel execution.

\n\n

TODO:\n=> Still need to add more Fancy-ish wrapper methods and method\n documentation.

\n\n
\n\n", instance_methods:{}, methods:{"sleep:":{doc:"

Sets the Fancy process for a given amount of seconds to sleep.

\n\n
\n\n", arg:["seconds"], file:"lib/rbx/thread.fy", lines:[82, 86]}}, ancestors:["Thread", "Object", "Kernel", "BasicObject"]}, "Date":{doc:"

Date class. Used for timely stuff.

\n\n
\n\n", instance_methods:{":!=":{doc:"\n\n
Other Date to compare to.
true if equal, false otherwhise.
\n\n", arg:["other"], file:"lib/rbx/date.fy", lines:[14, 21]}}, methods:{}, ancestors:["Date", "", "Comparable", "", "Object", "Kernel", "BasicObject"]}, "Time":{doc:"

Time class. Used for even more timely stuff.

\n\n
\n\n", instance_methods:{}, methods:{"duration:":{doc:"

Calls block and times the runtime duration of doing so in seconds.

\n\n

Example:

\n\n
 Time duration: { Thread sleep: 1 } # => >= 1.0\n
\n\n
Block to be called & timed.
Float that is the duration (in seconds) of calling block.
\n\n", arg:["block"], file:"lib/time.fy", lines:[2, 16]}}, ancestors:["Time", "Comparable", "Object", "Kernel", "BasicObject"]}, "Rubinius Actor":{doc:"

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.

\n\n

Actors are used to implement asynchronous and future message sends in Fancy\nusing the @ and @@ syntax.

\n\n

Example:

\n\n
 a = Actor spawn: {\n   loop: {\n     match Actor receive {\n       case 'hello -> \"Hello World\" println\n       case 'quit ->\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
\n\n
\n\n", instance_methods:{}, methods:{"spawn:":{doc:"

Example:

\n\n
 Actor spawn: {\n   loop: {\n     Actor receive println # print all incoming messages\n   }\n }\n
\n\n
Block that represents the Actor's code body to be executed in a new Thread.
A new Actor running block in a seperate Thread.
\n\n", arg:["block"], file:"lib/rbx/actor.fy", lines:[38, 52]}}, ancestors:["Rubinius Actor", "Object", "Kernel", "BasicObject"]}, "Object":{doc:"

Root class of Fancy's class hierarchy.\nAll classes inherit from Object.

\n\n
\n\n", instance_methods:{":++":{doc:"

Returns the String concatenation of self and other.\nCalls to_s on self and other and concatenates the results to a new String.

\n\n
Other object to concatenate its String value with.
String concatenation of String values of self and other.
\n\n", arg:["other"], file:"lib/object.fy", lines:[7, 17]}, ":!=":{doc:"

Indicates, if two objects are not equal.

\n\n
Other object to compare against.
true if self is not equal to other, false otherwise.
\n\n", arg:["other"], file:"lib/object.fy", lines:[51, 60]}, ":&&":{doc:"

Boolean conjunction.\nIf self and other are both true-ish (non-nil, non-false), returns other.\nIf other is a Block, calls it and returns its return value.

\n\n
Object or Block (for short-circuit evaluation) to compare self to.
other if both self and other are true-ish, self otherwise.
\n\n", arg:["other"], file:"lib/object.fy", lines:[180, 196]}, ":die!":{doc:"

Tells an object to let its actor to die (quit running).

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[515, 521]}, ":to_i":{doc:"\n\n
Fixnum representation of self.
\n\n", arg:[], file:"lib/object.fy", lines:[155, 161]}, "get_slot:":{doc:"

Returns the value of a slot of self.

\n\n
Name of slot to get the value of.
Value of slot with name slotname.
\n\n", arg:["slotname"], file:"lib/rbx/object.fy", lines:[50, 59]}, "while:do:else:":{doc:"\n\n
Block to be used as condition for while loop.
Block to be called while condition yields true.
Block to be called if body never got called (condition never yielded true).
\n\n", arg:["condition", "body", "alternative"], file:"lib/object.fy", lines:[259, 267]}, ":is":{doc:"

Returns a PositiveMatcher for self.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[449, 455]}, "define_singleton_method:with:":{doc:"

Dynamically defines a method on self's metaclass (a singleton method) using a given Block.

\n\n
Name of the method to be defined on self.
Block to be used as the method's body.
\n\n", arg:["name", "block"], file:"lib/rbx/object.fy", lines:[61, 70]}, "with_output_to:do:":{doc:"

Opens filename and rebinds *stdout* to it within block.

\n\n

Example:

\n\n
 with_output_to: \"/tmp/hello_world.txt\" do: {\n   \"hello\" println\n   \"world\" println\n }\n
\n\n

This writes

\n\n
 hello\n world\n
\n\n

to /tmp/hello_world.txt

\n\n
Filename of file to write to.
Block to be executed with *stdout* being bound to the output file.
\n\n", arg:["filename", "block"], file:"lib/object.fy", lines:[739, 760]}, "undefine_singleton_method:":{doc:"

Undefines a singleton method of self.

\n\n
Name of the method to be undefined no self's metaclass.
\n\n", arg:["name"], file:"lib/rbx/object.fy", lines:[72, 80]}, "until:do:":{doc:"

Same as:\ncond_block until_do: body_block

\n\n
\n\n", arg:["cond_block", "body_block"], file:"lib/object.fy", lines:[269, 276]}, ":does_not":{doc:"

Returns a NegativeMatcher for self.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[472, 478]}, ":fancy_methods":{doc:"\n\n
Array of all class methods defined in Fancy.
\n\n", arg:[], file:"lib/object.fy", lines:[762, 768]}, ":should_not":{doc:"

Returns a NegativeMatcher for self.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[472, 478]}, "is_a?:":{doc:"

Indicates, if an object is an instance of a given Class.

\n\n
Class to check for if self is an instance of.
true if self is an instance of class, false otherwise.
\n\n", arg:["class"], file:"lib/rbx/object.fy", lines:[82, 91]}, "do:while:":{doc:"\n\n
Block to be called at least once and as long as cond_block yields a true-ish value.
Condition Block used to determine if body_block@ should be called again.
\n\n", arg:["body_block", "cond_block"], file:"lib/object.fy", lines:[278, 286]}, ":<=>":{doc:"\n\n
Other object to compare against.
-1 if self is smaller, 0 if self is equal or 1 if self is greater or equal compared to other.
\n\n", arg:["other"], file:"lib/object.fy", lines:[625, 634]}, "kind_of?:":{doc:"

Same as Object#is_a?:\nIndicates, if an object is an instance of a given Class.

\n\n
\n\n", arg:["class"], file:"lib/rbx/object.fy", lines:[93, 100]}, ":ruby_methods":{doc:"\n\n
Array of all class methods defined in Ruby.
\n\n", arg:[], file:"lib/object.fy", lines:[770, 776]}, "receive_message:":{doc:"

Dynamically sends a given message (without parameters) to self.

\n\n
Name of message to be sent to self dynamically.
\n\n", arg:["message"], file:"lib/rbx/object.fy", lines:[102, 110]}, "do:until:":{doc:"\n\n
Block to be called at least once and as long as cond_block yields a false-ish value.
Condition Block used to determine if body_block@ should be called again.
\n\n", arg:["body_block", "cond_block"], file:"lib/object.fy", lines:[288, 296]}, ":actor":{doc:"

Returns the Object's actor.\nIf none exists at this moment, a new one will be created\nand starts running in the background.

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[523, 531]}, ":><":{doc:"

Shorthand for: MatchAny new: self with: other

\n\n
Other Object to create a MatchAny matcher with.
\n\n", arg:["other"], file:"lib/object.fy", lines:[778, 786]}, "loop:":{doc:"

Infinitely calls the block (loops).

\n\n
Block to be called endlessly (loop).
\n\n", arg:["block"], file:"lib/object.fy", lines:[19, 27]}, "unless:do:":{doc:"

Same as:\ncond if_true: { nil } else: block

\n\n
\n\n", arg:["cond", "block"], file:"lib/object.fy", lines:[298, 305]}, "send_future:":{doc:"

Forward to message send_future:with_params:

\n\n
\n\n", arg:["message"], file:"lib/object.fy", lines:[532, 543]}, ":to_s":{doc:"\n\n
String represenation of self.
\n\n", arg:[], file:"lib/rbx/object.fy", lines:[31, 37]}, "receive_message:with_params:":{doc:"

Dynamically sends a given message with parameters to self.

\n\n
Name of message to be sent to self dynamically.
Array of parameters used with message.
\n\n", arg:["message", "params"], file:"lib/rbx/object.fy", lines:[112, 121]}, "unless:do:else:":{doc:"

Same as:\ncond if_true: else_block else: block

\n\n
\n\n", arg:["cond", "block", "else_block"], file:"lib/object.fy", lines:[307, 314]}, ":documentation":{doc:"

Returns the Fancy Documentation object for an Object.

\n\n
Fancy Documentation object for self.
\n\n", arg:[], file:"lib/object.fy", lines:[328, 336]}, "send_future:with_params:":{doc:"

Creates a FutureSend object (a Future / Promise) that will hold the value of sending message to self.

\n\n
Message to be sent as a FutureSend.
Array of parameters of the FutureSend.
FutureSend object that will hold the return value of message with params on self.
\n\n", arg:["message", "params"], file:"lib/object.fy", lines:[533, 543]}, "require:":{doc:"

Loads and evaluates a given Fancy source file by trying to find the specified\nRelative paths are allowed (and by default expected).

\n\n
in Fancy's loadpath (see Fancy CodeLoader).
\n\n", arg:["file_path"], file:"lib/rbx/object.fy", lines:[12, 19]}, "responds_to?:":{doc:"

Indicates if an object responds to a given message.

\n\n
The message to check for (preferably a Symbol).
true if self responds to message, false otherwise.
\n\n", arg:["message"], file:"lib/rbx/object.fy", lines:[123, 132]}, ":print":{doc:"

Same as:\nstdout print: self

\n\n

Prints self on stdout.

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[40, 49]}, "unless:then:":{doc:"

Same as:\ncond if_true: { nil } else: block

\n\n
\n\n", arg:["cond", "block"], file:"lib/object.fy", lines:[298, 305]}, ":<>":{doc:"

Shorthand for: MatchAll new: self with: other

\n\n
Other Object to create a MatchAll matcher with.
\n\n", arg:["other"], file:"lib/object.fy", lines:[788, 796]}, "extend:":{doc:"

Extends self with the methods in class (by including its methods in self's metaclass).

\n\n
Class to extend self with.
\n\n", arg:["class"], file:"lib/rbx/object.fy", lines:[134, 142]}, "if_true:":{doc:"

Calls the block (default behaviour).

\n\n
Block to be called.
Value of calling block with self.
\n\n", arg:["block"], file:"lib/object.fy", lines:[62, 71]}, "unless:then:else:":{doc:"

Same as:\ncond if_true: else_block else: block

\n\n
\n\n", arg:["cond", "block", "else_block"], file:"lib/object.fy", lines:[307, 314]}, "lambda:":{doc:"\n\n
Block to be used as the lambda's body.
Proc with Ruby's lambda semantics (e.g. return always becomes return_local)
\n\n", arg:["block"], file:"lib/rbx/object.fy", lines:[144, 151]}, "if_true:else:":{doc:"

Calls the then_block (default behaviour).

\n\n
Block to be called.
Does not get called (default behaviour).
Value of calling then_block with self.
\n\n", arg:["then_block", "else_block"], file:"lib/object.fy", lines:[73, 84]}, "if:then:":{doc:"

Same as:\ncond if_true: block

\n\n
\n\n", arg:["cond", "block"], file:"lib/object.fy", lines:[232, 239]}, "method:":{doc:"

Returns the method with a given name for self, if defined.

\n\n
Method with method_name defined for self, or nil.
\n\n", arg:["method_name"], file:"lib/object.fy", lines:[319, 326]}, "send_async:":{doc:"

Forward to message send_async:with_params:

\n\n
\n\n", arg:["message"], file:"lib/object.fy", lines:[544, 556]}, "ignoring:do:":{doc:"

Example:

\n\n
 ignoring: (IOError, ZeroDivisionError) do: {\n   # do something\n }\n
\n\n
Fancy Enumerable of Exceptions to ignore within block.
Block to be executed while ignoring (catching but not handling) Exceptions defined in exception_classes.
\n\n", arg:["exception_classes", "block"], file:"lib/object.fy", lines:[798, 812]}, ":nil?":{doc:"\n\n
false.
\n\n", arg:[], file:"lib/object.fy", lines:[110, 116]}, "if:then:else:":{doc:"

Same as:\ncond if_true: then_block else: else_block

\n\n
\n\n", arg:["cond", "then_block", "else_block"], file:"lib/object.fy", lines:[241, 248]}, ":identity":{doc:"

The identity method simply returns self.

\n\n
self.
\n\n", arg:[], file:"lib/object.fy", lines:[348, 356]}, "send_async:with_params:":{doc:"

Sends message with params to self asynchronously and immediately returns nil.

\n\n
Message to be sent asynchronously to self.
Array of parameters as part of sending message asynchronously to self.
nil
\n\n", arg:["message", "params"], file:"lib/object.fy", lines:[545, 556]}, ":does":{doc:"

Returns a PositiveMatcher for self.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[449, 455]}, "returning:do:":{doc:"

Returns value after calling block with it.\nUseful for returning some object after using it, e.g.:

\n\n
 # this will return [1,2]\n returning: [] do: |arr| {\n   arr << 1\n   arr << 2\n }\n
\n\n
Value that gets returned at the end.
A Block that gets called with value before returning value.
value
\n\n", arg:["value", "block"], file:"lib/object.fy", lines:[358, 377]}, "synchronized:":{doc:"

Runs a given Block in a synchronized fashion if called by multiple Threads.\nUses a Mutex in the background for synchronization (created on demand for each Object).\nCalls block with self.

\n\n
Block to be run only by one Thread at a time.
\n\n", arg:["block"], file:"lib/object.fy", lines:[558, 571]}, ":is_not":{doc:"

Returns a NegativeMatcher for self.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[472, 478]}, "if_false:":{doc:"

Does nothing (default behaviour).

\n\n
nil
\n\n", arg:["block"], file:"lib/object.fy", lines:[86, 93]}, ":if_responds?":{doc:"

Returns a Proxies RespondsToProxy for self that forwards any messages\nonly if self responds to them.

\n\n

Example:

\n\n
 # only send 'some_message: if object responds to it:\n object if_responds? some_message: some_parameter\n
\n\n
Proxies RespondsToProxy for self
\n\n", arg:[], file:"lib/object.fy", lines:[379, 392]}, "if_false:else:":{doc:"

Calls else_block (default behaviour).

\n\n
Does not get called (default behaviour).
Block to be called.
Value of calling else_block.
\n\n", arg:["then_block", "else_block"], file:"lib/object.fy", lines:[95, 105]}, "copy_slots:from:":{doc:"

Copies slots from object to self.

\n\n
Fancy Enumerable of slot names to copy from object.
Target Object to copy slots from.
\n\n", arg:["slots", "object"], file:"lib/object.fy", lines:[573, 584]}, "sleep:":{doc:"

Sets the current Thread (in which self is running) for a given amount to sleep.

\n\n
Amount of seconds to sleep.
\n\n", arg:["seconds"], file:"lib/object.fy", lines:[692, 700]}, "rebind_method:with:within:":{doc:"

If within_block takes an argument, it is called with self.

\n\n

Example:

\n\n
 class MyRebindableClass {\n   def foo {\n     42\n   }\n }\n\n r = MyRebindableClass new\n r rebind_method: 'foo with: { 0 } within: @{ foo } # => 0\n
\n\n
Name of (singleton) method to rebind for self.
Name of method or Block to rebind method_name to.
Block in which method_name is rebound to rebind_callable.
Value of calling within_block with self.
\n\n", arg:["method_name", "rebind_callable", "within_block"], file:"lib/object.fy", lines:[814, 835]}, "if_nil:":{doc:"

Does nothing (default behaviour).

\n\n
nil
\n\n", arg:["block"], file:"lib/object.fy", lines:[86, 93]}, "if_nil:else:":{doc:"

Calls else_block (default behaviour).

\n\n
Does not get called (default behaviour).
Block to be called.
Value of calling else_block.
\n\n", arg:["then_block", "else_block"], file:"lib/object.fy", lines:[95, 105]}, "backtick:":{doc:"

This is the default implementation for backtick: which gets called when using the backtick syntax.

\n\n

For example:

\n\n
 `cat README`\n
\n\n

Gets translated to the following message send:

\n\n
 self backtick: \"cat README\"\n
\n\n

Which 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 String.

\n\n
\n\n", arg:["str"], file:"lib/object.fy", lines:[394, 410]}, "copy_slots_from:":{doc:"

Copies all slots from object to self.

\n\n
Object to copy slots from.
\n\n", arg:["object"], file:"lib/object.fy", lines:[586, 594]}, ":false?":{doc:"\n\n
false.
\n\n", arg:[], file:"lib/object.fy", lines:[118, 124]}, ":||":{doc:"

Boolean disjunction.\nIf self is true-ish (non-nil, non-false) returns self.\nOtherwise returns other (if other is a Block, calls it first and returns its return value)

\n\n
Object or Block (for short-circuit evaluation) to compare self to.
self if self is true-ish, other otherwise.
\n\n", arg:["other"], file:"lib/object.fy", lines:[198, 214]}, ":?":{doc:"

Calls #value on future. Shortcut method.

\n\n
Future object to get the value from.
Result of calling #value on future.
\n\n", arg:["future"], file:"lib/object.fy", lines:[412, 421]}, "get_slots:":{doc:"\n\n
Array of slot names to retrieve from self.
Array of slot values of slot names passed in via slots.
\n\n", arg:["slots"], file:"lib/object.fy", lines:[596, 605]}, ":println":{doc:"

Same as:\nstdout println: self

\n\n

Prints self on stdout, followed by a newline.

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[29, 38]}, ":true?":{doc:"\n\n
false.
\n\n", arg:[], file:"lib/object.fy", lines:[126, 132]}, "documentation:":{doc:"

Sets the documentation string for an Object.

\n\n
New docstring for self.
\n\n", arg:["docstring"], file:"lib/object.fy", lines:[338, 346]}, ":_":{doc:"\n\n
Object.
\n\n", arg:[], file:"lib/object.fy", lines:[837, 843]}, "next:":{doc:"

Returns value for current iteration and skip to the next one.

\n\n
Value for next iteration.
\n\n", arg:["value"], file:"lib/object.fy", lines:[447, 455]}, ":break":{doc:"

Breaks / Stops current iteration.

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[457, 463]}, "yield:":{doc:"

Same as Fiber##yield:

\n\n
\n\n", arg:["values"], file:"lib/object.fy", lines:[431, 437]}, "break:":{doc:"

Returns value from iteratioen.

\n\n
Value to return from iteration.
\n\n", arg:["value"], file:"lib/object.fy", lines:[465, 473]}, ":slots":{doc:"\n\n
Array of slot names that self has.
\n\n", arg:[], file:"lib/object.fy", lines:[684, 690]}, ":to_enum":{doc:"\n\n
Fancy Enumerator for self using 'each: for iteration.
\n\n", arg:[], file:"lib/object.fy", lines:[163, 169]}, ":next":{doc:"

Skip to the next iteration.

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[439, 445]}, "tap:":{doc:"

Calls a given Block with self before returning self.

\n\n
Block to be called with self.
self.
\n\n", arg:["block"], file:"lib/object.fy", lines:[672, 682]}, ":to_hash":{doc:"\n\n
Hash representation of self based on slot values.
\n\n", arg:[], file:"lib/object.fy", lines:[143, 153]}, "to_enum:":{doc:"\n\n
Message to use for iteration on self.
Fancy Enumerator for self using iterator for iteration.
\n\n", arg:["iterator"], file:"lib/object.fy", lines:[171, 178]}, ":yield":{doc:"

Same as Fiber##yield.

\n\n
\n\n", arg:[], file:"lib/object.fy", lines:[423, 429]}, "let:be:":{doc:"

Forward to message let:be:in:ensuring:

\n\n
\n\n", arg:["var_name", "value"], file:"lib/object.fy", lines:[701, 737]}, ":to_a":{doc:"\n\n
Array representation of self.
\n\n", arg:[], file:"lib/object.fy", lines:[134, 140]}, "and:":{doc:"

Boolean conjunction.\nIf self and other are both true-ish (non-nil, non-false), returns other.\nIf other is a Block, calls it and returns its return value.

\n\n
Object or Block (for short-circuit evaluation) to compare self to.
other if both self and other are true-ish, self otherwise.
\n\n", arg:["other"], file:"lib/object.fy", lines:[180, 196]}, "let:be:in:ensuring:":{doc:"

Dynamically rebinds var_name as dynamic variable with value as the value within block.\nExceptions raised within ensure_block are ignored.\nThose raised in block will be reraised up the callstack.

\n\n

Example:

\n\n
 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
\n\n
Symbol that represents the name of the dynamic variable to be set.
Value for the variable.
Block in which var_name will be dynamically bound to value.
Block to be always called, even when block raised an exception.
Returns value
\n\n", arg:["var_name", "value", "block", "ensure_block"], file:"lib/object.fy", lines:[702, 737]}, ":should":{doc:"

Returns a PositiveMatcher for self.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[449, 455]}, ":dup":{doc:"

Returns a deep clone of self using Ruby's Marshal class.

\n\n
Copy (clone) of self.
\n\n", arg:[], file:"lib/rbx/object.fy", lines:[21, 29]}, "or:":{doc:"

Boolean disjunction.\nIf self is true-ish (non-nil, non-false) returns self.\nOtherwise returns other (if other is a Block, calls it first and returns its return value)

\n\n
Object or Block (for short-circuit evaluation) to compare self to.
self if self is true-ish, other otherwise.
\n\n", arg:["other"], file:"lib/object.fy", lines:[198, 214]}, "do:":{doc:"

Helper method that calls block with self as the receiver.\nThis allows message cascading like code, e.g.:

\n\n
 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
\n\n

If you pass it a block with 1 argument this method behaves exactly like Object tap:

\n\n

Example:

\n\n
 some_complex_object do: @{\n   method_1: arg1\n   method_2: arg2\n   method_3: arg3\n }\n
\n\n
Block to be called in the context of self.
self.
\n\n", arg:["block"], file:"lib/object.fy", lines:[636, 670]}, "set_slot:value:":{doc:"

Sets an object's slot with a given value.

\n\n
Name of slot to be set.
Value for slot to be set.
\n\n", arg:["slotname", "val"], file:"lib/rbx/object.fy", lines:[39, 48]}, "xor:":{doc:"\n\n
Object to compare self against.
true if only one of self and other is true, false otherwise.
\n\n", arg:["other"], file:"lib/object.fy", lines:[216, 227]}, "while:do:":{doc:"

Same as:\ncond_block while_do: body_block

\n\n
\n\n", arg:["cond_block", "body_block"], file:"lib/object.fy", lines:[250, 257]}, "let:be:in:":{doc:"

Forward to message let:be:in:ensuring:

\n\n
\n\n", arg:["var_name", "value", "block"], file:"lib/object.fy", lines:[701, 737]}}, methods:{}, ancestors:["Object", "Kernel", "BasicObject"]}, "Class":{doc:"

This class is the class of Class objects - e.g. Object, Array,\nString etc.\nAny class in the language is an instance of this class, as in Ruby\nor Smalltalk.

\n\n
\n\n", instance_methods:{":forwards_unary_ruby_methods":{doc:"

Creates ruby_alias methods for any unary ruby methods of a class.

\n\n
\n\n", arg:[], file:"lib/rbx/class.fy", lines:[207, 219]}, "write_slot:":{doc:"

Defines a slot writer method for a given slotname.

\n\n
Name of slot to define a setter method for.
\n\n", arg:["slotname"], file:"lib/class.fy", lines:[183, 191]}, "new:":{doc:"

Creates a new instance of self calling initialize:.

\n\n
Argument to initialize:.
A new instance of Class self.
\n\n", arg:["arg"], file:"lib/rbx/class.fy", lines:[17, 28]}, "class_eval:":{doc:"

Evaluates a given String of Fancy code or a Block in the class context of self.\nUseful for dynamically defining methods on a class etc.

\n\n

Example:

\n\n
 Array class_eval: \"def foo { 'foo println }\"\n [1,2,3] foo  # => prints 'foo\n
\n\n
String or Block to be evaluated in the context of this Class.
\n\n", arg:["str_or_block"], file:"lib/rbx/class.fy", lines:[221, 237]}, "read_write_slot:":{doc:"

Defines slot reader & writer methods for a given slotname.

\n\n
Name of slot to define getter & setter methods for.
\n\n", arg:["slotname"], file:"lib/class.fy", lines:[206, 215]}, "lazy_slot:value:":{doc:"

Defines a lazy getter for slotname that yields the result of calling block and caches it in slotname.

\n\n
Name of slot to be lazily set.
will be called with self as the implicit receiver, so other slots can be used within block.
\n\n", arg:["slotname", "block"], file:"lib/class.fy", lines:[217, 232]}, "included:":{doc:"

Default include hook. Make sure to call this via super included: class.

\n\n
Class to be included in self. Checks possible interface requirements.
\n\n", arg:["class"], file:"lib/contracts.fy", lines:[73, 88]}, "expose_to_ruby:":{doc:"

Forward to message expose_to_ruby:as:

\n\n
\n\n", arg:["method_name"], file:"lib/rbx/class.fy", lines:[238, 264]}, "subclass?:":{doc:"

Indicates, if a Class is a subclass of another Class.

\n\n
Class object to check for, if self is a subclass of class_obj.
true, if self is a subclass of class_obj, false otherwise.
\n\n", arg:["class_obj"], file:"lib/class.fy", lines:[251, 267]}, "define_method:with:":{doc:"

Defines an instance method on a Class with a given name and\nbody.

\n\n
Name of the method to be defined.
A Block that is used as the method's body.
\n\n", arg:["name", "block"], file:"lib/rbx/class.fy", lines:[57, 70]}, "define_class_method:with:":{doc:"

Defines a class method on a Class (a singleton method) with a\ngiven name and body.

\n\n
Name of the class method to be defined.
A Block to be used as the class methods body.
\n\n", arg:["name", "block"], file:"lib/rbx/class.fy", lines:[82, 92]}, "expose_to_ruby:as:":{doc:"

Explicitly exposes a Fancy method to Ruby. If ruby_method_name is\npassed, use that name explicitly, otherwise uses method_name.

\n\n

Example:

\n\n
 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
\n\n
Fancy method name to be exposed.
Name of method exposed to Ruby (optional).
\n\n", arg:["method_name", "ruby_method_name"], file:"lib/rbx/class.fy", lines:[239, 264]}, "undefine_class_method:":{doc:"

Undefines a class method on a Class with a given name.

\n\n
Name of the class method to undefine (remove).
\n\n", arg:["name"], file:"lib/rbx/class.fy", lines:[94, 102]}, "delegate:to_slot:":{doc:"

Example:

\n\n
 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      # => \"123\"\n m inspect   # => \"[1, 2, 3]\"\n
\n\n
Fancy Enumerable of method names to be delegated.
Name of slot to delegate methods to.
\n\n", arg:["methods", "slotname"], file:"lib/class.fy", lines:[280, 325]}, "undefine_method:":{doc:"

Undefines an instance method on a Class with a given name.

\n\n
Name of the method to undefine (remove) from a Class.
\n\n", arg:["name"], file:"lib/rbx/class.fy", lines:[72, 80]}, "subclass:":{doc:"

Creates a new Class with self as superclass and the given body.

\n\n
A Block that gets used as the body of the Class.
A new Class inherited from self.
\n\n", arg:["body_block"], file:"lib/rbx/class.fy", lines:[104, 113]}, "rebind_instance_method:with:within:":{doc:"

Forward to message rebind_instance_method:with:within:receiver:

\n\n
\n\n", arg:["method_name", "rebind_callable", "within_block"], file:"lib/class.fy", lines:[535, 567]}, ":nested_classes":{doc:"

Returns all the nested classes within a Class as an Array.

\n\n
Set of all nested classes for self.
\n\n", arg:[], file:"lib/rbx/class.fy", lines:[115, 123]}, "initialize:":{doc:"

Initializes a Class with a superclass.

\n\n
\n\n", arg:["superclass"], file:"lib/rbx/class.fy", lines:[50, 55]}, "method_documentation:":{doc:"

Sets documentation strings for methods defined in documentation_hash.\nUseful for documenting methods without touching their implementation.

\n\n

Example:

\n\n
 class SomeRubyLibraryClass {\n   method_documentation: <[\n     'some_method_a => \"Docstring A\",\n     'some_method_b => \"Docstring B\"\n   ]>\n }\n
\n\n
Hash of method name to documentation string.
\n\n", arg:["documentation_hash"], file:"lib/class.fy", lines:[569, 588]}, ":fancy_instance_methods":{doc:"\n\n
Array of all instance methods defined in Fancy.
\n\n", arg:[], file:"lib/class.fy", lines:[343, 349]}, ":ruby_instance_methods":{doc:"\n\n
Array of all instance methods defined in Ruby.
\n\n", arg:[], file:"lib/class.fy", lines:[351, 357]}, "provides_interface:":{doc:"

Example:

\n\n
 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
\n\n
Collection of method signatures this class explicitly declares to provide.
\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[38, 51]}, "expects_interface_on_inclusion:":{doc:"

Declares a required interface (collection of method signatures) an including class has to provide.

\n\n

Example:

\n\n
 class Enumerable {\n   expects_interface_on_inclusion: ['each:]\n }\n
\n\n
Collection of method signatures to expect on inclusion into another Class.
\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[21, 34]}, "expects_interface:":{doc:"

Declares a required interface (collection of method signatures) an including class has to provide.

\n\n

Example:

\n\n
 class Enumerable {\n   expects_interface_on_inclusion: ['each:]\n }\n
\n\n
Collection of method signatures to expect on inclusion into another Class.
\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[21, 34]}, "alias_method_rbx:for:":{doc:"

Rbx specific version of alias_method:for: due to bootstrap order\nreasons. Should not be used directly.

\n\n
\n\n", arg:["new_method_name", "old_method_name"], file:"lib/rbx/class.fy", lines:[140, 147]}, "before_method:run:":{doc:"

Runs / Calls block_or_method everytime before running method_name.

\n\n

Example:

\n\n
 Array before_method: 'inspect run: 'compact!\n [1, nil, 2, nil, 3] inspect # => \"[1, 2, 3]\"\n\n # Or pass a Block:\n Array before_method: 'inspect run: @{ compact! }\n
\n\n
Name of Method to run another Method or Block before, when called.
Block or name of other Method to be called before method_name.
\n\n", arg:["method_name", "block_or_method_name"], file:"lib/class.fy", lines:[369, 385]}, "provides_interface?:":{doc:"\n\n
Collection of method signatures (an interface) to check for.
true if all methods in methods are provided by self, false otherwise.
\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[53, 61]}, ":inspect":{doc:"

Example:

\n\n
 Fixnum inspect # => \"Fixnum : Integer\"\n Object inspect # => \"Object\"\n
\n\n
Name of class and its superclass as a String.
\n\n", arg:[], file:"lib/class.fy", lines:[327, 341]}, "define_calling_chain:for_method:":{doc:"

Example:

\n\n
 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
\n\n
Array of either method names or Blocks to be called in order.
Name of method to define calling chain for.
\n\n", arg:["blocks_or_method_names", "method_name"], file:"lib/class.fy", lines:[442, 511]}, "rebind_instance_method:with:within:receiver:":{doc:"

Rebinds method_name to rebind_callable within within_block.\nIf within_block takes an argument, it will be called with receiver (defaults to self).

\n\n
Name of instance method to rebind in self.
Name of method or Block to rebind method_name to.
Block to be called with receiver or self.
Argument to within_block. Defaults to self.
Value of calling within_block with receiver.
\n\n", arg:["method_name", "rebind_callable", "within_block", "receiver"], file:"lib/class.fy", lines:[536, 567]}, "alias_method:for_ruby:":{doc:"

Creates a method alias for a Ruby method.

\n\n
\n\n", arg:["new_method_name", "ruby_method_name"], file:"lib/rbx/class.fy", lines:[149, 154]}, "after_method:run:":{doc:"

Runs / Calls block_or_method_name everytime after running method_name.

\n\n

Example:

\n\n
 Array after_method: 'inspect run: 'compact!\n x = [1, nil, 2, nil, 3]\n x inspect # => \"[1, nil, 2, nil, 3]\"\n x inspect # => \"[1, 2, 3]\"\n\n # Or pass a Block:\n Array after_method: 'inspect run: @{ compact! }\n
\n\n
Name of Method to run another Method or Block after, when called.
Block or name of other Method to be called after method_name.
\n\n", arg:["method_name", "block_or_method_name"], file:"lib/class.fy", lines:[387, 405]}, "missing_methods_for_interface:":{doc:"\n\n
Collection of method signatures to check.
Collection of methods in methods this class doesn't provide.
\n\n", arg:["methods"], file:"lib/contracts.fy", lines:[63, 71]}, ":methods":{doc:"

Forward to message methods:

\n\n
\n\n", arg:[], file:"lib/rbx/class.fy", lines:[197, 205]}, "instance_method:":{doc:"

Returns an instance method for a Class with a given name.

\n\n
Name of the instance method to return.
The instance Method with the given name or nil.
\n\n", arg:["name"], file:"lib/rbx/class.fy", lines:[125, 134]}, "around_method:run:":{doc:"

Runs / Calls block_or_method_name everytime before & after running method_name.

\n\n

Example:

\n\n
 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
\n\n
Name of Method to run another Method or Block before & after, when called.
Block or name of other Method to be called before & after method_name.
\n\n", arg:["method_name", "block_or_method_name"], file:"lib/class.fy", lines:[407, 440]}, "public:":{doc:"

Sets any given method names to public on this Class.

\n\n

Example:

\n\n
 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
\n\n
Block or Fancy Enumerable of method names to be public.
\n\n", arg:["public_methods"], file:"lib/class.fy", lines:[83, 115]}, "__private__:":{doc:"

Sets any given method names to private on this Class.

\n\n
One or more (Array) method names (as a Symbol) to be set to private in this Class.
\n\n", arg:["method_names"], file:"lib/rbx/class.fy", lines:[167, 176]}, "read_write_slots:":{doc:"

Defines slot reader & writer methods for all given slotnames.

\n\n
Array of slotnames to define getter & setter methods for.
\n\n", arg:["slots"], file:"lib/class.fy", lines:[193, 204]}, "private:":{doc:"

Sets any given method names to private on this Class.

\n\n

Example:

\n\n
 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
\n\n
Block or Fancy Enumerable of method names to be private.
\n\n", arg:["private_methods"], file:"lib/class.fy", lines:[15, 47]}, "__protected__:":{doc:"

Sets any given method names to protected on this Class.

\n\n
One or more (Array) method names (as a Symbol) to be set to protected in this Class.
\n\n", arg:["method_names"], file:"lib/rbx/class.fy", lines:[178, 187]}, "remove_slot_accessors_for:":{doc:"

Removes both reader and writer methods for slots in slotnames.

\n\n
Name of slot or Array of slotnames to remove accessor methods for.
\n\n", arg:["slotnames"], file:"lib/class.fy", lines:[234, 249]}, "__public__:":{doc:"

Sets any given method names to public on this Class.

\n\n
One or more (Array) method names (as a Symbol) to be set to public in this Class.
\n\n", arg:["method_names"], file:"lib/rbx/class.fy", lines:[156, 165]}, "protected:":{doc:"

Sets any given method names to protected on this Class.

\n\n

Example:

\n\n
 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
\n\n
Block or Fancy Enumerable of method names to be protected.
\n\n", arg:["protected_methods"], file:"lib/class.fy", lines:[49, 81]}, ":initialize":{doc:"

Initializes a Class with Object set as superclass (default superclass).

\n\n
\n\n", arg:[], file:"lib/rbx/class.fy", lines:[43, 48]}, "define_slot_reader:":{doc:"

Defines a slot reader method with a given name.\nE.g. for a slotname count it will define the following method:

\n\n
 def count {\n   get_slot: 'count\n }\n
\n\n
Name of the slot to define a getter method for.
\n\n", arg:["slotname"], file:"lib/class.fy", lines:[117, 131]}, ":instance_methods":{doc:"

Forward to message instance_methods:

\n\n
\n\n", arg:[], file:"lib/rbx/class.fy", lines:[188, 196]}, "define_slot_writer:":{doc:"

Defines a slot writer method with a given name.\nE.g. for a slotname count it will define the following method:

\n\n
 def count: c {\n   set_slot: 'count value: c\n }\n
\n\n
Name of the slot to defnie define a setter method for.
\n\n", arg:["slotname"], file:"lib/class.fy", lines:[133, 147]}, "alias_method:for:":{doc:"

Defines an alias method for another method.

\n\n
New method name to be used as an alias for old_method_name.
Name of method to alias (must exist in the Class).
\n\n", arg:["new_method_name", "old_method_name"], file:"lib/class.fy", lines:[269, 278]}, "instance_methods:":{doc:"\n\n
Boolean indicating if instance methods of all superclasses should be included (defaults to true).
Array of all instance method names for this Class.
\n\n", arg:["include_superclasses?"], file:"lib/rbx/class.fy", lines:[189, 196]}, "read_slots:":{doc:"

Defines slot reader methods for all given slotnames.

\n\n
Array of slotnames to define getter methods for.
\n\n", arg:["slots"], file:"lib/class.fy", lines:[149, 159]}, "read_slot:":{doc:"

Defines a slot reader method for a given slotname.

\n\n
Name of slot to define a getter method for.
\n\n", arg:["slotname"], file:"lib/class.fy", lines:[161, 169]}, ":new":{doc:"

Creates a new instance of self calling initialize.

\n\n
A new instance of Class self.
\n\n", arg:[], file:"lib/rbx/class.fy", lines:[4, 14]}, "methods:":{doc:"\n\n
Boolean indicating if methods of all superclasses should be included (defaults to true).
Array of all class method names for this Class.
\n\n", arg:["include_superclasses?"], file:"lib/rbx/class.fy", lines:[198, 205]}, "write_slots:":{doc:"

Defines slot writer methods for all given slotnames.

\n\n
Array of slotnames to define setter methods for.
\n\n", arg:["slots"], file:"lib/class.fy", lines:[171, 181]}}, methods:{"superclass:body:":{doc:"

Creates a new Class by subclassing superclass and\nusing body_block as its body.

\n\n
The superclass to inherit from.
A Block that is used as the body of the new Class.
A new Class inherited from superclass.
\n\n", arg:["superclass", "body_block"], file:"lib/rbx/class.fy", lines:[30, 41]}}, ancestors:["Class", "Module", "Object", "Kernel", "BasicObject"]}, "TrueClass":{doc:"

TrueClass. The class of the singleton true value.

\n\n
\n\n", instance_methods:{":not":{doc:"\n\n
false.
\n\n", arg:[], file:"lib/true_class.fy", lines:[65, 71]}, "if_true:":{doc:"

Calls block with self.

\n\n
Block to be called with self.
Value of calling block with self.
\n\n", arg:["block"], file:"lib/true_class.fy", lines:[16, 25]}, ":to_a":{doc:"\n\n
An empty Array.
\n\n", arg:[], file:"lib/true_class.fy", lines:[57, 63]}, "if_true:else:":{doc:"

Calls then_block with self.

\n\n
Block to be called with self.
Gets ignored.
Value of calling then_block with self.
\n\n", arg:["then_block", "else_block"], file:"lib/true_class.fy", lines:[27, 37]}, ":true?":{doc:"\n\n
true.
\n\n", arg:[], file:"lib/true_class.fy", lines:[39, 45]}, ":inspect":{doc:"\n\n
true as a String.
\n\n", arg:[], file:"lib/true_class.fy", lines:[47, 53]}, ":to_s":{doc:"\n\n
true as a String.
\n\n", arg:[], file:"lib/true_class.fy", lines:[47, 53]}}, methods:{":new":{doc:"\n\n
true.
\n\n", arg:[], file:"lib/true_class.fy", lines:[6, 14]}}, ancestors:["TrueClass", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "NilClass":{doc:"

NilClass. The class of the singleton nil value.

\n\n
\n\n", instance_methods:{"if_nil:else:":{doc:"

Calls then_block with self.

\n\n
Block to be called with self.
Gets ignored.
Value of calling then_block with self.
\n\n", arg:["then_block", "else_block"], file:"lib/nil_class.fy", lines:[44, 54]}, ":not":{doc:"\n\n
true.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[90, 96]}, "if_true:":{doc:"\n\n
nil.
\n\n", arg:["block"], file:"lib/nil_class.fy", lines:[16, 22]}, ":to_a":{doc:"\n\n
An empty Array.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[74, 80]}, "if_true:else:":{doc:"

Calls else_block.

\n\n
Value of calling else_block.
\n\n", arg:["then_block", "else_block"], file:"lib/nil_class.fy", lines:[24, 31]}, ":inspect":{doc:"\n\n
nil as a String.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[98, 104]}, "if_nil:":{doc:"

Calls block with self.

\n\n
Block to be called.
Value of calling block with self.
\n\n", arg:["block"], file:"lib/nil_class.fy", lines:[33, 42]}, ":nil?":{doc:"\n\n
true.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[56, 62]}, ":to_s":{doc:"\n\n
An empty String.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[64, 70]}, ":to_hash":{doc:"\n\n
An empty Hash.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[82, 88]}}, methods:{":new":{doc:"\n\n
nil.
\n\n", arg:[], file:"lib/nil_class.fy", lines:[6, 14]}}, ancestors:["NilClass", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "FalseClass":{doc:"

FalseClass. The class of the singleton false value.

\n\n
\n\n", instance_methods:{"if_nil:else:":{doc:"

Calls else_block with self.

\n\n
\n\n", arg:["then_block", "else_block"], file:"lib/false_class.fy", lines:[52, 58]}, ":not":{doc:"

Boolean negation of false => true.

\n\n
true
\n\n", arg:[], file:"lib/false_class.fy", lines:[86, 94]}, "if_true:":{doc:"\n\n
nil.
\n\n", arg:["block"], file:"lib/false_class.fy", lines:[12, 18]}, "if_false:":{doc:"

Calls block with self.

\n\n
\n\n", arg:["block"], file:"lib/false_class.fy", lines:[28, 34]}, ":false?":{doc:"\n\n
true.
\n\n", arg:[], file:"lib/false_class.fy", lines:[60, 66]}, ":to_a":{doc:"\n\n
An empty Array.
\n\n", arg:[], file:"lib/false_class.fy", lines:[78, 84]}, "if_true:else:":{doc:"

Calls else_block.

\n\n
\n\n", arg:["then_block", "else_block"], file:"lib/false_class.fy", lines:[20, 26]}, "if_false:else:":{doc:"

Calls then_block with self.

\n\n
\n\n", arg:["then_block", "else_block"], file:"lib/false_class.fy", lines:[36, 42]}, ":inspect":{doc:"\n\n
false as a String.
\n\n", arg:[], file:"lib/false_class.fy", lines:[68, 74]}, "if_nil:":{doc:"\n\n
nil.
\n\n", arg:["then_block"], file:"lib/false_class.fy", lines:[44, 50]}, ":to_s":{doc:"\n\n
false as a String.
\n\n", arg:[], file:"lib/false_class.fy", lines:[68, 74]}}, methods:{}, ancestors:["FalseClass", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "Fancy Enumerable":{doc:"

Mixin-Class with useful methods for collections that implement an each: method.

\n\n
\n\n", instance_methods:{":third":{doc:"\n\n
The third element in the Fancy Enumerable.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[57, 63]}, "last:":{doc:"

Example:

\n\n
 (1,2,3,4) last: 2 # => [3,4]\n
\n\n
Amount of last elements to take from self.
Array of last amount elements in self.
\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[111, 126]}, "join_by:":{doc:"

Works similar to Fancy Enumerable inject:into: but uses first element as value injected.

\n\n

Example:

\n\n
 (1,2,3) join_by: '+  # => same as: (2,3) inject: 1 into: '+\n
\n\n
Block to be called pair-wise to produce a single value.
Result of calling block pairwise (similar to using Fancy Enumerable reduce:into:).
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[181, 194]}, "for_every:do:":{doc:"

Calls block with item for each occurance of item in self.

\n\n

Example:

\n\n
 count = 0\n [1,2,3,2,1] for_every: 1 do: { count = count + 1 }\n # count is now 2\n
\n\n
Item to call block with.
Block to be called with item for every occurance of item in self.
\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[309, 325]}, "drop_while:":{doc:"

Similar to take_while: but inverse.\nReturns a new Array by skipping elements from the beginning\nas long as they meet the given condition block.

\n\n

Example:

\n\n
 [1,2,3,4,5] drop_while: |x| { x < 4 } # => [4,5]\n
\n\n
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[464, 490]}, "reduce:init_val:":{doc:"

Calculates a value based on a given block to be called on an accumulator\nvalue and an initial value.

\n\n

Example:

\n\n
 [1,2,3] reduce: |sum val| { sum + val } init_val: 0 # => 6\n
\n\n
\n\n", arg:["block", "init_val"], file:"lib/enumerable.fy", lines:[538, 552]}, ":product":{doc:"

Calculates the product of all the elements in the Enumerable\n(assuming them to be Numbers (implementing + & *)).

\n\n
\n\n", arg:[], file:"lib/enumerable.fy", lines:[749, 756]}, "count:":{doc:"

Example:

\n\n
 (0..10) count: @{ even? }                   # => 6 (even numbers are: 0,2,4,6,8,10)\n [1,2,3] count: @{ odd? }                    # => 2\n [1,2, \"foo\"] count: @{ class == String }  # => 1\n
\n\n
Predicate Block called with each element.
Fixnum that is the amount of elements in self for which block yields true.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[970, 986]}, ":fourth":{doc:"\n\n
The fourth element in the Fancy Enumerable.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[65, 71]}, "join:":{doc:"

Joins a collection with a String between each element, returning a new String.

\n\n

Example:

\n\n
 \"hello, world\" join: \"-\" # => \"h-e-l-l-o-,- -w-o-r-l-d\"\n
\n\n
Value (usually a String) to be used for the joined String.
String containing all elements in self interspersed with str.
\n\n", arg:["str"], file:"lib/enumerable.fy", lines:[161, 179]}, "last_index_of:":{doc:"

Returns the last index for item in self, or nil, if item is not in self.

\n\n
Item for which the last index in self should be found.
Last index of item in self, or nil (if not in self).
\n\n", arg:["item"], file:"lib/enumerable.fy", lines:[327, 338]}, ":compact":{doc:"

Returns a new Array with all values removed that are nil ( return true on nil? ).

\n\n

Example:

\n\n
 [1,2,nil,3,nil] compact # => [1,2,3]\n
\n\n
Array with all non-nil elements in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[609, 620]}, ":average":{doc:"\n\n
Average value in self (expecting Numbers or Objects implementing + and *).
\n\n", arg:[], file:"lib/enumerable.fy", lines:[758, 765]}, ":random":{doc:"\n\n
Random element in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[826, 832]}, ":sorted?":{doc:"

Example:

\n\n
 (1,2,3) sorted? # => true\n (2,1,3) sorted? # => false\n \"abc\" sorted? # => true\n \"bac\" sorted? # => false\n
\n\n
true if self is sorted, false otherwise.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[1001, 1020]}, "drop:":{doc:"

Example:

\n\n
 [1,2,3,4,5] drop: 2 # => [3,4,5]\n
\n\n
Amount of elements to skip in self.
An Array of all but the first amount elements in self.
\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[508, 522]}, "partition_by:":{doc:"

Example:

\n\n
 (0..10) partition_by: @{ < 3 }  # => [[0, 1, 2], [3, 4, 5, 6, 7, 8, 9, 10]]\n
\n\n
Block that gets used to decide when to partition elements in self.
Array of Arrays, partitioned by equal return values of calling block with each element
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[767, 790]}, "split_at:":{doc:"

Example:

\n\n
 [1,2,3,4,5] split_at: 2 # => [[1,2], [3,4,5]]\n
\n\n
Index at which self should be split.
Array of 2 Arrays of elements in self splitted at index.
\n\n", arg:["index"], file:"lib/enumerable.fy", lines:[1022, 1032]}, "first:":{doc:"

Example:

\n\n
 (1,2,3,4) first: 2 # => [1,2]\n
\n\n
Amount of first elements to take from self.
Array of first amount elements in self.
\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[95, 109]}, ":join":{doc:"

Forward to message join:

\n\n
\n\n", arg:[], file:"lib/enumerable.fy", lines:[160, 179]}, ":empty?":{doc:"

Indicates, if the Enumerable is empty (has no elements).

\n\n
true, if size of self is 0, false otherwise.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[599, 607]}, "split_with:":{doc:"

Example:

\n\n
 [1,2,3,4,5] split_with: @{ < 3 } # => [[1, 2], [3, 4, 5]]\n
\n\n
Block to be used as a predicate on where to split in self.
Array of 2 Arrays of elements split based on predicate_block.
\n\n", arg:["predicate_block"], file:"lib/enumerable.fy", lines:[1034, 1044]}, ":first":{doc:"\n\n
The first element in the Fancy Enumerable.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[41, 47]}, "map_chained:":{doc:"

Example:

\n\n
 (1,2,3) map_chained: (@{ + 1 }, 'to_s, @{ * 2 })\n # => [\"22\", \"33\", \"44\"]\n
\n\n
Collection of Blocks to be called sequentially for every element in self.
Collection of all values in self successively called with all blocks in blocks.
\n\n", arg:["blocks"], file:"lib/enumerable.fy", lines:[370, 385]}, "superior_by:":{doc:"

Forward to message superior_by:taking:

\n\n
\n\n", arg:["comparison_block"], file:"lib/enumerable.fy", lines:[621, 653]}, "chunk_by:":{doc:"

Similar to Fancy Enumerable partition_by: but includes the value of\ncalling block with an element within the chunk.

\n\n

Example:

\n\n
 [1,3,4,5,6,8,10] chunk_by: 'odd?\n # => [[true, [1,3]], [false, [4]], [true, [5]], [false, [6,8,10]]]\n
\n\n
Block to chunk self by.
Array of chunks, each including the return value of calling block with elements in the chunk, as well as the elements themselves (within another Array).
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[792, 824]}, "includes?:":{doc:"

Indicates, if a collection includes a given element.

\n\n
Item to check if it's included in self.
true, if item in self, otherwise false.
\n\n", arg:["item"], file:"lib/enumerable.fy", lines:[128, 137]}, "any?:":{doc:"

Indicates, if any element meets the condition.

\n\n
Block (or Callable) that is used to check if any element in self yields true for it.
true, if condition yields true for any element, false otherwise.
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[196, 210]}, "superior_by:taking:":{doc:"

Returns the superior element in the Fancy Enumerable that has met\nthe given comparison block with all other elements,\napplied to whatever selection_block returns for each element.

\n\n

Examples:

\n\n
 [1,2,5,3,4] superior_by: '> # => 5\n [1,2,5,3,4] superior_by: '< # => 1\n [[1,2], [2,3,4], [], [1]] superior_by: '> taking: 'size # => [2,3,4]\n [[1,2], [2,3,4], [-1]] superior_by: '< taking: 'first # => [-1]\n
\n\n
Block to be used for comparison.
defaults to identity.
Superior element in self in terms of comparison_block.
\n\n", arg:["comparison_block", "selection_block"], file:"lib/enumerable.fy", lines:[622, 653]}, "grep:":{doc:"

Example:

\n\n
 \"hello world\" grep: /[a-h]/                 # => [\"h\", \"e\", \"d\"]\n [\"hello\", \"world\", 1, 2, 3] grep: String  # => [\"hello\", \"world\"]\n
\n\n
Pattern to be filtered by (via Object ===)
Elements in self for which pattern matches.
\n\n", arg:["pattern"], file:"lib/enumerable.fy", lines:[1046, 1057]}, ":last":{doc:"

Returns the last element in a Fancy Enumerable.

\n\n
Last element in self or nil, if empty.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[73, 85]}, "each:in_between:":{doc:"

Similar to each: but calls an additional Block between\ncalling the first Block for each element in self.

\n\n

Example:

\n\n
 result = \"\"\n [1,2,3,4,5] each: |i| {\n   result << i\n } in_between: {\n   result << \"-\"\n }\n result # => \"1-2-3-4-5\"\n
\n\n
\n\n", arg:["each_block", "between_block"], file:"lib/enumerable.fy", lines:[139, 159]}, "flat_map:":{doc:"

Similar to Fancy Enumerable map: but returns the result Array flattened.

\n\n
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[387, 393]}, "grep:taking:":{doc:"

Example:

\n\n
 \"hello world\" grep: /[a-h]/ taking: @{ upcase }             # => [\"H\", \"E\", \"D\"]\n [\"hello\", \"world\", 1, 2, 3] grep: String taking: 'upcase  # => [\"HELLO\", \"WORLD\"]\n
\n\n
Pattern to be filtered by (via Object ===)
Block to be called with each element for which pattern matches.
Return values of elements in self called with block for which pattern matches.
\n\n", arg:["pattern", "block"], file:"lib/enumerable.fy", lines:[1059, 1077]}, "at:":{doc:"

Example:

\n\n
 \"foo\\\xE2\x80\x9D at: 2 # => \"o\"\n \"foo\\\xE2\x80\x9D at: 3 # => nil\n
\n\n
Fixnum that is the 0-based index into self.
Value in self at 0-based position defined by index.
\n\n", arg:["index"], file:"lib/enumerable.fy", lines:[9, 23]}, "all?:":{doc:"

Takes condition-block and returns true if all elements meet it.

\n\n
Predicate Block to be called for each element until it returns false for any one of them.
true if all elements in self yield true for block, false otherwise.
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[212, 226]}, ":unique":{doc:"

Returns a new Array with all unique values (double entries are skipped).

\n\n

Example:

\n\n
 [1,2,1,2,3] unique # => [1,2,3]\n
\n\n
Array of all unique elements in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[566, 583]}, "one?:":{doc:"

Example:

\n\n
 (0,1,2) one?: 'odd?  # => true\n (0,1,2) one?: 'even? # => false\n
\n\n
Block to be used to check for a condition expected only once in self.
true if block yields true only once for all elements in self.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[1079, 1097]}, "select_with_index:":{doc:"

Returns a new Array with all elements and their indices that meet the given\ncondition block. condition is called with each element and its index in self.

\n\n
A Block that is used as a filter on all elements in self.
An Array containing all elements and their indices in self that yield true when called with condition.
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[410, 426]}, "sort:":{doc:"

Sorts a collection by a given comparison block.

\n\n
Block taking 2 arguments used to compare elements in a collection.
Sorted Array of elements in self.
\n\n", arg:["comparison_block"], file:"lib/enumerable.fy", lines:[834, 843]}, "reject:":{doc:"

Similar to select: but inverse.\nReturns a new Array with all elements that don't meet the given condition block.

\n\n
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[428, 439]}, ":size":{doc:"

Returns the size of an Enumerable.

\n\n
Amount of elements in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[585, 597]}, ":max":{doc:"

Returns the maximum value in the Enumerable (via the '>' comparison message).

\n\n
Maximum value in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[655, 663]}, "max_by:":{doc:"

Returns the maximum value in the Enumerable (via the '>' comparison message).

\n\n

Example:

\n\n
 [[1,2,3], [1,2], [1]] max_by: @{ size } # => [1,2,3]\n
\n\n
Block by which to calculate the maximum value in self.
Maximum value in self based on block.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[665, 677]}, "sort_by:":{doc:"

Sorts a collection by calling a Block with every element\nand using the return values for comparison.

\n\n

Example:

\n\n
 [\"abc\", \"abcd\", \"ab\", \"a\", \"\"] sort_by: @{ size }\n # => [\"\", \"a\", \"ab\", \"abc\", \"abcd\"]\n
\n\n
Block taking 1 argument used to extract a value to use for comparison.
Sorted Array of elements in self based on block.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[845, 861]}, "none?:":{doc:"

Example:

\n\n
 (0,2,4) none?: 'odd?   # => true\n (0,2,5) none?: 'odd? # => false\n
\n\n
Block to be used to check for a condition expected not once in self.
true if none of the elements in self called with block yield true.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[1099, 1110]}, "map:":{doc:"

Returns a new Array with the results of calling a given block for every element.

\n\n
A Block that gets called with each element in self.
An Array containing all values of calling block with each element in self.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[340, 353]}, "inject:into:":{doc:"

Same as reduce:init_val: but taking the initial value as first\nand the reducing block as second parameter.

\n\n

Example:

\n\n
 [1,2,3] inject: 0 into: |sum val| { sum + val } # => 6\n
\n\n
\n\n", arg:["val", "block"], file:"lib/enumerable.fy", lines:[554, 564]}, "min_by:":{doc:"

Returns the minimum value in the Enumerable (via the '<' comparison message).

\n\n

Example:

\n\n
 [[1,2,3], [1,2], [1]] min_by: @{ size } # => [1]\n
\n\n
Block by which to calculate the minimum value in self.
Minimum value in self based on block.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[689, 701]}, "in_groups_of:":{doc:"

Example usage:

\n\n
 [1,2,3,4,5] in_groups_of: 3 # => [[1,2,3],[4,5]]\n
\n\n
Maximum size of each group.
Array of Arrays with a max size of size (grouped).
\n\n", arg:["size"], file:"lib/enumerable.fy", lines:[863, 893]}, "find:":{doc:"

Returns nil, if item (or anything that returns true when comparing to item) isn't found.\nOtherwise returns that element that is equal to item.

\n\n
Item to be found in self.
The first element that is equal to item or nil, if none found.
\n\n", arg:["item"], file:"lib/enumerable.fy", lines:[228, 247]}, ":min":{doc:"

Returns the minimum value in the Enumerable (via the '<' comparison message).

\n\n
Minimum value in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[679, 687]}, ":min_max":{doc:"

If self is empty, returns (nil, nil).

\n\n

Example:

\n\n
 (1,2,3,4) min_max # => (1, 3)\n
\n\n
Tuple of min and max value in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[703, 714]}, ":to_s":{doc:"

Example:

\n\n
 (1,2,3) to_s # => \"123\"\n [1,2,3] to_s # => \"123\"\n \"foo\" to_s # => \"foo\"\n
\n\n
String concatenation of elements in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[988, 999]}, "find_by:":{doc:"

Similar to find: but takes a block that is called for each element to find it.

\n\n

Example:

\n\n
 [1,2,3,4,5] find_by: @{ even? } # => 2\n [1,2,3,4,5] find_by: @{ odd? } # => 1\n [1,2,3,4,5] find_by: @{ % 3 == 0 } # => 3\n
\n\n
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[261, 277]}, "map_with_index:":{doc:"

Returns a new Array with the results of calling a given block for every element and its index.

\n\n
A Block that gets called with each element and its index in self.
An Array containing all values of calling block with each element and its index in self.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[355, 368]}, "select:":{doc:"

Returns a new Array with all elements that meet the given condition block.

\n\n
A Block that is used as a filter on all elements in self.
An Array containing all elements in self that yield true when called with condition.
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[395, 408]}, "take:":{doc:"

Example:

\n\n
 [1,2,3,4] take: 2 # => [1,2]\n
\n\n
Amount of elements to take from self.
Array of first amount elements in self.
\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[492, 506]}, "min_max_by:":{doc:"

Calls block with each element in self to determine min and max values.\nIf self is empty, returns (nil, nil).

\n\n

Example:

\n\n
 (\"a\", \\\xE2\x80\x9Dbc\", \\\xE2\x80\x9Ddef\") min_max_by: 'size # => (1, 3)\n
\n\n
Block to calculate the min and max value by.
Tuple of min and max value based on block in self.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[716, 738]}, "group_by:":{doc:"

Returns the elements grouped by block in a Hash (the keys being the\nvalue of calling block with the elements).

\n\n

Example:

\n\n
 ('foo, 1, 2, 'bar) group_by: @{ class }\n # => <[Symbol => ['foo, 'bar], Fixnum => [1,2]]>\n
\n\n
Block used to group elements in self by.
Hash with elements in self grouped by return value of calling block with them.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[895, 914]}, "find:do:":{doc:"

Calls block with item, if found.\nIf item is not in self, block is not called.

\n\n
Item to find in self.
Block to be called with item if found in self.
\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[249, 259]}, "skip:":{doc:"

Example:

\n\n
 [1,2,3,4,5] drop: 2 # => [3,4,5]\n
\n\n
Amount of elements to skip in self.
An Array of all but the first amount elements in self.
\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[508, 522]}, ":to_a":{doc:"

Default implementation for converting Fancy Enumerables into Arrays.

\n\n
\n\n", arg:[], file:"lib/enumerable.fy", lines:[928, 938]}, ":second":{doc:"\n\n
The second element in the Fancy Enumerable.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[49, 55]}, ":rest":{doc:"\n\n
Array of all but the first element in self.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[87, 93]}, "find_with_index:do:":{doc:"

Calls block with item and its index in self, if found.\nIf item is not in self, block is not called.

\n\n
Item to find in self.
Block to be called with item and its index in self.
\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[279, 292]}, ":drop_last":{doc:"

Forward to message drop_last:

\n\n
\n\n", arg:[], file:"lib/enumerable.fy", lines:[525, 536]}, "to_hash:":{doc:"

Example:

\n\n
   [\"foo\", \\\xE2\x80\x9Dhello\", \"ok\", \"\"] to_hash: @{ size }\n   # => <[3 => \"foo\", 5 => \"hello\", 2 => \"ok\", 0 => \"\"]>\n
\n\n
Block to be called to get the key for each element in self.
Hash of key/value pairs based on values in self.
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[940, 956]}, "each_with_index:":{doc:"

Iterate over all elements in self.\nCalls a given Block with each element and its index.

\n\n
Block to be called with each element and its index in the self.
self
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[25, 39]}, "for_every:with_index_do:":{doc:"

Calls block with item and each of its indexes in self, if item is in self.

\n\n
Item to call block with.
Block to be called with item and each of its indexes in self.
\n\n", arg:["item", "block"], file:"lib/enumerable.fy", lines:[294, 307]}, "take_while:":{doc:"

Returns a new Array by taking elements from the beginning\nas long as they meet the given condition block.

\n\n

Example:

\n\n
 [1,2,3,4,5] take_while: |x| { x < 4 } # => [1,2,3]\n
\n\n
A Block that is used as a condition for filtering.
An Array of all elements from the beginning until condition yields false.
\n\n", arg:["condition"], file:"lib/enumerable.fy", lines:[441, 462]}, "drop_last:":{doc:"

Example:

\n\n
 [1,2,3,4] drop_last: 2  # => [1,2]\n
\n\n
Amount of elements to drop from the end.
New Array without last amount elements.
\n\n", arg:["amount"], file:"lib/enumerable.fy", lines:[526, 536]}, ":sum":{doc:"

Calculates the sum of all the elements in the Enumerable\n(assuming them to be Numbers (implementing '+' & '*')).

\n\n
\n\n", arg:[], file:"lib/enumerable.fy", lines:[740, 747]}, ":reverse":{doc:"

Returns self in reverse order.\nThis only makes sense for collections that have an ordering.\nIn either case, it simply converts self to an Array and returns it in reversed order.

\n\n
self in reverse order.
\n\n", arg:[], file:"lib/enumerable.fy", lines:[916, 926]}, "reverse_each:":{doc:"

Runs block for each element on reversed version of self.\nIf self is not a sorted collection, no guarantees about the reverse order can be given.

\n\n
Block to be called for each element in reverse order.
self
\n\n", arg:["block"], file:"lib/enumerable.fy", lines:[958, 968]}}, methods:{}, ancestors:["Fancy Enumerable", "Object", "Kernel", "BasicObject"]}, "String":{doc:"

Strings are sequences of characters and behave as such.\nAll literal Strings within Fancy code are instances of the String\nclass.

\n\n

They also include Fancy Enumerable, which means you can use all the\ncommon sequence methods on them, like Fancy Enumerable map:, Fancy Enumerable select: etc.

\n\n
\n\n", instance_methods:{":downcase":{doc:"

Example:

\n\n
 \"HELLO WORLD\" lowercase # => \"hello world\"\n
\n\n
Lowercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[279, 284]}, ":characters":{doc:"\n\n
Array of all characters (as String) in self.
\n\n", arg:[], file:"lib/string.fy", lines:[158, 164]}, ":character":{doc:"\n\n
Fixnum (byte / ASCII) value of first character in self.
\n\n", arg:[], file:"lib/string.fy", lines:[166, 175]}, "relative_path:":{doc:"

Example:

\n\n
 __FILE__ relative: \"../foo/bar\"\n
\n\n
Relative path to self.
Absolute File path relative to self.
\n\n", arg:["path"], file:"lib/string.fy", lines:[189, 199]}, ":multiline?":{doc:"

Example:

\n\n
 \"foo\n
\n\n

bar\" multiline? # => true

\n\n
 \"foo bar\" multiline?  # => false\n \"\" multiline?         # => false\n \"\n
\n\n

\" multiline? # => true

\n\n
true if self is a multiline string, false otherwise.
\n\n", arg:[], file:"lib/string.fy", lines:[197, 213]}, ":main?":{doc:"\n\n
true if self is the filename of the script that got executed initially.
\n\n", arg:[], file:"lib/string.fy", lines:[215, 221]}, "if_main:":{doc:"

Forward to message if_main:else:

\n\n
\n\n", arg:["main_block"], file:"lib/string.fy", lines:[222, 233]}, ":*":{doc:"

Returns a String that is the num-fold concatenation of itself.

\n\n

Example:

\n\n
 \"foo\" * 3 # => \"foofoofoo\"\n
\n\n
Amount of concatenations to do with self.
String that is the num-fold concatenation of self.
\n\n", arg:["num"], file:"lib/string.fy", lines:[66, 82]}, "if_main:else:":{doc:"

Same as:

\n\n
 if: main? then: else_block else: else_block\n
\n\n
Block to be run if String main? returns true.
Block to be called otherwise.
\n\n", arg:["main_block", "else_block"], file:"lib/string.fy", lines:[223, 233]}, ":snake_cased":{doc:"

Returns a snake cased version of self.

\n\n
\n\n", arg:[], file:"lib/string.fy", lines:[235, 243]}, ":camel_cased":{doc:"

Returns camel cased version of self which is expected\nto be a snake cased String.

\n\n
\n\n", arg:[], file:"lib/string.fy", lines:[245, 252]}, ":[]":{doc:"

Given an Array of 2 Numbers, it returns the substring between the given indices.\nIf given a Number, returns the character at that index.

\n\n
\n\n", arg:["index"], file:"lib/rbx/string.fy", lines:[18, 30]}, ":uppercase?":{doc:"

Example:\n \"F\" uppercase? # => true\n \"FOO\" uppercase? # => true\n \"f\\\xE2\x80\x9D uppercase? # => false\n \"Foo\" uppercase? # => false

\n\n
true if self is completely uppercase, false otherwise.
\n\n", arg:[], file:"lib/string.fy", lines:[254, 267]}, ":lowercase?":{doc:"

Example:\n \"f\\\xE2\x80\x9D lowercase? # => true\n \"foo\" lowercase? # => true\n \"F\" lowercase? # => false\n \"Foo\" lowercase? # => false

\n\n
true if self is completely lowercase, false otherwise.
\n\n", arg:[], file:"lib/string.fy", lines:[269, 282]}, ":uppercase":{doc:"

Example:

\n\n
 \"hello world\" uppercase # => \"HELLO WORLD\"\n
\n\n
Uppercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[726, 731]}, ":lowercase":{doc:"

Example:

\n\n
 \"HELLO WORLD\" lowercase # => \"hello world\"\n
\n\n
Lowercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[279, 284]}, ":bytes":{doc:"\n\n
Fancy Enumerator of all bytes (Fixnum values) in self.
\n\n", arg:[], file:"lib/string.fy", lines:[177, 187]}, ":++":{doc:"

Concatenate self with another Object's String representation.

\n\n
 \"foo\\\xE2\x80\x9D ++ 42 # => \\\xE2\x80\x9Dfoo42\\\xE2\x80\x9D\n
\n\n
Object to concatenate self with as a String.
Concatenation of self with other.
\n\n", arg:["other"], file:"lib/string.fy", lines:[31, 41]}, "==":{doc:"

Compares self to another String and returns true, if equal, false otherwise.

\n\n
\n\n", file:"kernel/common/string.rb", lines:[83, 82]}, "uppercase":{doc:"

Example:

\n\n
 \"hello world\" uppercase # => \"HELLO WORLD\"\n
\n\n
Uppercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[726, 731]}, "lowercase":{doc:"

Example:

\n\n
 \"HELLO WORLD\" lowercase # => \"hello world\"\n
\n\n
Lowercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[279, 284]}, "from:to:":{doc:"

Returns a Substring from from to to.

\n\n
Start index.
End index.
Substring starting at index from and ending at to.
\n\n", arg:["from", "to"], file:"lib/rbx/string.fy", lines:[32, 42]}, ":==":{doc:"

Compares self to another String and returns true, if equal, false otherwise.

\n\n
\n\n", file:"kernel/common/string.rb", lines:[83, 82]}, ":lines":{doc:"

Returns the lines of a String as an Array.

\n\n
Array of all the lines in self.
\n\n", arg:[], file:"lib/string.fy", lines:[114, 122]}, "split:":{doc:"\n\n
String where self should be split at.
An Array of String values in self that are seperated by str.
\n\n", arg:["str"], file:"lib/rbx/string.fy", lines:[63, 69]}, ":split":{doc:"

Splits a string by whitespace.

\n\n
Array of all non-whitespace Substrings in self.
\n\n", arg:[], file:"lib/rbx/string.fy", lines:[71, 78]}, "downcase":{doc:"

Example:

\n\n
 \"HELLO WORLD\" lowercase # => \"hello world\"\n
\n\n
Lowercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[279, 284]}, ":eval_global":{doc:"

Same as String#eval but evaluates self in the global binding.

\n\n
\n\n", arg:[], file:"lib/rbx/string.fy", lines:[92, 95]}, "upcase":{doc:"

Example:

\n\n
 \"hello world\" uppercase # => \"HELLO WORLD\"\n
\n\n
Uppercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[726, 731]}, ":raise!":{doc:"

Raises a new StandardError with self as the message.

\n\n
\n\n", arg:[], file:"lib/string.fy", lines:[95, 101]}, "includes?:":{doc:"

Indicates if a given substring is in self.

\n\n
String to be checked if it's in self.
true if substring is in self, false otherwise.
\n\n", arg:["substring"], file:"lib/rbx/string.fy", lines:[146, 155]}, "at:":{doc:"

Returns the character (as a String) at index idx.

\n\n
Index of the character to retrieve.
Character in self at position idx.
\n\n", arg:["idx"], file:"lib/rbx/string.fy", lines:[53, 61]}, ":eval":{doc:"

Evaluates a String in the current Binding and returns its value.

\n\n
Value of evaluating self as Fancy code.
\n\n", arg:[], file:"lib/rbx/string.fy", lines:[80, 90]}, ":<<":{doc:"

Appends object's String representation to self.

\n\n

Example:

\n\n
 str = \"hello\"\n str << \" \"\n str << 42\n str # => \"hello 42\"\n
\n\n
An Object who's String representation will be appended to self.
self, but modified.
\n\n", arg:["object"], file:"lib/string.fy", lines:[124, 139]}, "each:":{doc:"

Calls a given Block with each character in a String.

\n\n
Block to be called for each character in self.
\n\n", arg:["block"], file:"lib/rbx/string.fy", lines:[44, 51]}, "append:":{doc:"

Appends another String onto this String.

\n\n

Example usage:\n str = \"hello\"\n str append: \" world!\"\n str # => \"hello world!\"

\n\n
Other String to append on self.
self, but modified.
\n\n", arg:["string"], file:"lib/rbx/string.fy", lines:[130, 144]}, "substitute:with:":{doc:"\n\n
String or Regexp to be substituted.
String to replace substring with.
A new String where substring is substituted by substitution.
\n\n", arg:["substring", "substitution"], file:"lib/rbx/string.fy", lines:[157, 165]}, ":whitespace?":{doc:"

Indicates, if a String is empty or a single whitespace character.

\n\n
true, if self consists only of a single whitespace character or is empty, false otherwise.
\n\n", arg:[], file:"lib/string.fy", lines:[43, 51]}, ":blank?":{doc:"

Indicates, if a String consists only of whitespace.

\n\n
true if self consists only of whitespace, false otherwise.
\n\n", arg:[], file:"lib/string.fy", lines:[53, 64]}, ":words":{doc:"

Example:

\n\n
 \"hello world\" words  # => [\"hello\", \"world\"]\n
\n\n
Array of all the whitespace seperated words in self.
\n\n", arg:[], file:"lib/string.fy", lines:[84, 93]}, ":rest":{doc:"

Returns a String containing all but the first character.

\n\n
 \"hello\" rest # => \"ello\"\n
\n\n
String containing all but the first character.
\n\n", arg:[], file:"lib/string.fy", lines:[103, 112]}, ":upcase":{doc:"

Example:

\n\n
 \"hello world\" uppercase # => \"HELLO WORLD\"\n
\n\n
Uppercased version of self.
\n\n", file:"kernel/common/string.rb", lines:[726, 731]}, ":skip_leading_indentation":{doc:"

Remove leading white space for multi-line strings.\nThis method expects the first character to be an line return.

\n\n
\n\n", arg:[], file:"lib/string.fy", lines:[141, 156]}}, methods:{}, ancestors:["String", "Fancy Enumerable", "Object", "BasicObject", "Comparable", "Object", "Kernel", "BasicObject"]}, "Array":{doc:"

Array class.\nArrays are dynamically resizable containers with a constant-time\nindex-based access to members.

\n\n
\n\n", instance_methods:{"last:":{doc:"

Returns new Array with last n elements specified.

\n\n
Number of last elements to get from an Array.
Array with up to count size of last elements in self.
\n\n", arg:["count"], file:"lib/rbx/array.fy", lines:[107, 115]}, "join:":{doc:"

Joins all elements in the Array with a given String.

\n\n

Example:

\n\n
 [1,2,3] join: \", \\\xE2\x80\x9D # => \\\xE2\x80\x9D1, 2, 3\"\n
\n\n
String by which to join all elements in self into a new String.
Joined String with all elements with join_str.
\n\n", arg:["join_str"], file:"lib/rbx/array.fy", lines:[117, 129]}, ":clone":{doc:"

Clones (shallow copy) the Array.

\n\n
A shallow copy of the Array.
\n\n", arg:[], file:"lib/array.fy", lines:[20, 32]}, ":join":{doc:"

Joins all elements with the empty String.

\n\n

Example:

\n\n
 [\"hello\", \"world\", \"!\"] join # => \"hello,world!\"\n
\n\n
Elements of Array joined to a String.
\n\n", arg:[], file:"lib/rbx/array.fy", lines:[131, 142]}, "unshift:":{doc:"

Inserts a value at the front of self.

\n\n

Example:

\n\n
 a = [1,2,3]\n a unshift: 10\n a # => [10,1,2,3]\n
\n\n
Value to be added at the front of self.
self.
\n\n", arg:["value"], file:"lib/rbx/array.fy", lines:[144, 158]}, ":*":{doc:"

Returns a new Array that contains the elements of self num times\nin a row.

\n\n
\n\n", arg:["num"], file:"lib/array.fy", lines:[302, 313]}, ":[]":{doc:"

Given an Fancy Enumerable of 2 Fixnums, it returns the sub-array between the given indices.\nIf given a single Fixnum, returns the element at that index.

\n\n
Index to get the value for or Fancy Enumerable of 2 indices used for a sub-array.
Element(s) stored in self at index, possibly nil or an empty Array.
\n\n", arg:["index"], file:"lib/array.fy", lines:[72, 87]}, "prepend:":{doc:"

Prepends another Array to this one.

\n\n

Example:

\n\n
 a = [1,2,3]\n a prepend: [4,5,6]\n a # => [4,5,6,1,2,3]\n
\n\n
Other Array to be prepended to self.
self
\n\n", arg:["arr"], file:"lib/array.fy", lines:[53, 70]}, ":=?":{doc:"

Compares two Arrays where order does not matter.

\n\n
Other Array to compare this one to.
true, if all elements of other are in self, false otherwise.
\n\n", arg:["other"], file:"lib/array.fy", lines:[130, 145]}, "values_at:":{doc:"

Returns new Array with elements at given indices.

\n\n
Array of indices.
Array of all the items with the given indices in idx_arr.
\n\n", arg:["idx_arr"], file:"lib/array.fy", lines:[180, 193]}, ":>>":{doc:"

Returns new Array with elements of other_arr appended to these.

\n\n
Array to be appended to self.
New Array with other_arr and self appended.
\n\n", arg:["other_arr"], file:"lib/array.fy", lines:[195, 205]}, "select!:":{doc:"

Removes all elements in place, that don't meet the condition.

\n\n
A condition Block (or something Callable) for selecting items from self.
self, but changed with all elements removed that don't yield true for condition.
\n\n", arg:["condition"], file:"lib/array.fy", lines:[207, 217]}, "reject!:":{doc:"

Same as Array#reject: but doing so in-place (destructive).

\n\n
\n\n", arg:["block"], file:"lib/array.fy", lines:[219, 226]}, "remove:":{doc:"

Removes all occurances of obj in the Array.

\n\n
Object to be removed within self.
self, with all occurances of obj removed.
\n\n", arg:["obj"], file:"lib/array.fy", lines:[239, 248]}, "remove_if:":{doc:"

Like Array remove:, but taking a condition Block.\nRemoves all elements that meet the given condition Block.

\n\n
Block (or Callable) that indicates, if an element should be removed from self.
self, with all elements removed for which condition yields true.
\n\n", arg:["condition"], file:"lib/array.fy", lines:[250, 261]}, "indices_of:":{doc:"

Returns an Array of all indices of this item. Empty Array if item does not occur.

\n\n
 [1, 'foo, 2, 'foo] indices_of: 'foo # => [1, 3]\n
\n\n
Item/Value for which a list of indices is requested within an Array.
Array of all indices for a given value within an Array (possibly empty).
\n\n", arg:["item"], file:"lib/array.fy", lines:[354, 368]}, ":indices":{doc:"

Returns an Array of all the indices of an Array.

\n\n
 [1,2,3] indices # => [0,1,2]\n
\n\n
Array of all indices of self.
\n\n", arg:[], file:"lib/array.fy", lines:[343, 352]}, ":to_hash":{doc:"

Returns a Hash with each key-value pair in self.\nExpects values in self to be 2-element Arrays (used as key-value pairs).

\n\n

Example:

\n\n
 [[1,2],[3,4]] to_hash  # => <[1 => 2, 3 => 4]>\n
\n\n
\n\n", arg:[], file:"lib/array.fy", lines:[392, 406]}, ":to_a":{doc:"\n\n
self.
\n\n", arg:[], file:"lib/array.fy", lines:[294, 300]}, ":compact!":{doc:"

Removes all nil-value elements in place.

\n\n
self
\n\n", arg:[], file:"lib/array.fy", lines:[228, 237]}, "from:to:":{doc:"

Returns sub-array starting at from: and going to to:

\n\n
Start index for sub-array.
End index for sub-array.
\n\n", arg:["start", "end"], file:"lib/array.fy", lines:[370, 390]}, "reverse_each:":{doc:"

Example:

\n\n
 [1,2,3] reverse_each: @{print}\n # prints: 321\n
\n\n
Block to be called for each element (in reverse order).
self.
\n\n", arg:["block"], file:"lib/array.fy", lines:[114, 128]}, ":inspect":{doc:"

Returns a pretty-printed String representation of self.\nExample:

\n\n
 [1, 'foo, \"bar\", 42] inspect # => \"[1, 'foo, \\\"bar\\\", 42]\"\n
\n\n
Pretty-printed String representation of self.
\n\n", arg:[], file:"lib/array.fy", lines:[272, 288]}, "includes?:":{doc:"

Indicates, if an Array includes a given value.

\n\n
Object to search for in self.
true, if obj is in self, false otherwise.
\n\n", arg:["obj"], file:"lib/rbx/array.fy", lines:[30, 39]}, "remove_at:":{doc:"

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.

\n\n
\n\n", arg:["index"], file:"lib/rbx/array.fy", lines:[41, 63]}, ":println":{doc:"

Prints each element on a seperate line.

\n\n
\n\n", arg:[], file:"lib/array.fy", lines:[263, 270]}, "at:":{doc:"

Returns the element in the Array at a given index.

\n\n
Index for value to retrieve.
Value with the given index (if available), or nil.
\n\n", arg:["idx"], file:"lib/rbx/array.fy", lines:[65, 74]}, ":-":{doc:"

Returns an Array of all values in self that are not in other.

\n\n

Example:

\n\n
 [1,2,3,4] - [2,4,5] # => [1,3]\n
\n\n
Fancy Enumerable to be subtracted from self.
Array of elements in self excluding all elements in self and other.
\n\n", arg:["other"], file:"lib/array.fy", lines:[329, 341]}, "each:":{doc:"

Calls a given Block with each element in the Array.

\n\n
Block to be called for each element in self.
self.
\n\n", arg:["block"], file:"lib/array.fy", lines:[98, 112]}, "append:":{doc:"

Appends another Array onto this one.

\n\n

Example:

\n\n
 a = [1,2,3]\n a append: [3,4,5]\n a # => [1,2,3,3,4,5]\n
\n\n
Other Array to be appended to self.
self
\n\n", arg:["arr"], file:"lib/array.fy", lines:[34, 51]}, "find:":{doc:"

Returns the item, if it's in the Array or nil (if not found).

\n\n
Object / Element to find in the Array.
item if, it's found in the Array, otherwise nil.
\n\n", arg:["item"], file:"lib/array.fy", lines:[147, 162]}, "find_by:":{doc:"

Like find: but takes a block that gets called with each element to find it.

\n\n
Block to be called for each element in the Array.
The first element, for which block yields true.
\n\n", arg:["block"], file:"lib/array.fy", lines:[164, 178]}, "[]:":{doc:"

Inserts a given object at a given index (position) in the Array.

\n\n
Index to set a value for.
Value (object) to be set at the given index.
obj.
\n\n", arg:["idx", "obj"], file:"lib/rbx/array.fy", lines:[78, 88]}, "at:put:":{doc:"

Inserts a given object at a given index (position) in the Array.

\n\n
Index to set a value for.
Value (object) to be set at the given index.
obj.
\n\n", arg:["idx", "obj"], file:"lib/rbx/array.fy", lines:[78, 88]}, ":rest":{doc:"

Returns all elements except the first one as a new Array.

\n\n
All elements in an Array after the first one.
\n\n", arg:[], file:"lib/array.fy", lines:[89, 96]}, "index:":{doc:"

Returns the index of an item (or nil, if it isn't in the Array).\nIf item is a Block, it will return the index of an element for which it yields true.

\n\n
Item/Value for which the index is requested within an Array.
Index of the value passed in within the Array, or nil, if value not present.
\n\n", arg:["item"], file:"lib/rbx/array.fy", lines:[92, 105]}, ":+":{doc:"

Returns concatenation with another Fancy Enumerable.

\n\n

Example:

\n\n
 [1,2,3] + [3,4,5] # => [1,2,3,3,4,5]\n
\n\n
Fancy Enumerable to be appended.
Concatenation of self with other.
\n\n", arg:["other"], file:"lib/array.fy", lines:[315, 327]}}, methods:{":===":{doc:"

Matches an Array against another object.

\n\n
Object to match self against.
nil, if no match, matched values (in an Array) otherwise.
\n\n", arg:["object"], file:"lib/array.fy", lines:[408, 419]}, "new:with:":{doc:"

Creates a new Array with a given size and default-value.\nIf default is a Block, call it with each index instead and\nstore the return value.

\n\n

Example:

\n\n
 Array new: 3 with: 'hello    # => ['hello, 'hello, 'hello]\n # default can also be a block, taking the current index.\n Array new: 3 with: @{ * 2 }  # => [0, 2, 4]\n
\n\n
Initial size of Array.
Default value of new Array. Inserted size times.
New Array with size values of default in it.
\n\n", arg:["size", "default"], file:"lib/rbx/array.fy", lines:[8, 28]}, "new:":{doc:"

Creates a new Array with a given size (default value is nil).

\n\n
Initial size of the Array to be created (values default to nil).
\n\n", arg:["size"], file:"lib/array.fy", lines:[10, 18]}}, ancestors:["Array", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Range":{doc:"

Class of Range values. Are created by using Range literal syntax in Fancy.

\n\n

Example:

\n\n
 (10..100) # Range from 10 to 100\n # the following code does the same as above:\n Range new: 10 to: 100\n
\n\n
\n\n", instance_methods:{"each:":{doc:"

Calls block on each value in self. Used for iterating over a Range.

\n\n
Block to be called with every value in self.
self.
\n\n", arg:["block"], file:"lib/rbx/range.fy", lines:[15, 36]}, ":inspect":{doc:"\n\n
String representation of self.
\n\n", arg:[], file:"lib/range.fy", lines:[21, 27]}, ":to_s":{doc:"

Same as Range#inspect

\n\n
\n\n", arg:[], file:"lib/range.fy", lines:[13, 19]}, "initialize:to:":{doc:"

Initializes a new Range starting at start and ending at end.

\n\n
Start element of Range.
End element of Range.
\n\n", arg:["@start", "@end"], file:"lib/rbx/range.fy", lines:[7, 13]}}, methods:{}, ancestors:["Range", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Tuple":{doc:"

Tuples are fixed-size containers providing index-based access to its\nelements.

\n\n
\n\n", instance_methods:{":inspect":{doc:"\n\n
A String representation of self.
\n\n", arg:[], file:"lib/tuple.fy", lines:[127, 140]}, "at:":{doc:"

Returns an element at a given indes.\nPossibly throws an Rubinius ObjectBoundsExceededError.

\n\n
Index for the element to get.
Element at the given index within the Tuple or nil.
\n\n", arg:["idx"], file:"lib/rbx/tuple.fy", lines:[24, 34]}, "each:":{doc:"

Calls a given Block with each element in the Tuple.

\n\n
Block to be called for each element in self.
Return value of calling block on the last item in self.
\n\n", arg:["block"], file:"lib/tuple.fy", lines:[73, 88]}, ":to_s":{doc:"\n\n
String concatenation of elements in self.
\n\n", arg:[], file:"lib/tuple.fy", lines:[142, 148]}, "from:to:":{doc:"

Returns sub-array starting at from: and going to to:

\n\n
Start index for sub-array.
End index ofr sub-array.
\n\n", arg:["from", "to"], file:"lib/tuple.fy", lines:[54, 71]}, "[]:":{doc:"

Sets a value for a given index within a Tuple.

\n\n
Index of element to set.
Value to set at given index.
\n\n", arg:["idx", "val"], file:"lib/rbx/tuple.fy", lines:[36, 44]}, ":[]":{doc:"

Forwards to Tuple#at:.

\n\n
\n\n", arg:["idx"], file:"lib/tuple.fy", lines:[46, 52]}, "at:put:":{doc:"

Sets a value for a given index within a Tuple.

\n\n
Index of element to set.
Value to set at given index.
\n\n", arg:["idx", "val"], file:"lib/rbx/tuple.fy", lines:[36, 44]}, "reverse_each:":{doc:"

Example:

\n\n
 (1,2,3) reverse_each: @{print}\n # prints: 321\n
\n\n
Block to be called for each element (in reverse order).
self.
\n\n", arg:["block"], file:"lib/tuple.fy", lines:[90, 104]}, ":==":{doc:"

Compares two Tuples with each other.

\n\n
Other Tuple to compare self with.
true, if tuples are equal element-wise, false otherwise.
\n\n", arg:["other"], file:"lib/tuple.fy", lines:[106, 125]}}, methods:{":===":{doc:"

Matches Tuple class against an object.\nIf the given object is a Tuple instance, return a Tuple object.

\n\n
Object to be matched against
Tuple instance containing the values of obj to be used in pattern matching.
\n\n", arg:["obj"], file:"lib/tuple.fy", lines:[28, 40]}, "new:":{doc:"

Initializes a new Tuple with a given amount of element slots.\nE.g. if size is 2, creates a 2-Tuple.

\n\n
Size of the Tuple (amount of values to hold).
\n\n", arg:["size"], file:"lib/rbx/tuple.fy", lines:[5, 18]}, "with_values:":{doc:"

Creates a new Tuple with the values passed in.

\n\n

Example:

\n\n
 Tuple with_values: [1,2,3] # => (1,2,3)\n
\n\n
Values of the Tuple to be created.
\n\n", arg:["values"], file:"lib/tuple.fy", lines:[11, 26]}, ":name":{doc:"

Tuple

\n\n
\n\n", arg:[], file:"lib/tuple.fy", lines:[42, 44]}}, ancestors:["Tuple", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "DynamicSlotObject":{doc:"

Helper class to dynamically create Objects with slots defined by sending messages to it.

\n\n

Example:

\n\n
 dso = DynamicSlotObject new\n dso name: \"Chris\"\n dso age: 25\n dso country: \"Germany\"\n\n dso object  # => Object with slots 'name, 'age and 'country defined\n
\n\n
\n\n", instance_methods:{":object":{doc:"\n\n
Object with slots defined dynamically by sending messages to self.
\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[18, 25]}}, methods:{}, ancestors:["DynamicSlotObject", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "DynamicKeyHash":{doc:"

Helper class to dynamically create Hashes with keys and values defined by sending messages to it.

\n\n

Example:

\n\n
 dkh = DynamicKeyHash new\n dkh name: \"Chris\"\n dkh age: 25\n dkh country: \"Germany\"\n\n dkh hash  # => <['name => \"Chris\", 'age => 25, 'country => \"Germany\"]>\n
\n\n
\n\n", instance_methods:{"initialize:":{doc:"\n\n
If true, recursively sends to_hash to any value passed as an argument to self that is a Block (dynamically creating nested Hashes).
\n\n", arg:["@deep"], file:"lib/dynamic_slot_object.fy", lines:[50, 53]}, ":hash":{doc:"\n\n
Hash generated dynamically by sending messages to self.
\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[55, 61]}, ":initialize":{doc:"

Forward to message initialize:

\n\n
\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[46, 53]}}, methods:{}, ancestors:["DynamicKeyHash", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "DynamicValueArray":{doc:"

Helper class to dynamically create Arrays with values defined by sending messages to it.

\n\n

Example:

\n\n
 dva = DynamicValueArray new\n dva name: \"Chris\"\n dva age: 25\n dva country: \"Germany\"\n dva something_else\n\n dva array  # => [['name, \"Chris\"], ['age, 25], ['country, \"Germany\"], 'something_else]\n
\n\n
\n\n", instance_methods:{":array":{doc:"\n\n
Array generated dynamically by sending messages to self.
\n\n", arg:[], file:"lib/dynamic_slot_object.fy", lines:[94, 100]}}, methods:{}, ancestors:["DynamicValueArray", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Block":{doc:"

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.

\n\n

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.

\n\n

See: http://en.wikipedia.org/wiki/Closure_(computer_science) for\nmore information.

\n\n
\n\n", instance_methods:{":&&":{doc:"

Short-circuiting && (boolean AND).

\n\n
\n\n", arg:["other_block"], file:"lib/block.fy", lines:[86, 94]}, "unless:":{doc:"

Opposite of Block#if:. Calls self if obj is false-ish.

\n\n
Condition object to determine if self should not be called.
\n\n", arg:["obj"], file:"lib/block.fy", lines:[116, 124]}, "while_true:else:":{doc:"\n\n
Block to be called while self yields true.
Block to be called if self never yielded true.
\n\n", arg:["block", "alternative"], file:"lib/block.fy", lines:[54, 64]}, "until_do:":{doc:"

Calls a given Block as long as self yields nil or false.

\n\n
Block to be called while self yields nil or false.
\n\n", arg:["block"], file:"lib/block.fy", lines:[66, 74]}, ":to_hash_deep":{doc:"

Creates and returns a new Hash with keys and values defined dynamically in self.\nSimilar to Block to_hash but converting any value that's a Block to a Hash as well.

\n\n

Example:

\n\n
 o = {\n   something: \"foo bar baz\"\n   with: 42\n   and: {\n     another: 'field\n   }\n } to_hash_deep   # => <['something => \"foo bar baz\", 'with => 42, 'and => <['another => 'field]>]>\n
\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[214, 230]}, ":*":{doc:"

Runs self iteration times.\nSame as: iterations times: self

\n\n

Example:

\n\n
 { \"Hello, World\" println } * 2\n # => prints \"Hello, World\" 2 times\n
\n\n
Fixnum of amount of iterations to run self.
\n\n", arg:["iterations"], file:"lib/block.fy", lines:[248, 261]}, "while_do:":{doc:"

Calls block while calling self yields a true-ish value.

\n\n
Block to call while self yields true.
\n\n", arg:["block"], file:"lib/block.fy", lines:[34, 50]}, "while_false:":{doc:"

Executes a given Block while self evals to nil or false.

\n\n

Example:

\n\n
 i = 0\n { i >= 10 } while_false: {\n   i println\n   i = i + 1\n }\n
\n\n
\n\n", arg:["block"], file:"lib/block.fy", lines:[17, 30]}, "while_true:":{doc:"

Calls block while calling self yields a true-ish value.

\n\n
Block to call while self yields true.
\n\n", arg:["block"], file:"lib/block.fy", lines:[34, 50]}, "while_nil:":{doc:"

Executes a given Block while self evals to nil or false.

\n\n

Example:

\n\n
 i = 0\n { i >= 10 } while_false: {\n   i println\n   i = i + 1\n }\n
\n\n
\n\n", arg:["block"], file:"lib/block.fy", lines:[17, 30]}, "until:":{doc:"

Calls self while block yields nil or false.

\n\n
Condition Block to be called to determine if self should be called.
\n\n", arg:["block"], file:"lib/block.fy", lines:[76, 84]}, ":[]":{doc:"

Same as Block#call:

\n\n
\n\n", arg:["args"], file:"lib/block.fy", lines:[145, 151]}, "if:":{doc:"

Calls self if obj is true-ish.

\n\n
Condition object to determine if self should be called.
\n\n", arg:["obj"], file:"lib/block.fy", lines:[106, 114]}, ":to_object":{doc:"

Creates and returns a new Object with slots defined dynamically in self.\nLooks and feels similar to Javascript object literals.

\n\n

Example:

\n\n
 o = {\n   something: \"foo bar baz\"\n   with: 42\n } to_object\n\n o something # => \"foo bar baz\"\n o with      # => 42\n
\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[153, 169]}, ":===":{doc:"

Matches a Block against another object by calling self with val.

\n\n
Other object to match self against.
Value of calling self with val.
\n\n", arg:["val"], file:"lib/block.fy", lines:[126, 135]}, ":to_object_deep":{doc:"

Creates and returns a new Object with slots defined dynamically in self.\nLooks and feels similar to Javascript object literals.\nNested blocks are converted to objects as well.

\n\n

Example:

\n\n
 o = {\n   something: \"foo bar baz\"\n   with: {\n     age: 42\n   }\n } to_object_deep\n\n o something # => \"foo bar baz\"\n o with age  # => 42\n
\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[171, 197]}, "then:":{doc:"

Example:

\n\n
 # prints \"Hello World!\"\n { \"Hello\" print } then: { \"World!\" println }\n
\n\n
Block to call after self.
Block that calls self, then block.
\n\n", arg:["block"], file:"lib/block.fy", lines:[263, 274]}, "before:":{doc:"

Example:

\n\n
 # prints \"Hello World!\"\n { \"Hello\" print } then: { \"World!\" println }\n
\n\n
Block to call after self.
Block that calls self, then block.
\n\n", arg:["block"], file:"lib/block.fy", lines:[263, 274]}, "after:":{doc:"

Example:

\n\n
 # prints \"Hello World!\"\n { \"World!\" println } after: { \"Hello\" print }\n
\n\n
Block to call before self.
Block that calls self after calling block.
\n\n", arg:["block"], file:"lib/block.fy", lines:[278, 289]}, ":||":{doc:"

Short-circuiting || (boolean OR).

\n\n
\n\n", arg:["other_block"], file:"lib/block.fy", lines:[96, 104]}, ":to_block":{doc:"\n\n
self.
\n\n", arg:[], file:"lib/block.fy", lines:[291, 297]}, ":call_with_errors_logged":{doc:"

Calls self while logging any errors to stderr.

\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[299, 305]}, "call_with_errors_logged_to:":{doc:"

Forward to message call_with_errors_logged_to:reraise:

\n\n
\n\n", arg:["io"], file:"lib/block.fy", lines:[316, 331]}, "call_with_errors_logged:":{doc:"

Calls self with args while logging any errors to stderr.

\n\n
Array of arguments to call self with.
\n\n", arg:["args"], file:"lib/block.fy", lines:[307, 315]}, "call:with_errors_logged_to:":{doc:"

Forward to message call:with_errors_logged_to:reraise:

\n\n
\n\n", arg:["args", "io"], file:"lib/block.fy", lines:[332, 348]}, ":receiver":{doc:"

Returns the receiver of the Block (value for self)

\n\n
Receiver object of a Block.
\n\n", arg:[], file:"lib/rbx/block.fy", lines:[32, 39]}, "call_with_receiver:":{doc:"

Calls a Block with receiver as the receiver (referenced by self within the Block).

\n\n

Example:

\n\n
 r1 = [1,2,3]\n r2 = \"hello world\"\n b = { self class }\n b call_with_receiver: r1 # => Array\n b call_with_receiver: r2 # => String\n
\n\n
Receiver (value of self) when calling the Block.
\n\n", arg:["receiver"], file:"lib/rbx/block.fy", lines:[50, 65]}, "call_with_errors_logged_to:reraise:":{doc:"

Calls self while logging any errors to io.

\n\n
IO object to log any errors to.
Optional boolean indicating if any raised exception should be reraised.
\n\n", arg:["io", "reraise?"], file:"lib/block.fy", lines:[317, 331]}, "call:with_receiver:":{doc:"

Same as call_with_receiver: but passing along arguments to the Block.

\n\n

Example:

\n\n
 r1 = [1,2,3]\n r2 = \"hello world\"\n b = |arg| { self to_s + arg }\n b call: [\"foo\"] with_receiver: r1 # => \"123foo\"\n b call: [\"foo\"] with_receiver: r2 # => \"hello worldfoo\"\n
\n\n
Array of arguments passed to self for invocation.
Receiver (value of self) when calling the Block.
\n\n", arg:["args", "receiver"], file:"lib/rbx/block.fy", lines:[67, 87]}, ":to_hash":{doc:"

Creates and returns a new Hash with keys and values defined dynamically in self.\nSimilar to Block object but returning a Hash instead of an Object

\n\n

Example:

\n\n
 o = {\n   something: \"foo bar baz\"\n   with: 42\n } to_hash   # => <['something => \"foo bar baz\", 'with => 42]>\n
\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[199, 212]}, "receiver:":{doc:"

Sets the receiver (value for self) of a Block.

\n\n
New receiver object for a Block.
\n\n", arg:["recv"], file:"lib/rbx/block.fy", lines:[41, 48]}, ":to_proc":{doc:"

Turns a Block into a Ruby Proc object.

\n\n
Ruby Proc representing self.
\n\n", arg:[], file:"lib/rbx/block.fy", lines:[89, 97]}, "call:with_errors_logged_to:reraise:":{doc:"

Calls self with args while logging any errors to io.

\n\n
Array of arguments to call self with.
IO object to log any errors to.
Optional boolean indicating if any raised exception should be reraised.
\n\n", arg:["args", "io", "reraise?"], file:"lib/block.fy", lines:[333, 348]}, ":to_a":{doc:"

Creates and returns a new Array with values defined dynamically in self.\nSimilar to Block to_hash but returning an Array instead of a Hash

\n\n

Example:

\n\n
 a = {\n   something: \"foo bar baz\"\n   with: 42\n   something; else\n } to_a   # => [['something, \"foo bar baz\"], ['with, 42], 'something, 'else]\n
\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[232, 246]}}, methods:{":name":{doc:"

Block

\n\n
\n\n", arg:[], file:"lib/block.fy", lines:[141, 143]}}, ancestors:["Block", "Object", "Kernel", "BasicObject"]}, "Fancy BreakIteration":{doc:"

Raised to break the current iteration.\nIt is rescued by Block#loop.

\n\n

Example:

\n\n
 10 times: |i| {\n     i println\n     if: (i == 3) then: {\n       Fancy BreakIteration new raise!\n     }\n }\n \"Done!\" println\n
\n\n

Produces:

\n\n
 0\n 1\n 2\n 3\n Done!\n
\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Fancy BreakIteration", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Fancy NextIteration":{doc:"

Raised to continue with next iteration (and stopping the current one).\nIt is rescued by Block#loop.

\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Fancy NextIteration", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Fancy StopIteration":{doc:"

Raised to stop the iteration, in particular by Enumerator#next.\nIt is rescued by Block#loop.

\n\n

Example:

\n\n
 {\n   'Hello println\n   Fancy StopIteration new raise!\n   'World println\n } loop\n 'Done! println\n
\n\n

Produces:

\n\n
 Hello\n Done!\n
\n\n
\n\n", instance_methods:{":result":{doc:"

Returns the return value of the iterator.

\n\n

o = Object new\ndef o each: block {\n block call: [1]\n block call: [2]\n block call: [3]\n 100\n}

\n\n

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}

\n\n
\n\n", arg:[], file:"lib/iteration.fy", lines:[59, 83]}}, methods:{}, ancestors:["Fancy StopIteration", "StandardError", "Exception", "Object", "Kernel", "BasicObject"]}, "Integer":{doc:"

Base class for integer values in Fancy.

\n\n
\n\n", instance_methods:{"times:offset:":{doc:"

Similar to #times: but starts at a given offset.

\n\n
Block to be called with each number between offset and self.
Offset to be used as starting point of iteration.
self.
\n\n", arg:["block", "offset"], file:"lib/integer.fy", lines:[6, 18]}, "times_try:":{doc:"

Forward to message times_try:retry_with:

\n\n
\n\n", arg:["block"], file:"lib/integer.fy", lines:[19, 50]}, "times:":{doc:"

Calls a given Block with each number between 0 and self.

\n\n
Block to be called with each number between 0 and self.
self.
\n\n", arg:["block"], file:"lib/rbx/integer.fy", lines:[4, 19]}, "times_try:retry_with:":{doc:"

Tries to call a Block self amount of times, returning its return\nvalue or raising the last exception raised from block after self tries.

\n\n

Example:

\n\n
 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
\n\n
Block to be called and retries self amount of times if exceptions get thrown.
Block to be called before retrying execution of block. Defaults to an empty Block.
Return value of calling block or raises an exception after self tries. Returns nil if self <= 0.
\n\n", arg:["block", "retry_block"], file:"lib/integer.fy", lines:[20, 50]}, ":decimals":{doc:"

Returns all decimals of an Integer as an Array.

\n\n

Example:

\n\n
 100 decimals   # => [1, 0, 0]\n 12345 decimals # => [1, 2, 3, 4, 5]\n
\n\n
Array of all decimals of self.
\n\n", arg:[], file:"lib/integer.fy", lines:[52, 75]}}, methods:{}, ancestors:["Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel", "BasicObject"]}, "File":{doc:"

Instances of File represent files in the filesystem of the operating\nsystem on which Fancy is running.

\n\n
\n\n", instance_methods:{":open?":{doc:"

Indicates, if a File is opened.

\n\n
true, if File opened, false otherwise.
\n\n", arg:[], file:"lib/rbx/file.fy", lines:[215, 223]}, ":directory?":{doc:"

Indicates, if a File is a Directory.

\n\n
true, if File is a Directory, false otherwise.
\n\n", arg:[], file:"lib/rbx/file.fy", lines:[249, 257]}, ":expanded_path":{doc:"

Example:

\n\n
 f = File open: \"README.txt\"\n f expanded_path # => \"/path/to/README.txt\" (when run from /path/to/)\n
\n\n
Expanded (absolute) path of self.
\n\n", arg:[], file:"lib/file.fy", lines:[165, 175]}, ":newline":{doc:"

Writes a newline character to the File.

\n\n
\n\n", arg:[], file:"lib/rbx/file.fy", lines:[243, 247]}, "print:":{doc:"

Writes a given String to a File.

\n\n
String to be written to a File.
\n\n", arg:["str"], file:"lib/rbx/file.fy", lines:[225, 233]}, "println:":{doc:"

Writes a given argument as a String followed by a newline into the\nFile.

\n\n
\n\n", arg:["x"], file:"lib/file.fy", lines:[152, 160]}, "read:":{doc:"\n\n
Integer the amount of bytes to read from a File.
\n\n", arg:["bytes"], file:"lib/rbx/file.fy", lines:[235, 241]}, "modes:":{doc:"

Sets the File access modes Array.

\n\n
New File access modes Array.
\n\n", arg:["modes_arr"], file:"lib/rbx/file.fy", lines:[205, 213]}, "write:":{doc:"

Writes a given String to a File.

\n\n
String to be written to a File.
\n\n", arg:["str"], file:"lib/rbx/file.fy", lines:[225, 233]}, "writeln:":{doc:"

Writes a given argument as a String followed by a newline into the\nFile.

\n\n
\n\n", arg:["x"], file:"lib/file.fy", lines:[152, 160]}, ":close":{doc:"

Closes an opened File.

\n\n
\n\n", arg:[], file:"lib/rbx/file.fy", lines:[183, 193]}, ":modes":{doc:"

Returns the File access modes Array.

\n\n
File access modes Array.
\n\n", arg:[], file:"lib/rbx/file.fy", lines:[195, 203]}}, methods:{"delete:":{doc:"

Deletes a File with a given filename.

\n\n
Path to File to be deleted.
\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[117, 129]}, "exists?:":{doc:"

Indicates if the File with the given filename exists.

\n\n
Path to file to check for existance.
true if File exists, false otherwise.
\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[43, 52]}, "touch:":{doc:"

Creates a new empty file with the given filename, if it doesn't already exist.

\n\n
Name of File to be created, if not already existant.
\n\n", arg:["filename"], file:"lib/file.fy", lines:[91, 102]}, "read:":{doc:"

Reads all the contens (in ASCII mode) of a given file and returns\nthem as an Array of lines being read.

\n\n
String containing the path of the File to be read.
Contents of the File as a String.
\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[54, 64]}, "read:length:":{doc:"

Forward to message read:length:offset:

\n\n
\n\n", arg:["filename", "length"], file:"lib/rbx/file.fy", lines:[65, 78]}, "read_config:":{doc:"

Reads a .fy source file as a config file.

\n\n

Example:

\n\n
 # 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 <[\n   'host => \"127.0.0.1\",\n   'port => 1234,\n   'names => ['foo, 'bar, 'baz],\n   'something_else: <[\n     'another_value => 'foo\n   ]>\n ]>\n
\n\n
String that is the name of file to be read as a config file.
Hash of key-value pairs of the config file.
\n\n", arg:["filename"], file:"lib/file.fy", lines:[113, 150]}, "read:length:offset:":{doc:"

Reads all the contens (in ASCII mode) of a given file, length and offset\nand returns them as an Array of lines being read.

\n\n
String containing the path of the File to be read.
Fixnum being the maximum length to read from the File.
Fixnum being the offset in bytes to start reading from the File.
Contents of the File as a String.
\n\n", arg:["filename", "length", "offset"], file:"lib/rbx/file.fy", lines:[66, 78]}, "eval:":{doc:"\n\n
Name of Fancy source file (*.fy) to be read and evaluated.
Value of evaluating code in filename.
\n\n", arg:["filename"], file:"lib/file.fy", lines:[104, 111]}, "open:":{doc:"

Forward to message open:modes:

\n\n
\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[79, 100]}, "open:modes:":{doc:"

Similar to open:modes:with: but takes no Block argument to be\ncalled with the File instance.\nReturns the opened File instead and expects the caller to close it manually.

\n\n
Filename to open/create.
Array of symbols that describe the desired operations to perform.
A File instance that represents the opened File.
\n\n", arg:["filename", "modes_arr"], file:"lib/rbx/file.fy", lines:[80, 100]}, "write:with:":{doc:"

Opens a File for writing and calls block with it.

\n\n
Filename of File to write to.
Block called with a File object to write to.
\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[7, 16]}, "delete!:":{doc:"

Deletes a File with a given filename. If an IOError occurs,\nit gets ignored.

\n\n
Path to File to be deleted.
\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[131, 142]}, "overwrite:with:":{doc:"

Opens a File for writing, overwriting old content.

\n\n
Filename of File to overwrite.
Block called with a File object to write to (overwriting old contents.
\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[18, 27]}, "directory?:":{doc:"

Indicates, if a given path refers to a Directory.

\n\n
Path to check if it's a Directory.
true, if the path refers to a Directory, false otherwise.
\n\n", arg:["path"], file:"lib/rbx/file.fy", lines:[144, 153]}, "truncate:with:":{doc:"

Opens a File for writing, overwriting old content.

\n\n
Filename of File to overwrite.
Block called with a File object to write to (overwriting old contents.
\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[18, 27]}, "rename:to:":{doc:"

Renames a File on the filesystem.

\n\n
Path to File to rename.
Path to new filename.
\n\n", arg:["old_name", "new_name"], file:"lib/rbx/file.fy", lines:[155, 164]}, "append:with:":{doc:"

Opens a File for appending and calls block with it.

\n\n
Filename of File to append to.
Block called with a File object to append to.
\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[31, 40]}, "read:with:":{doc:"

Opens a File for reading and calls block with it.

\n\n
Filename of File to read from.
Block called with a File object to read from.
\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[42, 51]}, "open:modes:with:":{doc:"

Opens a File with a given filename, a modes_arr (Array) and a block.

\n\n

E.g. to open a File with read access and read all lines and print them to STDOUT:

\n\n

File open: \"foo.txt\" modes: ['read] with: |f| {

\n\n
 { f eof? } while_false: {\n   f readln println\n }\n
\n\n

}

\n\n
Filename to open/create.
Array of symbols that describe the desired operations to perform.
Block that gets called with the File object that has been opened.
\n\n", arg:["filename", "modes_arr", "block"], file:"lib/rbx/file.fy", lines:[17, 41]}, "absolute_path:":{doc:"\n\n
Name of File to get absolute path for.
Absolute (expanded) path for filename.
\n\n", arg:["filename"], file:"lib/rbx/file.fy", lines:[166, 173]}, "readlines:":{doc:"

Opens & reads a File and returns all of its lines in an Array.

\n\n
Filename of File to read lines from.
Array of lines\xC2\xA0in filename.
\n\n", arg:["filename"], file:"lib/file.fy", lines:[53, 62]}, "modes_str:":{doc:"

Returns the appropriate String representation of the modes_arr.

\n\n
Array of symbols that describe the desired operations to perform.
String that represents the File access modifiers, as used by Ruby.
\n\n", arg:["modes_arr"], file:"lib/rbx/file.fy", lines:[102, 115]}, "read_binary:with:":{doc:"

Opens a File for reading and calls block with it.

\n\n
Filename of File to read from.
Block called with a File object to read from.
\n\n", arg:["filename", "block"], file:"lib/file.fy", lines:[64, 73]}, "read_binary:":{doc:"

Opens and reads the contents of a File in binary mode and\nreturns its binary contents as a String.

\n\n
Filename of File to read from.
String that is the binary data in filename.
\n\n", arg:["filename"], file:"lib/file.fy", lines:[75, 89]}}, ancestors:["File", "Enumerable", "IO", "IOMixin", "Object", "BasicObject", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Dir":{doc:"

Instances of Directory represent directories in the filesystem of\nthe operating system, in which Fancy is being run.

\n\n
\n\n", instance_methods:{}, methods:{"delete:":{doc:"

Deletes a directory with a given name, if it's empty.

\n\n
Path to Directory to delete.
\n\n", arg:["dirname"], file:"lib/rbx/directory.fy", lines:[38, 50]}, "exists?:":{doc:"

Indicates, if a Directory exists with a given pathname.

\n\n
Path of Directory to check for existance.
true, if Directory exists, false otherwise.
\n\n", arg:["dirname"], file:"lib/directory.fy", lines:[7, 16]}, "create:":{doc:"

Creates a new Directory on the filesystem, possibly throwing\nIOError Exceptions that might occur.

\n\n
Path of Directory to create.
\n\n", arg:["dirname"], file:"lib/rbx/directory.fy", lines:[7, 20]}, "create!:":{doc:"

Creates a new Directory on the filesystem, ignoring any\nExceptions that might occur.\nBasically works like running mkdir -p on the shell.

\n\n
Path of Directory to create.
\n\n", arg:["dirname"], file:"lib/rbx/directory.fy", lines:[22, 35]}, "list:":{doc:"

Example:

\n\n
 Directory list: \"tests/**/*.fy\"  # => [\"tests/file1.fy\", \"tests/more/file2.fy\"]\n
\n\n
Directory pattern or name containing files to be returned as an Array.
Array of files matching directory pattern.
\n\n", arg:["pattern"], file:"lib/rbx/directory.fy", lines:[52, 68]}}, ancestors:["Dir", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Hash":{doc:"

Class for Hashes (HashMaps / Dictionaries).\nMaps a key to a value.

\n\n
\n\n", instance_methods:{"at:else:":{doc:"

Returns the value for a given key.\nIf the key is not found, calls else_block and returns the value it yields.

\n\n

Example:

\n\n
 <['foo => 'bar]> at: 'foo else: { 42 } # => 'bar\n <['foo => 'bar]> at: 'unknown else: { 42 } # => 42\n <['nil => nil]> at: 'nil else: { 'not_found } # => nil\n
\n\n
Key of the value to get.
Block to be called if key is not found.
Value for key or value of calling else_block, if key is not found.
\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[23, 43]}, "fetch:else:":{doc:"

Returns the value for a given key.\nIf the key is not found, calls else_block and returns the value it yields.

\n\n

Example:

\n\n
 <['foo => 'bar]> at: 'foo else: { 42 } # => 'bar\n <['foo => 'bar]> at: 'unknown else: { 42 } # => 42\n <['nil => nil]> at: 'nil else: { 'not_found } # => nil\n
\n\n
Key of the value to get.
Block to be called if key is not found.
Value for key or value of calling else_block, if key is not found.
\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[23, 43]}, "initialize:":{doc:"

Initializes a new Hash with default as a default value.\nIf default is a Block, call it with self and a given key to get its default value.

\n\n
Default value for self.
\n\n", arg:["default"], file:"lib/rbx/hash.fy", lines:[10, 19]}, "fetch:else_put:":{doc:"

Example:

\n\n
 h = <['foo => 'bar]>\n h at: 'foo else_put: { 42 } # => 'bar\n h['foo] # => 'bar\n h at: 'undefined else_put: { 42 } # => 42\n h['undefined] # => 42\n
\n\n
Key of value to get.
Block that gets called and its value inserted into self if key not in self.
\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[47, 65]}, "select_keys:":{doc:"

Example:

\n\n
 h = <['a => 1, 42 => (1,2,3), 'b => \"hello\"]>\n h select_keys: @{ is_a?: Symbol } # => <['a => 1, 'b => \"hello\"]>\n
\n\n
Block to be called with each key in self.
Hash of entries for which block called with its key yields true.
\n\n", arg:["block"], file:"lib/hash.fy", lines:[186, 203]}, "reject_keys:":{doc:"

Example:

\n\n
 h = <['a => 1, 42 => (1,2,3), 'b => \"hello\"]>\n h reject_keys: @{ is_a?: Symbol } # => <[42 => (1,2,3)]>\n
\n\n
Block to be called with each key in self.
Hash of entries for which block called with its key yields false.
\n\n", arg:["block"], file:"lib/hash.fy", lines:[205, 216]}, ":random_key":{doc:"\n\n
Random key in self.
\n\n", arg:[], file:"lib/hash.fy", lines:[218, 224]}, "default:":{doc:"

Sets the default value to be returned from self for keys not in self.\nIf default_value is a Block, use its return value (called with the Hash and a given key).

\n\n
Default value for self.
\n\n", arg:["default_value"], file:"lib/rbx/hash.fy", lines:[66, 84]}, ":random_value":{doc:"\n\n
Random value in self.
\n\n", arg:[], file:"lib/hash.fy", lines:[226, 232]}, ":[]":{doc:"

Returns the value for a given key.

\n\n
Key for value to get.
Value for given key or nil, if key not set.
\n\n", arg:["key"], file:"lib/hash.fy", lines:[12, 21]}, "at:else_put:":{doc:"

Example:

\n\n
 h = <['foo => 'bar]>\n h at: 'foo else_put: { 42 } # => 'bar\n h['foo] # => 'bar\n h at: 'undefined else_put: { 42 } # => 42\n h['undefined] # => 42\n
\n\n
Key of value to get.
Block that gets called and its value inserted into self if key not in self.
\n\n", arg:["key", "else_block"], file:"lib/hash.fy", lines:[47, 65]}, "update_values:":{doc:"

Example:

\n\n
 h = <['name => \"Tom\", 'age => 21 ]>\n h update_values: @{ * 2}\n h # => <['name => \\\xE2\x80\x9DTomTom\\\xE2\x80\x9D, 'age => 42]>\n
\n\n
Block that returns an updated value for each value in self.
\n\n", arg:["block"], file:"lib/hash.fy", lines:[299, 312]}, "each_key:":{doc:"

Calls a given Block with each key.

\n\n
Block to be called with each key in self.
self
\n\n", arg:["block"], file:"lib/hash.fy", lines:[88, 98]}, "update_keys:":{doc:"

Example:

\n\n
 h = <['name => \"Tom\", 'age => 21 ]>\n h update_keys: @{ to_s * 2}\n h # => <[\"namename\" => \\\xE2\x80\x9DTom\\\xE2\x80\x9D, \"ageage\" => 21]>\n
\n\n
Block that returns an updated key for each key in self.
\n\n", arg:["block"], file:"lib/hash.fy", lines:[314, 339]}, "each_value:":{doc:"

Calls a given Block with each value.

\n\n
Block to be called with each value in self.
self
\n\n", arg:["block"], file:"lib/hash.fy", lines:[100, 110]}, ":to_object":{doc:"

Creates and returns a new Object with slot names and values based on keys and values in self.

\n\n

Example:

\n\n
 o = <['name => \"Christopher Bertels\", 'interest => \"programming languages\"]> to_object\n o name        # => \"Christopher Bertels\"\n o interest    # => 42\n
\n\n
New Object with slots defined by keys and values in self.
\n\n", arg:[], file:"lib/hash.fy", lines:[122, 140]}, "delete:":{doc:"

Deletes a key-value pair from self.

\n\n
Key of key-value pair to be deleted in self.
\n\n", arg:["key"], file:"lib/rbx/hash.fy", lines:[37, 45]}, ":to_object_deep":{doc:"

Similar to Hash to_object but converting any nested Hash slots to Objects as well.

\n\n
\n\n", arg:[], file:"lib/hash.fy", lines:[142, 155]}, "call:":{doc:"

Sends each key-value pair as a message (with one argument) to receiver.

\n\n

Example:

\n\n
 Person = Struct new: ('firstname, 'lastname)\n p = Person new\n <['firstname => \"Tom\", 'lastname => \"Cruise\"]> call: [p]\n\n p firstname # => \"Tom\"\n p lastname  # => \"Cruise\"\n
\n\n
Receiver to apply self to.
receiver.
\n\n", arg:["receiver"], file:"lib/hash.fy", lines:[244, 261]}, ":random":{doc:"

Same as Hash random_value.

\n\n
Random value in self.
\n\n", arg:[], file:"lib/hash.fy", lines:[234, 242]}, "with_updated_values:":{doc:"\n\n
Block that returns an updated value for each value in self.
Hash based on self but with updated values via block.
\n\n", arg:["block"], file:"lib/hash.fy", lines:[341, 348]}, "values_at:":{doc:"

Example:

\n\n
 <['foo => 1, 'bar => 2, 'baz => 42]> values_at: ('foo, 'baz) # => [1, 42]\n
\n\n
Collection of keys to get the values for.
Array of all values for the given keys.
\n\n", arg:["keys"], file:"lib/hash.fy", lines:[174, 184]}, "with_updated_keys:":{doc:"\n\n
Block that returns an updated key for each key in self.
Hash based on self but with updated keys via block.
\n\n", arg:["block"], file:"lib/hash.fy", lines:[350, 357]}, "with_value_for_key:do:":{doc:"

Forward to message with_value_for_key:do:else:

\n\n
\n\n", arg:["key", "block"], file:"lib/hash.fy", lines:[358, 369]}, "includes?:":{doc:"

Indicates if a given key is in self.

\n\n
Key to search for.
true, if Hash includes key, false otherwise.
\n\n", arg:["key"], file:"lib/rbx/hash.fy", lines:[55, 64]}, ":default":{doc:"\n\n
Default value for self.
\n\n", arg:[], file:"lib/rbx/hash.fy", lines:[86, 96]}, ":to_block":{doc:"

Example:

\n\n
 <['x => 100, 'y => 150]> to_block\n # would be the same as:\n |receiver| {\n   receiver tap: @{\n     x: 100\n     y: 150\n   }\n }\n
\n\n
Block that sends each key-value pair in self as a message (with one argument) to its argument.
\n\n", arg:[], file:"lib/hash.fy", lines:[273, 297]}, "with_value_for_key:do:else:":{doc:"\n\n
Key of value to find in self.
Block to be called with value for key, if found.
Block to be called if key not found in self.
\n\n", arg:["key", "block", "else_block"], file:"lib/hash.fy", lines:[359, 369]}, "default_for:":{doc:"\n\n
Key to be used.
Default value for key.
\n\n", arg:["key"], file:"lib/rbx/hash.fy", lines:[98, 105]}, "each:":{doc:"

Calls a given Block with each key and value.

\n\n
Block to be called with each key and value in self.
self
\n\n", arg:["block"], file:"lib/hash.fy", lines:[69, 86]}, ":to_a":{doc:"

Returns an Array of the key-value pairs in a Hash.

\n\n
Array of all key-value pairs in self.
\n\n", arg:[], file:"lib/hash.fy", lines:[112, 120]}}, methods:{}, ancestors:["Hash", "Fancy Enumerable", "Object", "BasicObject", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Set":{doc:"

A simple Set data structure class.

\n\n
\n\n", instance_methods:{"initialize:":{doc:"

Initialize a new Set with a given collection of values.

\n\n
Fancy Enumerable of values to be used as values for self.
\n\n", arg:["values"], file:"lib/set.fy", lines:[8, 19]}, ":values":{doc:"\n\n
Values in self as an Array.
\n\n", arg:[], file:"lib/set.fy", lines:[29, 35]}, "remove:":{doc:"

Removes a given object from a Set, if available.

\n\n
Object to be removed from self.
\n\n", arg:["obj"], file:"lib/set.fy", lines:[143, 151]}, ":clear":{doc:"

Removes all elements from self.

\n\n
self.
\n\n", arg:[], file:"lib/set.fy", lines:[153, 162]}, ":-":{doc:"\n\n
Other Set to use for creating difference Set.
Difference Set by removing all values from self that are in other.
\n\n", arg:["other"], file:"lib/set.fy", lines:[173, 184]}, ":size":{doc:"\n\n
Amount of values in self as a Fixnum.
\n\n", arg:[], file:"lib/set.fy", lines:[37, 43]}, ":<<":{doc:"

Insert a value into the Set.

\n\n
Value to be inserted into self.
self.
\n\n", arg:["value"], file:"lib/set.fy", lines:[81, 91]}, "includes?:":{doc:"

Indicates, if the Set includes value.

\n\n
Value to be checked for if included in self.
true if value in self, false otherwise.
\n\n", arg:["value"], file:"lib/set.fy", lines:[93, 102]}, ":[]":{doc:"

Indicates, if the Set includes value.

\n\n
Value to be checked for if included in self.
true if value is in self, nil otherwise.
\n\n", arg:["value"], file:"lib/set.fy", lines:[104, 113]}, "each:":{doc:"

Calls a given Block for each element of the Set.

\n\n
Block to be called with each value in self.
self.
\n\n", arg:["block"], file:"lib/set.fy", lines:[115, 125]}, ":inspect":{doc:"

Returns a detailed String representation of a Set.

\n\n
\n\n", arg:[], file:"lib/set.fy", lines:[135, 141]}, ":initialize":{doc:"

Initialize a new empty Set.

\n\n
\n\n", arg:[], file:"lib/set.fy", lines:[21, 27]}, ":empty?":{doc:"

Indicates, if a Set is empty.

\n\n
true, if Set is emty, false otherwise.
\n\n", arg:[], file:"lib/set.fy", lines:[45, 53]}, ":==":{doc:"

Indicates, if two Sets are equal.

\n\n
Set to compare self against.
true, if self is equal to other, false otherwise.
\n\n", arg:["other"], file:"lib/set.fy", lines:[55, 69]}, ":to_s":{doc:"

Returns a String representation of a Set.

\n\n
\n\n", arg:[], file:"lib/set.fy", lines:[127, 133]}, ":+":{doc:"\n\n
Other Set to use for creating union Set.
Union Set containing all values in both self and other.
\n\n", arg:["other"], file:"lib/set.fy", lines:[164, 171]}, ":&":{doc:"\n\n
Other Set to use for creating Set.
Intersection Set containing only values that are in both self and other.
\n\n", arg:["other"], file:"lib/set.fy", lines:[186, 197]}}, methods:{":[]":{doc:"

Initialize a new Set with a given collection of values.

\n\n
Fancy Enumerable of values used for new Set.
\n\n", arg:["values"], file:"lib/set.fy", lines:[71, 79]}}, ancestors:["Set", "Fancy Enumerable", "Object", "BasicObject", "Object", "Kernel", "BasicObject"]}, "Symbol":{doc:"

Symbols are unique identifiers and only created once.

\n\n

If there are several occurrances of the same Symbol literal within\nFancy code, they all refer to the same Symbol object.

\n\n
\n\n", instance_methods:{"call:":{doc:"

This allows Symbols to be used like Blocks (e.g. in all methods of Enumerable).

\n\n

Example:

\n\n
 [1, 2, 3] map: 'squared # => [1, 4, 9]\n
\n\n
Argument to send self to.
Value of sending self as message to arg.
\n\n", arg:["arg"], file:"lib/symbol.fy", lines:[9, 25]}, ":defined?":{doc:"

Indicates if a Symbol is defined as a constant in the senders scope.

\n\n
true, if self is defined as a constant in senders scope, false otherwise.
\n\n", arg:[], file:"lib/rbx/symbol.fy", lines:[13, 25]}, ":to_sym":{doc:"\n\n
self.
\n\n", arg:[], file:"lib/symbol.fy", lines:[65, 71]}, ":to_block":{doc:"

Example:

\n\n
 'inspect to_block\n # is equal to:\n @{ inspect }\n
\n\n
Block that sends self to its first argument, passing along any remaining arguments.
\n\n", arg:[], file:"lib/symbol.fy", lines:[73, 86]}, ":call":{doc:"

Sends self as message to the sender in its context.

\n\n

Example:

\n\n
 'foo call\n  # => 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
\n\n
\n\n", arg:[], file:"lib/symbol.fy", lines:[27, 46]}}, methods:{}, ancestors:["Symbol", "ImmediateValue", "Object", "Kernel", "BasicObject"]}, "Stack":{doc:"

A simple Stack container class.

\n\n
\n\n", instance_methods:{"initialize:":{doc:"

Initializes a new Stack with a given size.

\n\n
Initial size of the new Stack.
\n\n", arg:["size"], file:"lib/stack.fy", lines:[14, 22]}, "push:":{doc:"

Pushes a value onto the Stack.

\n\n
Object to be pushed onto self.
\n\n", arg:["obj"], file:"lib/stack.fy", lines:[24, 32]}, "each:":{doc:"

Calls a given Block with each element in self, starting with the top of stack element.

\n\n
Block to be called with each element in self.
self.
\n\n", arg:["block"], file:"lib/stack.fy", lines:[72, 81]}, ":initialize":{doc:"

Initializes a new Stack.

\n\n
\n\n", arg:[], file:"lib/stack.fy", lines:[6, 12]}, ":<<":{doc:"

Pushes a value onto the Stack.

\n\n
Object to be pushed onto self.
\n\n", arg:["obj"], file:"lib/stack.fy", lines:[24, 32]}, ":pop":{doc:"

Pops the top-of-stack element from the Stack and returns it.

\n\n
Top-of-stack element.
\n\n", arg:[], file:"lib/stack.fy", lines:[36, 44]}, ":top":{doc:"\n\n
The top-of-stack element.
\n\n", arg:[], file:"lib/stack.fy", lines:[46, 52]}, ":size":{doc:"\n\n
Size of the Stack.
\n\n", arg:[], file:"lib/stack.fy", lines:[54, 60]}, ":empty?":{doc:"

Indicates, if the Stack is empty.

\n\n
true if empty, otherwise false.
\n\n", arg:[], file:"lib/stack.fy", lines:[62, 70]}}, methods:{}, ancestors:["Stack", "Object", "Kernel", "BasicObject"]}, "Proxies ProxyReceiver":{doc:"

A ProxyReceiver is an object which proxies all message sends to it to 2 other objects.\nIt will send each message first to its proxy instance variable and then to the obj instance variable.

\n\n
\n\n", instance_methods:{"initialize:for:":{doc:"

Initializes a new ProxyReceiver with proxy for obj.

\n\n
Proxy receiver for obj.
Original receiver object.
\n\n", arg:["@proxy", "@obj"], file:"lib/proxies.fy", lines:[11, 17]}, "unknown_message:with_params:":{doc:"

Forwards all incoming messages to self to @proxy and then @obj.

\n\n
Incoming message name.
Paremeters of incoming message send.
\n\n", arg:["msg", "params"], file:"lib/proxies.fy", lines:[19, 29]}}, methods:{}, ancestors:["Proxies ProxyReceiver", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Proxies RespondsToProxy":{doc:"

A RespondsToProxy is a Proxy that forwards any message sent to it to it's target instance variable\nonly if it responds to that message. Any messages that target doesn't respond to simply won't be sent\nand nil will be returned.

\n\n
\n\n", instance_methods:{"initialize:":{doc:"

Initializes a new RespondsToProxy for target.

\n\n
Target receiver object.
\n\n", arg:["@target"], file:"lib/proxies.fy", lines:[42, 47]}, "unknown_message:with_params:":{doc:"

Forwards all incoming message to self to @target\nonly if @target responds to them.

\n\n
Incoming message name.
Paremeters of incoming message send.
\n\n", arg:["msg", "params"], file:"lib/proxies.fy", lines:[49, 61]}}, methods:{}, ancestors:["Proxies RespondsToProxy", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Proxies ActorProxy":{doc:"

An ActorProxy is a Proxy that forwards any message sent to it to\nit's target object as a future send by default. If explicitly sent\nan async message, it will forward the async send to target,\nreturning nil instead of a FutureSend, as expected.

\n\n

Example:

\n\n
 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
\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Proxies ActorProxy", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Proxies DistributingProxy":{doc:"

DistributingProxy is a Proxy that round-robin distributes messages to objects\nin a Fancy Enumerable specified upon creation.

\n\n

Example:

\n\n
 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
\n\n
\n\n", instance_methods:{}, methods:{}, ancestors:["Proxies DistributingProxy", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "Fiber":{doc:"

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.

\n\n
\n\n", instance_methods:{"resume:":{doc:"

Resumes self (if paused) or raises an exception, if Fiber is dead.\nPasses along vals as the return value of the last call to yield in self.

\n\n
Array of values to pass along to self for resuming.
\n\n", arg:["vals"], file:"lib/rbx/fiber.fy", lines:[30, 39]}}, methods:{":name":{doc:"

Fiber

\n\n
\n\n", arg:[], file:"lib/fiber.fy", lines:[9, 11]}, "new:":{doc:"

Creates a new Fiber running block.

\n\n
Block to be run in a new Fiber.
\n\n", arg:["block"], file:"lib/rbx/fiber.fy", lines:[10, 18]}, "yield:":{doc:"

Returns execution control to the parent Fiber and passes along vals.

\n\n
Array of values to pass along to parent Fiber.
\n\n", arg:["vals"], file:"lib/rbx/fiber.fy", lines:[20, 28]}}, ancestors:["Fiber", "Object", "Kernel", "BasicObject"]}, "FutureSend":{doc:"

A FutureSend gets created whenever an asynchronous message via the @ operator gets sent, yielding a FutureSend.\nThey represent Futures/Promises in Fancy.

\n\n

Example:

\n\n
 f = some_object @ some_method: some_argument\n f class # => FutureSend\n f value # => Value returned by some_method, but may block the current Thread if f hasn't completed yet.\n
\n\n
\n\n", instance_methods:{":succeeded?":{doc:"\n\n
true if FutureSend completed without failure, false otherwise.
\n\n", arg:[], file:"lib/future.fy", lines:[72, 84]}, ":value":{doc:"

Returns the value returned by performing self.\nWill block the calling Thread if self hasn't completed or failed yet.

\n\n
Return value of performing self.
\n\n", arg:[], file:"lib/future.fy", lines:[116, 132]}, "when_failed:":{doc:"

Registers block as a continuation to be called with self's fail reason in case of failure.

\n\n
Block to be registered as a continuation when self fails.
\n\n", arg:["block"], file:"lib/future.fy", lines:[138, 153]}, "when_done:":{doc:"

Registers block as a continuation to be called with self's value on success.

\n\n
Block to be registered as a continuation when self succeeds.
\n\n", arg:["block"], file:"lib/future.fy", lines:[155, 170]}, ":completed?":{doc:"\n\n
true if FutureSend completed (success or failure), false otherwise.
\n\n", arg:[], file:"lib/future.fy", lines:[60, 70]}, ":failed?":{doc:"\n\n
true if FutureSend failed, false otherwise.
\n\n", arg:[], file:"lib/future.fy", lines:[86, 96]}, "with_value:":{doc:"

Registers block as a continuation to be called with self's value on success.

\n\n
Block to be registered as a continuation when self succeeds.
\n\n", arg:["block"], file:"lib/future.fy", lines:[155, 170]}, "initialize:receiver:message:":{doc:"

Forward to message initialize:receiver:message:with_params:

\n\n
\n\n", arg:["@actor", "@receiver", "@message"], file:"lib/future.fy", lines:[20, 21]}, ":failure":{doc:"

Returns the Exception that caused self to fail, or nil, if it didn't fail.\nWill block the calling Thread if self hasn't completed or failed yet.

\n\n
Exception that caused the FutureSend to fail, or nil, if no failure.
\n\n", arg:[], file:"lib/future.fy", lines:[98, 114]}}, methods:{}, ancestors:["FutureSend", "Object", "Kernel", "BasicObject"]}, "FutureCollection":{doc:"

Helper class for dealing with a collection of FutureSends.\nImplements the Fancy Enumerable interface.

\n\n
\n\n", instance_methods:{"each:":{doc:"

Calls block with each value of each future in self.\nRegisters block as a continuation for each future.

\n\n
Block to be called with the value of each future.
\n\n", arg:["block"], file:"lib/future.fy", lines:[207, 216]}, ":await_all":{doc:"

Awaits all futures in self to complete, before returning.

\n\n
\n\n", arg:[], file:"lib/future.fy", lines:[218, 224]}}, methods:{":[]":{doc:"\n\n
Fany Enumerable of FutureSends.
FutureCollection for futures.
\n\n", arg:["futures"], file:"lib/future.fy", lines:[196, 203]}}, ancestors:["FutureCollection", "Fancy Enumerable", "Object", "BasicObject", "Object", "Kernel", "BasicObject"]}, "Struct":{doc:"

Structs are light-weight classes with predefined read-writable slots.

\n\n
\n\n", instance_methods:{}, methods:{"new:":{doc:"

Creates a new Struct class with the given slots.

\n\n
Array of slotnames the new Struct should contain.
\n\n", arg:["slots"], file:"lib/struct.fy", lines:[6, 25]}}, ancestors:["Struct", "Enumerable", "Object", "Kernel", "BasicObject"]}, "Fancy MessageSink":{doc:"

A MessageSink just swallows all messages that are sent to it.

\n\n
\n\n", instance_methods:{"unknown_message:with_params:":{doc:"

m Message sent to self.\np Array of parameters sent along with m.

\n\n

Catches all messages and arguments and simply always returns self.

\n\n
self.
\n\n", arg:["m", "p"], file:"lib/message_sink.fy", lines:[7, 17]}}, methods:{}, ancestors:["Fancy MessageSink", "Fancy BasicObject", "Object", "Kernel", "BasicObject"]}, "KVO":{doc:"

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 Blocks, as it fits nicer\nwith Fancy's semantics.

\n\n

Example:

\n\n
 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
\n\n
\n\n", instance_methods:{"observe_insertion:with:":{doc:"

Registers a new insertion observer Block for collection named slotname in self.

\n\n
Name of collection slot to be observed with block.
Block to be called with value inserted in collection named slotname in self.
\n\n", arg:["slotname", "block"], file:"lib/kvo.fy", lines:[70, 79]}, "observe_removal:with:":{doc:"

Registers a new removal observer Block for collection named slotname in self.

\n\n
Name of collection slot to be observed with block.
Block to be called with value removed from collection named slotname in self.
\n\n", arg:["slotname", "block"], file:"lib/kvo.fy", lines:[81, 90]}, "observe:with:":{doc:"

Registers a new observer Block for slotname in self.

\n\n
Name of slot to be observed with block.
Block to be called with old and new value of slotname in self.
\n\n", arg:["slotname", "block"], file:"lib/kvo.fy", lines:[59, 68]}}, methods:{}, ancestors:["KVO", "Object", "Kernel", "BasicObject"]}, "Fancy Documentation":{doc:"

A Fancy Documentation object is a holder for docstrings and specs.\nKeeps a registry of documentation for anything Fancy.

\n\n

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!

\n\n

This object can be converted to just anything by using its format:\nmethod. Formatters can be registered with Fancy Documentation#formatter:is:

\n\n

By default two formatters are defined:

\n\n

'fancy => Returns the Fancy::Documentation object\n 'string => Returns the docs string representation

\n\n
\n\n", instance_methods:{":docs":{doc:"

An array of docstrings for the object beind documented.

\n\n

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.

\n\n
\n\n"}, "format:":{doc:"

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.

\n\n
\n\n", arg:["format"], file:"lib/documentation.fy", lines:[51, 62]}, ":specs":{doc:"

An array of associated Fancy specs for the object\nbeing documented.

\n\n

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.

\n\n

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.

\n\n
\n\n"}}, methods:{"for_method:on_class:is:":{doc:"

Similar to Fancy Documentation but taking the method name and the Class for which Method to define the docstring.

\n\n
\n\n", arg:["method_name", "class", "docstring"], file:"lib/rbx/documentation.fy", lines:[44, 50]}, "remove:":{doc:"

Removes the documentation for obj.

\n\n
\n\n", arg:["obj"], file:"lib/rbx/documentation.fy", lines:[60, 63]}, "formatter:is:":{doc:"

Registers a callable object as formatter under name.

\n\n
\n\n", arg:["name", "callable"], file:"lib/documentation.fy", lines:[87, 93]}, "for:is:":{doc:"

Create a Fancy::Documentation instance.

\n\n

Note: As we're bootstrapping, we cannot set documentation here as\nan string literal.

\n\n

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.

\n\n
\n\n", arg:["obj", "docstring"], file:"lib/rbx/documentation.fy", lines:[24, 42]}, "for:":{doc:"

Obtains the Fancy Documentation for obj.

\n\n
\n\n", arg:["obj"], file:"lib/rbx/documentation.fy", lines:[55, 58]}, "for:append:":{doc:"

Append docstring to the documentation for obj.\nIf obj has no documentation, one is created for it.

\n\n
\n\n", arg:["obj", "docstring"], file:"lib/documentation.fy", lines:[64, 77]}, "formatter:":{doc:"

Obtains a formatter by a given name. Returns a callable object.

\n\n
\n\n", arg:["name"], file:"lib/documentation.fy", lines:[79, 85]}, ":formatters":{doc:"

Obtain the hash of known documentation formatters.

\n\n
\n\n", arg:[], file:"lib/documentation.fy", lines:[95, 102]}}, ancestors:["Fancy Documentation", "Object", "Kernel", "BasicObject"]}, "OptionParser":{doc:"

Parses command-line options from a given Array (usually ARGV) and\nexecutes registered handlers for options specified.

\n\n
\n\n", instance_methods:{"initialize:":{doc:"

Creates a new OptionParser.

\n\n

Example:

\n\n
 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
\n\n
(Optional) Block to be called with self for easy setup.
\n\n", arg:["@block"], file:"lib/option_parser.fy", lines:[38, 51]}, "parse:":{doc:"

Parses options from args and executes registered option handlers.

\n\n
Array of arguments to parse options from. Typically you'd pass ARGV here.
\n\n", arg:["args"], file:"lib/option_parser.fy", lines:[79, 101]}, "parse_hash:":{doc:"

Parses options as Hash from args and executes registered option handlers.

\n\n

Example:

\n\n
 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 # => <[\"--some-option\" => \"some-value\"]>\n
\n\n
Array of arguments to parse options from. Typically you'd pass ARGV here.
\n\n", arg:["args"], file:"lib/option_parser.fy", lines:[103, 120]}, ":print_help_info":{doc:"

Displays the --help information on stdout based on all options that were registered via OptionParser with:doc:do:.

\n\n
\n\n", arg:[], file:"lib/option_parser.fy", lines:[122, 136]}, ":initialize":{doc:"

Forward to message initialize:

\n\n
\n\n", arg:[], file:"lib/option_parser.fy", lines:[23, 51]}, "with:doc:":{doc:"

Forward to message with:doc:do:

\n\n
\n\n", arg:["option_string", "doc_string"], file:"lib/option_parser.fy", lines:[52, 77]}, "with:doc:do:":{doc:"

Example:

\n\n
 o = OptionParser new\n o with: \"--file [filename]\" doc: \"Use this file for processing\" do: |filename| {\n   # do something with filename\n }\n
\n\n
Option flag and (optional) argument within \"[]\", e.g. \"--file [filename]\".
Documentation String for option_string that is used in the standard --help option.
Block to be executed if option_string is matched during parsing. If the option takes an argument it will be passed to block as an argument.
\n\n", arg:["option_string", "doc_string", "block"], file:"lib/option_parser.fy", lines:[53, 77]}}, methods:{}, ancestors:["OptionParser", "Object", "Kernel", "BasicObject"]}, "FancySpec":{doc:"

The FancySpec class is used for defining FancySpec testsuites.\nHave a look at the tests/ directory to see some examples.

\n\n
\n\n", instance_methods:{"initialize:":{doc:"

Forward to message initialize:test_obj:

\n\n
\n\n", arg:["@description"], file:"lib/fancy_spec.fy", lines:[17, 18]}, "initialize:test_obj:":{doc:"\n\n
Description String for testcase.
Object to be tested, defaults to description.
\n\n", arg:["@description", "@test_obj"], file:"lib/fancy_spec.fy", lines:[14, 18]}, "it:when:":{doc:"

Example:

\n\n
 it: \"should be an empty Array\" when: {\n   arr = [1,2,3]\n   3 times: { arr pop }\n   arr empty? is: true\n }\n
\n\n
Info String related to the test case defined in spec_block.
Block that holds the testcase's code (including assertions).
\n\n", arg:["spec_info_string", "spec_block"], file:"lib/fancy_spec.fy", lines:[51, 66]}, "it:for:when:":{doc:"

Example:

\n\n
 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\n # you can also pass multiple method names if the test covers more\n # than one method:\n\n it: \"tests multiple methods\" with: ['method_a, 'method_b] when: {\n   # do something with method_a and method_b\n }\n
\n\n
Info String related to the test case defined in spec_block.
Name of Method that this testcase is related to.
Block that holds the testcase's code (including assertions).
\n\n", arg:["spec_info_string", "method_names", "spec_block"], file:"lib/fancy_spec.fy", lines:[68, 104]}, "after:":{doc:"\n\n
Block to be run after all test cases.
\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[116, 122]}, "after_each:":{doc:"\n\n
Block to be run after each test case.
\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[132, 138]}, ":run":{doc:"

Runs a FancySpec's test cases.

\n\n
\n\n", arg:[], file:"lib/fancy_spec.fy", lines:[140, 166]}, "it:with:when:":{doc:"

Example:

\n\n
 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\n # you can also pass multiple method names if the test covers more\n # than one method:\n\n it: \"tests multiple methods\" with: ['method_a, 'method_b] when: {\n   # do something with method_a and method_b\n }\n
\n\n
Info String related to the test case defined in spec_block.
Name of Method that this testcase is related to.
Block that holds the testcase's code (including assertions).
\n\n", arg:["spec_info_string", "method_names", "spec_block"], file:"lib/fancy_spec.fy", lines:[68, 104]}, "before:":{doc:"\n\n
Block to be run before all test cases.
\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[108, 114]}, "before_each:":{doc:"\n\n
Block to be run before each test case.
\n\n", arg:["block"], file:"lib/fancy_spec.fy", lines:[124, 130]}}, methods:{"describe:with:":{doc:"

Factory method for creating FancySpec instances.\nCalls block with the new FancySpec instance as the receiver, then runs it.

\n\n

Example:

\n\n
 FancySpec describe: MyTestClass with: {\n   # test cases using it:with:when: here.\n }\n
\n\n
\n\n", arg:["test_obj", "block"], file:"lib/fancy_spec.fy", lines:[20, 34]}, "describe:for:with:":{doc:"

Similar to FancySpec describe:with: but also taking an explicit test_obj.

\n\n

Example:

\n\n
 FancySpec describe: \"My cool class\" for: MyCoolClass with: {\n   # test cases using it:for:when: here.\n }\n
\n\n
\n\n", arg:["description", "test_obj", "block"], file:"lib/fancy_spec.fy", lines:[36, 49]}}, ancestors:["FancySpec", "Object", "Kernel", "BasicObject"]}, "FancySpec SpecTest":{doc:"

FancySpec test case class.

\n\n
\n\n", instance_methods:{"failed:":{doc:"

Forward to message failed:location:

\n\n
\n\n", arg:["actual_and_expected"], file:"lib/fancy_spec.fy", lines:[274, 281]}}, methods:{"failed_test:":{doc:"

Gets called when a SpecTest failed.

\n\n
Pair of actual and expected values for a failed test case.
\n\n", arg:["test"], file:"lib/fancy_spec.fy", lines:[187, 197]}, "failed_negative_test:":{doc:"

Gets called when a negative SpecTest (using NegativeMatcher) failed.

\n\n
Value that should not have occured.
\n\n", arg:["test"], file:"lib/fancy_spec.fy", lines:[199, 209]}}, ancestors:["FancySpec SpecTest", "Object", "Kernel", "BasicObject"]}, "FancySpec PositiveMatcher":{doc:"

PositiveMatcher expects its actual value to be equal to an\nexpected value.\nIf the values are not equal, a SpecTest failure is generated.

\n\n
\n\n", instance_methods:{"unknown_message:with_params:":{doc:"

Forwards any other message and parameters to the object itself\nand checks the return value.

\n\n
\n\n", arg:["msg", "params"], file:"lib/fancy_spec.fy", lines:[377, 386]}}, methods:{}, ancestors:["FancySpec PositiveMatcher", "Object", "Kernel", "BasicObject"]}, "FancySpec NegativeMatcher":{doc:"

NegativeMatcher expects its actual value to be unequal to an\nexpected value.\nIf the values are equal, a SpecTest failure is generated.

\n\n
\n\n", instance_methods:{"unknown_message:with_params:":{doc:"

Forwards any other message and parameters to the object itself\nand checks the return value.

\n\n
\n\n", arg:["msg", "params"], file:"lib/fancy_spec.fy", lines:[429, 438]}}, methods:{}, ancestors:["FancySpec NegativeMatcher", "Object", "Kernel", "BasicObject"]}, "Fancy FDoc":{doc:"

FDoc is a tool to generate API documentation from Fancy source.

\n\n

Works as follows:

\n\n
    \n
  1. 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.
  2. \n
  3. We load boot.fy, so we get documentation for all fancy's lib.
  4. \n
  5. We run FDoc main\nwhich can possibly load any file/directory you specify and optionally\nrun specs, effectively associating them with documented objects.
  6. \n
  7. 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.
  8. \n
\n\n\n
\n\n", instance_methods:{}, methods:{":main":{doc:"

FDoc will load all .fy files you give to it, and optionally run\nany specified FancySpec, and later produce documentation output.

\n\n
\n\n", arg:[], file:"lib/fdoc.fy", lines:[29, 103]}}, ancestors:["Fancy FDoc", "Object", "Kernel", "BasicObject"]}, "Fancy FDoc Formatter":{doc:"

A documentation formater intended to be used by FDoc.

\n\n

This formatter makes some transformations on a docstring\nand then converts it to html using markdown.

\n\n
\n\n", instance_methods:{}, methods:{"create_class_references:":{doc:"

Creates class references for Fancy class names.\nA docstring may contain class names sorounded by @\nwithout space between the @.

\n\n

Nested classes can be indicated by using :: like

\n\n
 Foo::Bar\n
\n\n

This will create references for both, Foo and Bar

\n\n

Instance methods should be written:

\n\n
 Foo::Bar#baz\n
\n\n

Class methods should be written:

\n\n
 Foo::Bar.baz\n
\n\n

Some examples:\nA simple class reference:\nFancy

\n\n

Nested class reference:\nFancy FDoc

\n\n

A fancy method without arguments:\nFancy FDoc JSON generate_map

\n\n

A ruby method reference (will link to ruby docs if available)\nString split

\n\n

A fancy method with many arguments:\nFancy Package Installer initialize:version:install_path:

\n\n

A singleton method:\nFancy FDoc Formatter format:

\n\n
\n\n", arg:["str"], file:"lib/fdoc.fy", lines:[269, 345]}}, ancestors:["Fancy FDoc Formatter", "Object", "Kernel", "BasicObject"]}}, methods:{"String#:raise!":{args:[], doc:"

Raises a new StdError with self as the message.

\n\n
\n\n"}, "Module#:[]":{args:["constant_name"], doc:"

Returns the value of the constant with the given name in self.

\n\n
Name (String) of constant's name.
constant_name's value.
\n\n"}, "Module#[]:":{args:["constant_name", "value"], doc:"

Sets the value of a constant with the given name in self.

\n\n
Name (String) of constant's name.
New value of constant to be used.
\n\n"}, "Module#included:":{args:["module"], doc:"

Gets called when a Class or Module is included into another Class.

\n\n
Module or Class that has been included into self.
\n\n"}, "Object#with_mutable_slots:do:":{args:["slotnames", "block"], doc:"

Calls block with self while having slots defined in slotnames\nbe mutable during execution of block.

\n\n
Fancy Enumerable@ of slotnames to be mutable within block.
Block to be called with self.
\n\n"}, "Fancy Enumerator#initialize:":{args:["@collection"], doc:"

Initializes a new Enumerator with a given collection,\nusing #each: for iteration.

\n\n
Collection to iterate over.
\n\n"}, "Fancy Enumerator#initialize:with:":{args:["@collection", "@iterator"], doc:"

Initializes a new Enumerator with a given collection\nand iterator selector to be used for iteration.

\n\n
Collection to iterate over.
Selector to use to iterate over collection.
\n\n"}, "Fancy Enumerator#:next":{args:[], doc:"

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).

\n\n

Example:

\n\n
 a = [1,2,3]\n e = a to_enum\n e next # => 1\n e next # => 2\n e next # => 3\n e next # => raises Fancy StopIteration\n
\n\n
Next element in the collection this enumerator is attached to.
\n\n"}, "Fancy Enumerator#:ended?":{args:[], doc:"

Indicates if an enumerator has ended (no more values left).

\n\n
true if the enumerator has ended (no more values left), false otherwise.
\n\n"}, "Fancy Enumerator#:peek":{args:[], doc:"

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.

\n\n

Example:

\n\n
 a = [1,2,3]\n e = a to_enum\n e next p #=> 1\n e peek p #=> 2\n e peek p #=> 2\n e peek p #=> 2\n e next p #=> 2\n e next p #=> 3\n e next p #=> raises Fancy StopIteration\n
\n\n
\n\n"}, "Fancy Enumerator#:rewind":{args:[], doc:"

Resets the enumerator to start from the collection's beginning.

\n\n
\n\n"}, "Fancy Enumerator#with:each:":{args:["object", "block"], doc:"

Similar to #each: but also passing in a given object to each invocation of block.

\n\n
Object to pass along to block with each element in the collection.
A Block to be called with each element in the collection and object.
\n\n"}, "Fancy Enumerator#each:":{args:["block"], doc:"

Calls a given Block with each element in the collection this enumerator is attached to.\nUsed for iterating over the collection using this enumerator.

\n\n
Block to be called with each element in the collection (iteration).
\n\n"}, "Object#for_option:do:":{args:["option_name", "block"], doc:"

Calls a given Block if a command-line option is in ARGV.

\n\n
Name of command-line option.
Block to be called with value of command-line option option_name, if given.
true, if option_name was found in ARGV and block was called, false otherwise.
\n\n"}, "Object#for_options:do:":{args:["option_names", "block"], doc:"

Calls a given Block if any of the given command-line options are in ARGV.

\n\n
Fancy Enumerable of related command-line option names.
Block to be called with value of any command-line option in option_names, if given.
true, if any of option_names was found in ARGV and block was called, false otherwise.
\n\n"}, "Fancy Documentation RDiscount#rdiscount:":{args:["doc"], doc:"

Format string as HTML using RDiscount ruby gem.

\n\n
\n\n"}, "Fancy Package Handler#initialize:":{args:["@package_name"], doc:"

Forward to message initialize:install_path:

\n\n
\n\n"}, "Fancy Package Handler#load_fancypack:":{args:["success_block"], doc:"

Forward to message load_fancypack:else:

\n\n
\n\n"}, "Fancy Package Handler#load_fancypack:else:":{args:["success_block", "else_block"], doc:"

Loads the @.fancypack file within the downloaded package directory.\nIf no @.fancypack file is found, raise an error.

\n\n
\n\n"}, "Fancy Package Installer#initialize:":{args:["@package_name"], doc:"

Forward to message initialize:version:install_path:

\n\n
\n\n"}, "Fancy Package Installer#initialize:version:":{args:["@package_name", "@version"], doc:"

Forward to message initialize:version:install_path:

\n\n
\n\n"}, "Fancy Package Installer#initialize:version:install_path:":{args:["@package_name", "@version", "@install_path"], doc:"

Creates a new Fancy Package installer for a given package name, an\noptional version (default is 'latest) and an optional\ninstallation path (default is the standard installation path for\nFancy packages).

\n\n
\n\n"}, "Fancy Package Installer#:run":{args:[], doc:"

Runs the installer & installs the package into\n$FANCY_PACKAGE_DIR.

\n\n
\n\n"}, "Fancy Package Installer#:latest_tag":{args:[], doc:"

Returns the latest tag (sorted alphabetically).

\n\n
\n\n"}, "Fancy Package Installer#:tags":{args:[], doc:"\n\n
Array of git tags in the package's Github repository.
\n\n"}, "Fancy Package Installer#has_version?:":{args:["version"], doc:"

Indicates, if a given version for this package is available on Github.

\n\n
Version of package to check for.
true, if this package has the given version, false otherwise.
\n\n"}, "Fancy Package Installer#download_url:":{args:["version"], doc:"

Returns the download url for a given version of the package\nto be installed.

\n\n
\n\n"}, "Fancy Package Installer#download_tgz:":{args:["version"], doc:"

Downloads the .tar.gz file from Github with the given version\n(tag or branch name) and saves it to the specified install_path.

\n\n

The Default install_path is ~/.fancy/packages/.\nIf an environment variable FANCY_PACKAGE_DIR is defined, it\nwill get used.

\n\n
\n\n"}, "Fancy Package Installer#unpack_file:":{args:["filename"], doc:"

Unpacks the given filename and installs it into Fancy's package install dir.

\n\n
File name of package's downloaded .tar.gz file (from Github) to extract
\n\n"}, "Fancy Package Installer#rename_dir:":{args:["dirname"], doc:"

Renames a given directory to a common way within the install path.\n=> It will rename the given dirname to $user/$repo-$version.

\n\n
\n\n"}, "Fancy Package Installer#fulfill_spec:":{args:["spec"], doc:"

Installs all dependencies of spec, sets up symlinks for binary files in spec,\nas well as installing the include-file into the Fancy package lib dir.

\n\n
Fancy Package Specification to be fulfilled.
\n\n"}, "Fancy Package Dependency#initialize:":{args:["@name"], doc:"

Forward to message initialize:version:

\n\n
\n\n"}, "Fancy Package Dependency#:install":{args:[], doc:"

Installs the Dependency on the System.

\n\n
\n\n"}, "Fancy Package RubyDependency#initialize:":{args:["@gem_name"], doc:"

Forward to message initialize:version:

\n\n
\n\n"}, "Fancy Package RubyDependency#:install":{args:[], doc:"

Installs the RubyDependency (a RubyGem) via rbx -S gem on the system.

\n\n
\n\n"}, "Fancy Package Specification#add_dependency:":{args:["name"], doc:"

Forward to message add_dependency:version:

\n\n
\n\n"}, "Fancy Package Specification#add_ruby_dependency:":{args:["gem_name"], doc:"

Forward to message add_ruby_dependency:version:

\n\n
\n\n"}, "Fancy Package#install:":{args:["package_name"], doc:"

Forward to message install:version:

\n\n
\n\n"}, "Fancy Package#install:version:":{args:["package_name", "version"], doc:"

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

\n\n
Name of package to install.
\n\n"}, "Fancy Package#:install_dependencies":{args:[], doc:"

Installs dependencies found in .fancypack file in the current directory.\nIf no .fancypack file is found, fails and quits.

\n\n
\n\n"}, "Fancy Package#uninstall:":{args:["package_name"], doc:"

Uninstalls a package with a given name (if installed).

\n\n
Name of package to uninstall.
\n\n"}, "Fancy Package#:list_packages":{args:[], doc:"

Lists (prints) all installed packages on this system.

\n\n
\n\n"}, "Fancy Package#:root_dir":{args:[], doc:"\n\n
Fancy Package root install dir.
\n\n"}, "Fancy Package#:package_list_file":{args:[], doc:"\n\n
Path to installed_packages.txt File on system.
\n\n"}, "Fancy Package#:add_to_loadpath":{args:[], doc:"

Adds the Fancy Package install dir to the loadpath so you can\neasily require: packages into your code.

\n\n
\n\n"}, "Matchers MatchAny#:===":{args:["object"], doc:"\n\n
Object to match against.
true if objects matches either a or b in self.
\n\n"}, "Matchers MatchAll#:===":{args:["object"], doc:"\n\n
Object to match against.
true if it matches both a and b in self.
\n\n"}, "Fancy FDoc JSON#write:":{args:["filename"], doc:"

Forward to message write:call:

\n\n
\n\n"}}, objects:{}}); })();