Sha256: d66418282ebe62762293555abe7fe7122d9e62471631376c9331a043c64cc3f5

Contents?: true

Size: 1.9 KB

Versions: 16

Compression:

Stored size: 1.9 KB

Contents

#include "trenni.h"

#include "markup.h"
#include "template.h"
#include "tag.h"
#include "escape.h"

VALUE rb_Trenni = Qnil, rb_Trenni_Native = Qnil, rb_Trenni_Tag = Qnil, rb_Trenni_Markup = Qnil, rb_Trenni_MarkupString = Qnil, rb_Trenni_ParseError = Qnil;
ID id_cdata, id_open_tag_begin, id_open_tag_end, id_attribute, id_close_tag, id_text, id_doctype, id_comment, id_instruction, id_read, id_expression, id_key_get, id_new, id_name, id_attributes, id_closed, id_to_s, id_is_a;

void Trenni_raise_error(const char * message, VALUE buffer, size_t offset) {
	VALUE exception = rb_funcall(rb_Trenni_ParseError, id_new, 3, rb_str_new_cstr(message), buffer, ULONG2NUM(offset));
	
	rb_exc_raise(exception);
}

void Init_trenni() {
	id_open_tag_begin = rb_intern("open_tag_begin");
	id_open_tag_end = rb_intern("open_tag_end");
	id_close_tag = rb_intern("close_tag");

	id_cdata = rb_intern("cdata");
	id_attribute = rb_intern("attribute");
	id_comment = rb_intern("comment");
	id_text = rb_intern("text");
	id_doctype = rb_intern("doctype");
	id_instruction = rb_intern("instruction");
	id_expression = rb_intern("expression");
	
	id_read = rb_intern("read");
	id_new = rb_intern("new");
	
	id_name = rb_intern("name");
	id_attributes = rb_intern("attributes");
	id_closed = rb_intern("closed");
	
	id_key_get = rb_intern("[]");
	
	id_to_s = rb_intern("to_s");
	id_is_a = rb_intern("is_a?");
	
	rb_Trenni = rb_define_module("Trenni");
	rb_Trenni_Markup = rb_define_module_under(rb_Trenni, "Markup");
	rb_Trenni_Native = rb_define_module_under(rb_Trenni, "Native");
	
	Init_trenni_escape();
	
	rb_Trenni_ParseError = rb_const_get_at(rb_Trenni, rb_intern("ParseError"));
	
	rb_define_module_function(rb_Trenni_Native, "parse_markup", Trenni_Native_parse_markup, 3);
	rb_define_module_function(rb_Trenni_Native, "parse_template", Trenni_Native_parse_template, 2);
	
	rb_Trenni_Tag = rb_const_get_at(rb_Trenni, rb_intern("Tag"));
	
	Init_trenni_tag();
}

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
trenni-3.8.0 ext/trenni/trenni.c
trenni-3.7.1 ext/trenni/trenni.c
trenni-3.7.0 ext/trenni/trenni.c
trenni-3.6.1 ext/trenni/trenni.c
trenni-3.6.0 ext/trenni/trenni.c
trenni-3.5.0 ext/trenni/trenni.c
trenni-3.4.0 ext/trenni/trenni.c
trenni-3.3.0 ext/trenni/trenni.c
trenni-3.2.0 ext/trenni/trenni.c
trenni-3.1.3 ext/trenni/trenni.c
trenni-3.1.2 ext/trenni/trenni.c
trenni-3.1.1 ext/trenni/trenni.c
trenni-3.1.0 ext/trenni/trenni.c
trenni-3.0.4 ext/trenni/trenni.c
trenni-3.0.3 ext/trenni/trenni.c
trenni-3.0.0 ext/trenni/trenni.c