private void setupStructValuesFromHash(ThreadContext context, RubyHash kwArgs) { RubyArray __members__ = __member__(); Set<Map.Entry<IRubyObject, IRubyObject>> entries = kwArgs.directEntrySet(); entries.stream().forEach( entry -> { IRubyObject key = entry.getKey(); if (!(key instanceof RubySymbol)) key = context.runtime.newSymbol(key.convertToString().getByteList()); IRubyObject index = __members__.index(context, key); if (index.isNil()) throw context.runtime.newArgumentError("unknown keywords: " + key); values[index.convertToInteger().getIntValue()] = entry.getValue(); }); }
@JRubyMethod(name = {"index", "find_index"}) public IRubyObject index(ThreadContext context, IRubyObject obj, Block unused) { if (unused.isGiven()) context.runtime.getWarnings().warn(ID.BLOCK_UNUSED, "given block not used"); return index(context, obj); }
@JRubyMethod(name = {"index", "find_index"}) public IRubyObject index(ThreadContext context, IRubyObject obj, Block unused) { if (unused.isGiven()) context.runtime.getWarnings().warn(ID.BLOCK_UNUSED, "given block not used"); return index(context, obj); }
private void setupStructValuesFromHash(ThreadContext context, RubyHash kwArgs) { RubyArray __members__ = __member__(); Set<Map.Entry<IRubyObject, IRubyObject>> entries = kwArgs.directEntrySet(); entries.stream().forEach( entry -> { IRubyObject key = entry.getKey(); if (!(key instanceof RubySymbol)) key = context.runtime.newSymbol(key.convertToString().getByteList()); IRubyObject index = __members__.index(context, key); if (index.isNil()) throw context.runtime.newArgumentError("unknown keywords: " + key); values[index.convertToInteger().getIntValue()] = entry.getValue(); }); }
@JRubyMethod(name = {"index", "find_index"}) public IRubyObject index(ThreadContext context, IRubyObject obj, Block unused) { if (unused.isGiven()) context.runtime.getWarnings().warn(ID.BLOCK_UNUSED, "given block not used"); return index(context, obj); }
@JRubyMethod(name = {"index", "find_index"}) public IRubyObject index(ThreadContext context, IRubyObject obj, Block unused) { if (unused.isGiven()) context.runtime.getWarnings().warn(ID.BLOCK_UNUSED, "given block not used"); return index(context, obj); }