public class RubyPathname extends RubyObject
| Modifier and Type | Class and Description |
|---|---|
(package private) static interface |
RubyPathname.AddArg |
static class |
RubyPathname.PathnameKernelMethods |
(package private) static interface |
RubyPathname.ReturnValueMapper |
RubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
private static RubyPathname.AddArg |
APPEND_PATH |
private static RubyPathname.ReturnValueMapper |
ARRAY_OF_PATHS_MAPPER |
private static RubyPathname.ReturnValueMapper |
IDENTITY_MAPPER |
private static ObjectAllocator |
PATHNAME_ALLOCATOR |
private static RubyPathname.ReturnValueMapper |
SINGLE_PATH_MAPPER |
private static RubyPathname.AddArg |
UNSHIFT_PATH |
FIELD_ALLOCATED_CLASSES, FIELD_ALLOCATORS, IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, OBJECT_VAR0_ALLOCATOR, OBJECT_VAR1_ALLOCATOR, OBJECT_VAR2_ALLOCATOR, OBJECT_VAR3_ALLOCATOR, OBJECT_VAR4_ALLOCATOR, OBJECT_VAR5_ALLOCATOR, OBJECT_VAR6_ALLOCATOR, OBJECT_VAR7_ALLOCATOR, OBJECT_VAR8_ALLOCATOR, OBJECT_VAR9_ALLOCATOR, REIFYING_OBJECT_ALLOCATORALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, VAR_TABLE_OFFSET, varTable, varTableStampNULL_ARRAY| Constructor and Description |
|---|
RubyPathname(Ruby runtime,
RubyClass metaClass) |
| Modifier and Type | Method and Description |
|---|---|
private int |
cmp(RubyPathname other) |
(package private) static void |
createPathnameClass(Ruby runtime) |
private static void |
defineDelegateMethods(RubyClass cPathname,
RubyModule klass,
java.lang.String... methods) |
private static void |
defineDelegateMethodsAppendPath(RubyClass cPathname,
RubyModule klass,
java.lang.String... methods) |
private static void |
defineDelegateMethodsArrayOfPaths(RubyClass cPathname,
RubyModule klass,
java.lang.String... methods) |
private static void |
defineDelegateMethodsGeneric(RubyClass cPathname,
RubyModule klass,
RubyPathname.ReturnValueMapper mapper,
RubyPathname.AddArg addArg,
java.lang.String... methods) |
private static void |
defineDelegateMethodsSinglePath(RubyClass cPathname,
RubyModule klass,
java.lang.String... methods) |
IRubyObject |
each_entry(ThreadContext context,
Block block) |
IRubyObject |
each_line(ThreadContext context,
IRubyObject[] args,
Block block) |
IRubyObject |
fnmatch(ThreadContext context,
IRubyObject[] args) |
IRubyObject |
freeze(ThreadContext context)
rb_obj_freeze
call-seq:
obj.freeze => obj
Prevents further modifications to obj.
|
private RubyString |
getPath() |
static IRubyObject |
getwd(ThreadContext context,
IRubyObject recv) |
static IRubyObject |
glob(ThreadContext context,
IRubyObject recv,
IRubyObject[] args,
Block block) |
RubyFixnum |
hash(ThreadContext context) |
int |
hashCode()
Override the Object#hashCode method to make sure that the Ruby
hash is actually used as the hashcode for Ruby objects.
|
IRubyObject |
initialize_copy(ThreadContext context,
IRubyObject pathname) |
IRubyObject |
initialize(ThreadContext context,
IRubyObject path) |
private static IRubyObject[] |
insert(IRubyObject[] old,
int i,
IRubyObject obj) |
private IRubyObject[] |
insertPath(IRubyObject[] args,
int i) |
IRubyObject |
inspect(ThreadContext context) |
IRubyObject |
make_link(ThreadContext context,
IRubyObject old) |
IRubyObject |
make_symlink(ThreadContext context,
IRubyObject old) |
private static RubyArray |
mapToPathnames(ThreadContext context,
RubyClass clazz,
IRubyObject ary) |
static RubyPathname |
newInstance(ThreadContext context,
IRubyObject path) |
static RubyPathname |
newInstance(ThreadContext context,
RubyClass klass,
IRubyObject path) |
IRubyObject |
op_cmp(ThreadContext context,
IRubyObject other) |
IRubyObject |
op_equal(ThreadContext context,
IRubyObject other) |
IRubyObject |
opendir(ThreadContext context,
Block block) |
private void |
setPath(RubyString path) |
IRubyObject |
sub_ext(ThreadContext context,
IRubyObject newExt) |
IRubyObject |
sub(ThreadContext context,
IRubyObject[] args,
Block block) |
IRubyObject |
taint(ThreadContext context)
rb_obj_taint
call-seq:
obj.taint -> obj
Marks obj as tainted---if the
$SAFE level is
set appropriately, many method calls which might alter the running
programs environment will refuse to accept tainted strings. |
IRubyObject |
to_path(ThreadContext context) |
IRubyObject |
to_s(ThreadContext context) |
IRubyObject |
to_str(ThreadContext context) |
private static java.lang.String |
toPathMethod(Ruby runtime) |
IRubyObject |
unlink(ThreadContext context) |
private IRubyObject[] |
unshiftPath(IRubyObject[] args) |
IRubyObject |
untaint(ThreadContext context)
rb_obj_untaint
call-seq:
obj.untaint => obj
Removes the taint from obj.
|
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, initialize, initialize, inspect, op_eqq, puts, specificEval, toStringaddFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getNativeHandle, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_equal_19, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, toJava, trust, type_deprecated, type, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderprivate static final RubyPathname.ReturnValueMapper IDENTITY_MAPPER
private static final RubyPathname.ReturnValueMapper SINGLE_PATH_MAPPER
private static final RubyPathname.ReturnValueMapper ARRAY_OF_PATHS_MAPPER
private static final RubyPathname.AddArg UNSHIFT_PATH
private static final RubyPathname.AddArg APPEND_PATH
private static ObjectAllocator PATHNAME_ALLOCATOR
private RubyString getPath()
private void setPath(RubyString path)
static void createPathnameClass(Ruby runtime)
private static void defineDelegateMethodsGeneric(RubyClass cPathname, RubyModule klass, RubyPathname.ReturnValueMapper mapper, RubyPathname.AddArg addArg, java.lang.String... methods)
private static void defineDelegateMethods(RubyClass cPathname, RubyModule klass, java.lang.String... methods)
private static void defineDelegateMethodsAppendPath(RubyClass cPathname, RubyModule klass, java.lang.String... methods)
private static void defineDelegateMethodsSinglePath(RubyClass cPathname, RubyModule klass, java.lang.String... methods)
private static void defineDelegateMethodsArrayOfPaths(RubyClass cPathname, RubyModule klass, java.lang.String... methods)
public static RubyPathname newInstance(ThreadContext context, RubyClass klass, IRubyObject path)
public static RubyPathname newInstance(ThreadContext context, IRubyObject path)
public IRubyObject initialize(ThreadContext context, IRubyObject path)
private static java.lang.String toPathMethod(Ruby runtime)
public IRubyObject initialize_copy(ThreadContext context, IRubyObject pathname)
public IRubyObject to_str(ThreadContext context)
public IRubyObject to_path(ThreadContext context)
public IRubyObject freeze(ThreadContext context)
RubyBasicObjectTypeError will be raised if modification is attempted.
There is no way to unfreeze a frozen object. See also
Object#frozen?.
a = [ "a", "b", "c" ]
a.freeze
a << "z"
produces:
prog.rb:3:in `<<': can't modify frozen array (TypeError)
from prog.rb:3freeze in class RubyBasicObjectpublic IRubyObject taint(ThreadContext context)
RubyBasicObject$SAFE level is
set appropriately, many method calls which might alter the running
programs environment will refuse to accept tainted strings.taint in class RubyBasicObjectpublic IRubyObject untaint(ThreadContext context)
RubyBasicObjectuntaint in class RubyBasicObjectpublic IRubyObject op_equal(ThreadContext context, IRubyObject other)
op_equal in interface IRubyObjectop_equal in class RubyBasicObjectprivate int cmp(RubyPathname other)
public IRubyObject op_cmp(ThreadContext context, IRubyObject other)
op_cmp in class RubyBasicObjectpublic RubyFixnum hash(ThreadContext context)
public int hashCode()
RubyObjecthashCode in class RubyObjectpublic IRubyObject to_s(ThreadContext context)
public IRubyObject inspect(ThreadContext context)
public IRubyObject sub(ThreadContext context, IRubyObject[] args, Block block)
public IRubyObject sub_ext(ThreadContext context, IRubyObject newExt)
public IRubyObject fnmatch(ThreadContext context, IRubyObject[] args)
public IRubyObject make_link(ThreadContext context, IRubyObject old)
public IRubyObject make_symlink(ThreadContext context, IRubyObject old)
public IRubyObject each_line(ThreadContext context, IRubyObject[] args, Block block)
public static IRubyObject getwd(ThreadContext context, IRubyObject recv)
public static IRubyObject glob(ThreadContext context, IRubyObject recv, IRubyObject[] args, Block block)
public IRubyObject opendir(ThreadContext context, Block block)
public IRubyObject each_entry(ThreadContext context, Block block)
public IRubyObject unlink(ThreadContext context)
private IRubyObject[] insertPath(IRubyObject[] args, int i)
private IRubyObject[] unshiftPath(IRubyObject[] args)
private static IRubyObject[] insert(IRubyObject[] old, int i, IRubyObject obj)
private static RubyArray mapToPathnames(ThreadContext context, RubyClass clazz, IRubyObject ary)