use strict;
use warnings;
-our $VERSION = '0.000_001';
+our $VERSION = '0.001';
use parent qw/Class::Accessor::Fast/;
__PACKAGE__->mk_ro_accessors(qw/path plist dbh name id family/);
sub _blessdocs {
my ($self, $docsref) = @_;
- map { Zeal::Document->new(+{%$_, docset => $self}) } @$docsref;
+ map {
+ my %hash = (%$_, docset => $self);
+ ($hash{path}, $hash{anchor}) = split /#/s, $hash{path};
+ Zeal::Document->new(\%hash);
+ } @$docsref;
}
sub fetch {
my ($self, $path) = @_;
- return HTTP::Tiny->new->get($path) if $path =~ /^http:/s;
+ return HTTP::Tiny->new->get($path)->{content} if $path =~ /^http:/s;
my $docroot = catdir $self->path, 'Contents', 'Resources', 'Documents';
$path = rel2abs $path, $docroot;
scalar read_file $path
=head1 SYNOPSIS
use Zeal::Docset;
+ my $ds = Zeal::Docset->new('/home/mgv/docsets/Perl.docset');
+ say $ds->$path; # /home/mgv/docsets/Perl.docset
+ say $ds->name; # Perl
+ say $ds->id; # perl
+ say $ds->family; # perl
+
+ # In SQL LIKE, % is .* and _ is .
+ my @matches = $ds->query('perlopen%'); # finds perlopenbsd and perlopentut
+ my $doc = $ds->query('perlsec'); # A Zeal::Document object for perlsec
+ my $html = $ds->get('perls_c'); # HTML documentation of perlsec
+ my @docs = $ds->list; # all documents
=head1 DESCRIPTION
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2014 by Marius Gavrilescu
+Copyright (C) 2014-2015 by Marius Gavrilescu
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.20.1 or,