| Babble::Document - Babble document container class |
Babble::Document - Babble document container class
A Babble::Document object represents one entry in the whole collection a Babble is working with.
A Babble::Document object has the following basic properties:
The author of the document.
Title of the document.
Subject of the document.
Submission date of the document.
A unique ID of the document, usually a hyperlink.
The actual content of the document.
Other properties might be present, but they are not standardised by this class. However, preprocessors and DataSources are free to add others.
new()
Creates a new Babble::Document object. Recognises the default properties mentioned above as arguments.
date()
Get or set the submission date of the document, depending on having an argument or not.
date_iso()
Returns the submission date of the document in the "YYYY-MM-DD HH:MM:SS" format.
date_rss()
Returns the submission date of the document in a format suitable for putting into an RSS item's dc:date field.
date_text()
Returns the submission date of the document in human readable format.
date_date()
Returns only the date part of the documents submission date.
search($filters)
Given a list of filters (see later) in an arrayref, checks if the document matches all the criteria specified in them. If yes, returns an array consisting of the Babble::Document object. Otherwise returns an empty array.
The filters are simple hashrefs, with two mandatory keys: field and pattern. The first one determines which field the search is performed on (this can be any one of the available Babble::Document properties), and pattern is the pattern it should match.
Optional keys include inverse, which reverses the check, and cmp, which will be used as a comparsion function if set, instead of the default regexp matcher.
all()
Return ourselves. This is mostly here so that
Babble::Document::Collection->all() can call $doc->all(), which in
turn makes it possible to have Babble::Document::Collections nested,
and still work.
Gergely Nagy, algernon@bonehunter.rulez.org
Bugs should be reported at http://bugs.bonehunter.rulez.org/babble.
Babble, Babble::Document::Collection
| Babble::Document - Babble document container class |