Starts tracing object allocations.
Calls the constructed Function
, with args
. Caller must ensure the underlying function is called in a thread-safe manner if running in a multi-threaded process.
For an example see Fiddle::Function
Allocates a C struct with the types
provided.
When the instance is garbage collected, the C function func
is called.
Allocates a C union the types
provided.
When the instance is garbage collected, the C function func
is called.
Fiddle::Pointer.malloc(size, freefunc = nil) => fiddle pointer instance
Allocate size
bytes of memory and associate it with an optional freefunc
that will be called when the pointer is garbage collected.
freefunc
must be an address pointing to a function or an instance of Fiddle::Function
Logs a message
at the fatal (syslog err) log level, or logs the message returned from the block.
Returns all specifications. This method is discouraged from use. You probably want to use one of the Enumerable
methods instead.
Sets the known specs to specs
. Not guaranteed to work for you in the future. Use at your own risk. Caveat emptor. Doomy doom doom. Etc
etc.
Shortcut for logging a FATAL
message
Will the logger output FATAL
messages?
Invokes the method named method
with the parameters given by args
on the XML-RPC server.
The method
parameter is converted into a String and should be a valid XML-RPC method-name.
Each parameter of args
must be of one of the following types, where Hash
, Struct
and Array can contain any of these listed types:
TrueClass
, FalseClass
, true
, false
String, Symbol
Array
A Ruby object which class includes XMLRPC::Marshallable
(only if Config::ENABLE_MARSHALLING is true
). That object is converted into a hash, with one additional key/value pair _class___
which contains the class name for restoring that object later.
The method returns the return-value from the Remote Procedure Call.
The type of the return-value is one of the types shown above.
A Bignum
is only allowed when it fits in 32-bit. A XML-RPC dateTime.iso8601
type is always returned as a XMLRPC::DateTime
object. Struct
is never returned, only a Hash
, the same for a Symbol
, where as a String is always returned. XMLRPC::Base64
is returned as a String from xmlrpc4r version 1.6.1 on.
If the remote procedure returned a fault-structure, then a XMLRPC::FaultException
exception is raised, which has two accessor-methods faultCode
an Integer
, and faultString
a String.
The difference between this method and XMLRPC::Client#call
is, that this method will NOT raise a XMLRPC::FaultException
exception.
The method returns an array of two values. The first value indicates if the second value is true
or an XMLRPC::FaultException
.
Both are explained in XMLRPC::Client#call
.
Simple to remember: The “2” in “call2” denotes the number of values it returns.
You can use this method to execute several methods on a XMLRPC
server which support the multi-call extension.
s.multicall( ['michael.add', 3, 4], ['michael.sub', 4, 5] ) # => [7, -1]
Same as XMLRPC::Client#multicall
, but returns two parameters instead of raising an XMLRPC::FaultException
.
Returns true
if the named file is writable by the real user and group id of this process. See access(3)
Returns true
if the named file is executable by the real user and group id of this process. See access(3).
Returns true if the given ordinal date is valid, and false if not.
Date.valid_ordinal?(2001,34) #=> true Date.valid_ordinal?(2001,366) #=> false
See also jd and ordinal.
Returns true if the given week date is valid, and false if not.
Date.valid_commercial?(2001,5,6) #=> true Date.valid_commercial?(2001,5,8) #=> false
See also jd and commercial.
Returns an array of all the symbols currently in Ruby’s symbol table.
Symbol.all_symbols.size #=> 903 Symbol.all_symbols[1,20] #=> [:floor, :ARGV, :Binding, :symlink, :chown, :EOFError, :$;, :String, :LOCK_SH, :"setuid?", :$<, :default_proc, :compact, :extend, :Tms, :getwd, :$=, :ThreadGroup, :wait2, :$>]
Evaluates a string containing Ruby source code, or the given block, within the context of the receiver (obj). In order to set the context, the variable self
is set to obj while the code is executing, giving the code access to obj’s instance variables and private methods.
When instance_eval
is given a block, obj is also passed in as the block’s only argument.
When instance_eval
is given a String
, the optional second and third parameters supply a filename and starting line number that are used when reporting compilation errors.
class KlassWithSecret def initialize @secret = 99 end private def the_secret "Ssssh! The secret is #{@secret}." end end k = KlassWithSecret.new k.instance_eval { @secret } #=> 99 k.instance_eval { the_secret } #=> "Ssssh! The secret is 99." k.instance_eval {|obj| obj == self } #=> true