@Override public T get(int index) { return (T) NodeConverter.createASTNode(rubyBlockList.get(index)); }
@Override public T get(int index) { return (T) NodeConverter.createASTNode(rubyBlockList.get(index)); }
private Object getAt(int i) { return ((RubyArray) getRubyObject()).get(i); }
private Object getAt(int i) { return ((RubyArray) getRubyObject()).get(i); }
@Override public boolean isInstance(IRubyObject object) { if (!super.isInstance(object)) { return false; } RubyArray array = (RubyArray) object; boolean ret = array.size() == 2 && object.getRuntime().getArray().isInstance((IRubyObject) array.get(0)) && (null == array.get(1) || LIST_ITEM_CLASS.isInstance((IRubyObject) array.get(1))); return ret; }
@Override public boolean isInstance(IRubyObject object) { if (!super.isInstance(object)) { return false; } RubyArray array = (RubyArray) object; boolean ret = array.size() == 2 && object.getRuntime().getArray().isInstance((IRubyObject) array.get(0)) && (null == array.get(1) || LIST_ITEM_CLASS.isInstance((IRubyObject) array.get(1))); return ret; }
protected void mapJavaEmit(ByteBuffer key, SortedMap<ByteBuffer, IColumn> value, Context context) throws IOException, InterruptedException { Map<String, String> columns = new HashMap<String, String>(); for (ByteBuffer b : value.keySet()) { columns.put(ByteBufferUtil.string(b), ByteBufferUtil.string(value.get(b).value())); } String rowKey = ByteBufferUtil.string(key); try { RubyArray tuples = RubyInvoker.invokeMap(rubyContainer, rubyReceiver, rowKey, columns, params); for (Object element : tuples) { RubyArray tuple = (RubyArray) element; context.write(new Text((String) tuple.get(0)), new ObjectWritable(tuple.get(1))); } } catch (Exception e) { // TODO: Make this more severe. logger.warn("Exception running map on [" + rowKey + "]", e); } }
@Override public Object getJavaObject() { if (irubyObject == null || !fromRuby) { return javaObject; } RubyArray ary = (RubyArray)irubyObject; if (javaType == null) { // firstly retrieved from Ruby javaObject = new ArrayList<String>(); ((ArrayList)javaObject).addAll(ary); return javaObject; } else if (javaType == String[].class) { javaObject = new String[ary.size()]; for (int i=0; i<ary.size(); i++) { ((String[])javaObject)[i] = (String) ary.get(i); } return javaObject; } else if (javaObject instanceof List) { try { ((List)javaObject).clear(); ((List)javaObject).addAll(ary); } catch (UnsupportedOperationException e) { // no op. no way to update. } return javaObject; } return null; } }
@Override @SuppressWarnings("unchecked") public Object getJavaObject() { if ( irubyObject == null || ! fromRuby ) return javaObject; final RubyArray ary = (RubyArray) irubyObject; if (javaType == null) { // firstly retrieved from Ruby return javaObject = new ArrayList<String>(ary); } else if (javaType == String[].class) { String[] strArr = new String[ ary.size() ]; for ( int i=0; i<ary.size(); i++ ) { strArr[i] = (String) ary.get(i); } return javaObject = strArr; } else if (javaObject instanceof List) { try { ((List) javaObject).clear(); ((List) javaObject).addAll(ary); } catch (UnsupportedOperationException e) { // no op. no way to update. } return javaObject; } return null; }
@Override public Object getJavaObject() { if (irubyObject == null || !fromRuby) { return javaObject; } RubyArray ary = (RubyArray)irubyObject; if (javaType == null) { // firstly retrieved from Ruby javaObject = new ArrayList<String>(); ((ArrayList)javaObject).addAll(ary); return javaObject; } else if (javaType == String[].class) { javaObject = new String[ary.size()]; for (int i=0; i<ary.size(); i++) { ((String[])javaObject)[i] = (String) ary.get(i); } return javaObject; } else if (javaObject instanceof List) { try { ((List)javaObject).clear(); ((List)javaObject).addAll(ary); } catch (UnsupportedOperationException e) { // no op. no way to update. } return javaObject; } return null; } }
@Override @SuppressWarnings("unchecked") public Object getJavaObject() { if ( irubyObject == null || ! fromRuby ) return javaObject; final RubyArray ary = (RubyArray) irubyObject; if (javaType == null) { // firstly retrieved from Ruby return javaObject = new ArrayList<String>(ary); } else if (javaType == String[].class) { String[] strArr = new String[ ary.size() ]; for ( int i=0; i<ary.size(); i++ ) { strArr[i] = (String) ary.get(i); } return javaObject = strArr; } else if (javaObject instanceof List) { try { ((List) javaObject).clear(); ((List) javaObject).addAll(ary); } catch (UnsupportedOperationException e) { // no op. no way to update. } return javaObject; } return null; }
Object rItem = arr.get(i); if (rItem instanceof Number) { bytes[i] = ((Number) rItem).byteValue();