+ edje_init ();
+ edje_thaw ();
+ edje_shutdown ();
+
+ return Qnil;
+}
+
+/*
+ * call-seq:
+ * Edje.frametime => float
+ *
+ * Returns the frametime (1 / fps) for the Edje library.
+ */
+static VALUE m_frametime_get (VALUE self)
+{
+ VALUE ret;
+
+ edje_init ();
+ ret = rb_float_new (edje_frametime_get ());
+ edje_shutdown ();
+
+ return ret;
+}
+
+/*
+ * call-seq:
+ * Edje.frametime(float)
+ *
+ * Sets the frametime (1 / fps) for the Edje library.
+ */
+static VALUE m_frametime_set (VALUE self, VALUE val)
+{
+ Check_Type (val, T_FLOAT);
+
+ edje_init ();
+ edje_frametime_set (NUM2DBL (val));
+ edje_shutdown ();
+
+ return Qnil;
+}
+
+static VALUE m_collections_get (VALUE self, VALUE file)
+{
+ VALUE ary;
+ Evas_List *list, *l;
+
+ Check_Type (file, T_STRING);
+
+ ary = rb_ary_new ();
+
+ edje_init ();
+
+ list = edje_file_collection_list (StringValuePtr (file));
+ if (list) {
+ for (l = list; l; l = l->next)
+ rb_ary_push (ary, rb_str_new2 (l->data));
+
+ edje_file_collection_list_free (list);
+ }
+
+ edje_shutdown ();