Class: Bromlife::Parser
- Inherits:
-
Object
- Object
- Bromlife::Parser
- Defined in:
- ext/bromlife/rb_bromlife.c
Instance Method Summary collapse
Constructor Details
#initialize ⇒ Object
61 62 63 64 65 66 67 68 69 |
# File 'ext/bromlife/rb_bromlife.c', line 61
static VALUE
rb_oml_parser_m_initialize (VALUE self)
{
OmlParser *parser = oml_parser_create ();
if (!parser)
rb_raise (rb_eError, "failed to create OML parser");
RTYPEDDATA_DATA (self) = parser;
return RUBY_Qnil;
}
|
Instance Method Details
#feed ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'ext/bromlife/rb_bromlife.c', line 75
static VALUE
rb_oml_parser_m_feed (VALUE self, VALUE source)
{
char *bytes = rb_string_value_ptr (&source);
long len = RSTRING_LEN (source);
if (!oml_parser_feed (RTYPEDDATA_DATA (self), (uint8_t *)bytes, len))
rb_raise (rb_eError, "failed to feed to parser");
return RUBY_Qnil;
}
|
#finish ⇒ Bromlife::NodeIter
90 91 92 93 94 95 96 97 |
# File 'ext/bromlife/rb_bromlife.c', line 90
static VALUE
rb_oml_parser_m_finish (VALUE self)
{
OmlNodeIter *iter = oml_parser_finish (RTYPEDDATA_DATA (self));
if (!iter)
rb_raise (rb_eError, "failed to finish parser");
return TypedData_Wrap_Struct (rb_cNodeIter, &rb_oml_node_iter_type, iter);
}
|