class GettextPO::MessageIterator
This class doesn’t provide the new class method. See also GettextPO::File#message_iterator.
Public Instance Methods
Source
# File lib/gettextpo.rb, line 48 def each # yields: message while true begin yield self.next rescue StopIteration return self end end end
Source
VALUE
gettextpo_po_message_iterator_m_insert (VALUE self, VALUE msgid, VALUE msgstr)
{
po_message_t message = po_message_create ();
po_message_set_msgid (message, StringValueCStr (msgid));
po_message_set_msgstr (message, StringValueCStr (msgstr));
po_message_insert (DATA_PTR (self), message);
VALUE value = rb_obj_alloc (rb_cMessage);
DATA_PTR (value) = message;
rb_ivar_set (value, rb_intern ("@file"),
rb_ivar_get (self, rb_intern ("@file")));
return value;
}
Source
VALUE
gettextpo_po_message_iterator_m_next (VALUE self)
{
po_message_t message = po_next_message (DATA_PTR (self));
if (message)
{
VALUE message_value = rb_obj_alloc (rb_cMessage);
DATA_PTR (message_value) = message;
rb_ivar_set (message_value, rb_intern ("@file"),
rb_ivar_get (self, rb_intern ("@file")));
return message_value;
}
else
rb_raise (rb_eStopIteration, "end of PO message iterator");
}