Sha256: 6c7d94c3e80f025da7fd805e8257fd5c3a29315ab8a3f5141748459b05801610

Contents?: true

Size: 1.28 KB

Versions: 5

Compression:

Stored size: 1.28 KB

Contents

package nokogiri;

import static org.jruby.runtime.Helpers.invoke;

import org.cyberneko.html.HTMLEntities;
import org.jruby.Ruby;
import org.jruby.RubyClass;
import org.jruby.RubyObject;
import org.jruby.anno.JRubyClass;
import org.jruby.anno.JRubyMethod;
import org.jruby.runtime.ThreadContext;
import org.jruby.runtime.builtin.IRubyObject;

/**
 * Class for Nokogiri::HTML::EntityLookup.
 *
 * @author Patrick Mahoney <pat@polycrystal.org>
 */
@JRubyClass(name = "Nokogiri::HTML::EntityLookup")
public class HtmlEntityLookup extends RubyObject
{

  public
  HtmlEntityLookup(Ruby runtime, RubyClass rubyClass)
  {
    super(runtime, rubyClass);
  }

  /**
   * Looks up an HTML entity <code>key</code>.
   *
   * The description is a bit lacking.
   */
  @JRubyMethod()
  public IRubyObject
  get(ThreadContext context, IRubyObject key)
  {
    Ruby ruby = context.getRuntime();
    String name = key.toString();
    int val = HTMLEntities.get(name);
    if (val == -1) { return ruby.getNil(); }

    IRubyObject edClass =
      ruby.getClassFromPath("Nokogiri::HTML::EntityDescription");
    IRubyObject edObj = invoke(context, edClass, "new",
                               ruby.newFixnum(val), ruby.newString(name),
                               ruby.newString(name + " entity"));

    return edObj;
  }

}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
nokogiri-1.11.7-java ext/java/nokogiri/HtmlEntityLookup.java
nokogiri-1.11.6-java ext/java/nokogiri/HtmlEntityLookup.java
nokogiri-1.11.5-java ext/java/nokogiri/HtmlEntityLookup.java
nokogiri-1.11.4-java ext/java/nokogiri/HtmlEntityLookup.java
nokogiri-1.11.3-java ext/java/nokogiri/HtmlEntityLookup.java