1 package us.codecraft.webmagic.scripts.languages; 2 3 import java.util.Iterator; 4 import java.util.Map; 5 6 import javax.script.ScriptEngine; 7 import javax.script.ScriptException; 8 9 import org.jruby.RubyHash; 10 11 import us.codecraft.webmagic.Page; 12 13 public class JRuby extends Language { 14 public JRuby() { 15 super("jruby","ruby/defines.rb",""); 16 } 17 18 public void process(ScriptEngine engine, String defines, String script, Page page) throws ScriptException { 19 RubyHash oRuby = (RubyHash) engine.eval(defines + "\n" + script, engine.getContext()); 20 Iterator itruby = oRuby.entrySet().iterator(); 21 while (itruby.hasNext()) { 22 Map.Entry pairs = (Map.Entry) itruby.next(); 23 page.getResultItems().put(pairs.getKey().toString(), pairs.getValue()); 24 } 25 } 26 }