Changeset 308 for wiki-toolkit/trunk/lib/Wiki/Toolkit/Feed/Listing.pm
- Timestamp:
- 05/25/06 15:59:17 (6 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
wiki-toolkit/trunk/lib/Wiki/Toolkit/Feed/Listing.pm
r298 r308 9 9 Handles common data fetching tasks, so that child classes need only 10 10 worry about formatting the feeds. 11 12 Also enforces some common methods that must be implemented. 11 13 12 14 =cut … … 74 76 my ($self, %args) = @_; 75 77 76 # TODO. Will make use of store->list_node_all_versions() 78 # Check we got the right options 79 unless($args{'name'}) { 80 return (); 81 } 82 83 # Do the fetch 84 my @nodes = $self->{wiki}->list_node_all_versions( 85 name => $args{'name'}, 86 with_content => 0, 87 with_metadata => 1, 88 ); 89 90 # Ensure that all the metadata fields are arrays and not strings 91 foreach my $node (@nodes) { 92 foreach my $mdk (keys %{$node->{'metadata'}}) { 93 unless(ref($node->{'metadata'}->{$mdk}) eq "ARRAY") { 94 $node->{'metadata'}->{$mdk} = [ $node->{'metadata'}->{$mdk} ]; 95 } 96 } 97 } 98 99 return @nodes; 77 100 } 78 101 102 103 # The following are methods that any feed renderer must provide 104 105 =item B<recent_changes> 106 All implementing feed renderers must implement a method to fetch a list 107 of recent changes, and render them 108 =cut 109 sub recent_changes { die("Not implemented by feed renderer!"); } 110 =item B<node_all_versions> 111 All implementing feed renderers must implement a method to fetch a list 112 of the different versions of a node, and render them 113 =cut 114 sub node_all_versions { die("Not implemented by feed renderer!"); } 115 =item B<feed_timestamp> 116 All implementing feed renderers must implement a method to produce a 117 feed specific timestamp, based on the supplied node 118 =cut 119 sub feed_timestamp { die("Not implemented by feed renderer!"); } 120 79 121 1;
