Commits

Toby Inkster committed 29db8fc Draft

general tidy up; remove common::sense dep

  • Participants
  • Parent commits 2786fa8

Comments (0)

Files changed (11)

Changes

-############################################################################
-## Changes #################################################################
-############################################################################
-
-JSON-Hyper
-==========
-
-Created:      2010-08-01
-Home page:    <https://metacpan.org/release/JSON-Hyper>
-Bug tracker:  <http://rt.cpan.org/Dist/Display.html?Queue=JSON-Hyper>
-Maintainer:   Toby Inkster <mailto:tobyink@cpan.org>
-
-0.010 [2011-09-29]
- - (Update) Support schema attribute.
- - (Bugfix) href attributes with multiple substitutions are now supported.
- - (Update) Support targetSchema attribute.
-
-0.001_01 [2010-08-04]
- - process_includes is no longer recursive by default.
-
-0.001_00 [2010-08-02]
-

Changes.ttl

-#############################################################
-
-@prefix :        <http://usefulinc.com/ns/doap#> .
-@prefix dcs:     <http://ontologi.es/doap-changeset#> .
-@prefix dc:      <http://purl.org/dc/terms/> .
-@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
-@prefix my:      <http://purl.org/NET/cpan-uri/dist/JSON-Hyper/> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix toby:    <http://tobyinkster.co.uk/#> .
-@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
-
-#############################################################
-
-<>
-
-	dc:title         "Changes" ;
-	dc:description   "Revision history for Perl extension JSON::Hyper."@en ;
-	dc:subject       my:project ;
-	dc:creator       toby:i .
-
-#############################################################
-
-my:v_0-001_00
-
-	a               :Version ;
-	dc:issued       "2010-08-02"^^xsd:date ;
-	:revision       "0.001_00"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.001_00.tar.gz> ;
-	rdfs:comment    "Developer release"@en .
-
-my:v_0-001_01
-
-	a               :Version ;
-	dc:issued       "2010-08-04"^^xsd:date ;
-	:revision       "0.001_01"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.001_01.tar.gz> ;
-	dcs:changeset [
-		dcs:versus my:v_0-001_00 ;
-		dcs:item   [ rdfs:label "process_includes is no longer recursive by default."@en ; a dcs:Change ]
-		] .
-
-my:v_0-010
-
-	a               :Version ;
-	dc:issued       "2011-09-29"^^xsd:date ;
-	:revision       "0.010"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.010.tar.gz> ;
-	dcs:changeset [
-		dcs:versus my:v_0-001_01 ;
-		dcs:item   [ rdfs:label "Support targetSchema attribute."@en ; a dcs:Update ] ;
-		dcs:item   [ rdfs:label "Support schema attribute."@en ; a dcs:Update ] ;
-		dcs:item   [ rdfs:label "href attributes with multiple substitutions are now supported."@en ; a dcs:Bugfix ]
-		] .
-
-#############################################################
-
-my:project
-
-	a               :Project ;
-	:name           "JSON-Hyper" ;
-	:shortdesc      "extract links from JSON via a schema"@en ;
-	:programming-language  "Perl" ;
-	:homepage       <https://metacpan.org/release/JSON-Hyper> ;
-	:download-page  <https://metacpan.org/release/JSON-Hyper> ;
-	:bug-database   <http://rt.cpan.org/Dist/Display.html?Queue=JSON-Hyper> ;
-	:repository     [ a :SVNRepository ; :browse <http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Hyper/> ] ;
-	:maintainer     toby:i ;
-	:developer      toby:i ;
-	:documenter     toby:i ;
-	:tester         toby:i ;
-	:created        "2010-08-01"^^xsd:date ;
-	:license        <http://dev.perl.org/licenses/> , <http://opensource.org/licenses/mit-license.php> ;
-	:release        my:v_0-001_00 , my:v_0-001_01 , my:v_0-010 .
-
-#############################################################
-
-toby:i
-
-	a               foaf:Person ;
-	foaf:name       "Toby Inkster" ;
-	foaf:homepage   <http://tobyinkster.co.uk/> ;
-	foaf:page       <https://metacpan.org/author/TOBYINK> ;
-	foaf:mbox       <mailto:tobyink@cpan.org> ;
-	<http://www.w3.org/2002/07/owl#sameAs> <http://purl.org/NET/cpan-uri/person/tobyink> .
-
-#############################################################

Changes.xml

-<?xml version="1.0" encoding="utf-8"?>
-<rdf:RDF xmlns:dbug="http://ontologi.es/doap-bugs#" xmlns:dc="http://purl.org/dc/terms/" xmlns:dcs="http://ontologi.es/doap-changeset#" xmlns:doap="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r0">
-	<dcs:item rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r1"/>
-	<dcs:versus rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-001_00"/>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r1">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Change"/>
-	<rdfs:label xml:lang="en">process_includes is no longer recursive by default.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r2">
-	<dcs:item rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r3"/>
-	<dcs:item rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r4"/>
-	<dcs:item rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r5"/>
-	<dcs:versus rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-001_01"/>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r3">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Update"/>
-	<rdfs:label xml:lang="en">Support targetSchema attribute.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r4">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Update"/>
-	<rdfs:label xml:lang="en">Support schema attribute.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r5">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Bugfix"/>
-	<rdfs:label xml:lang="en">href attributes with multiple substitutions are now supported.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r6">
-	<doap:browse rdf:resource="http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Hyper/"/>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#SVNRepository"/>
-</rdf:Description>
-<rdf:Description rdf:about="file:///home/tai/src/perlmods/JSON-Hyper/Changes.ttl">
-	<dc:creator rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<dc:description xml:lang="en">Revision history for Perl extension JSON::Hyper.</dc:description>
-	<dc:subject rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/project"/>
-	<dc:title>Changes</dc:title>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/project">
-	<doap:bug-database rdf:resource="http://rt.cpan.org/Dist/Display.html?Queue=JSON-Hyper"/>
-	<doap:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-08-01</doap:created>
-	<doap:developer rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<doap:documenter rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<doap:download-page rdf:resource="https://metacpan.org/release/JSON-Hyper"/>
-	<doap:homepage rdf:resource="https://metacpan.org/release/JSON-Hyper"/>
-	<doap:license rdf:resource="http://dev.perl.org/licenses/"/>
-	<doap:license rdf:resource="http://opensource.org/licenses/mit-license.php"/>
-	<doap:maintainer rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<doap:name>JSON-Hyper</doap:name>
-	<doap:programming-language>Perl</doap:programming-language>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-001_00"/>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-001_01"/>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-010"/>
-	<doap:repository rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r6"/>
-	<doap:shortdesc xml:lang="en">extract links from JSON via a schema</doap:shortdesc>
-	<doap:tester rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Project"/>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-001_00">
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-08-02</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.001_00.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.001_00</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-	<rdfs:comment xml:lang="en">Developer release</rdfs:comment>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-001_01">
-	<dcs:changeset rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r0"/>
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-08-04</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.001_01.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.001_01</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Hyper/v_0-010">
-	<dcs:changeset rdf:nodeID="rEC523142EADF11E0884385C8B48E7CD0r2"/>
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2011-09-29</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.010.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.010</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-</rdf:Description>
-<rdf:Description xmlns:ns1="http://www.w3.org/2002/07/owl#" rdf:about="http://tobyinkster.co.uk/#i">
-	<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-	<ns1:sameAs rdf:resource="http://purl.org/NET/cpan-uri/person/tobyink"/>
-	<foaf:homepage rdf:resource="http://tobyinkster.co.uk/"/>
-	<foaf:mbox rdf:resource="mailto:tobyink@cpan.org"/>
-	<foaf:name>Toby Inkster</foaf:name>
-	<foaf:page rdf:resource="https://metacpan.org/author/TOBYINK"/>
-</rdf:Description>
-</rdf:RDF>

MANIFEST.SKIP

-^MANIFEST.bak$
-^Makefile.old$
-^Makefile$
-^blib/
-^pm_to_blib
-^blibdirs
-\.svn
-^example.*\.pl$
-^[^/]+\.(tar\.gz|tar\.bz2|tgz|tbz2|tbz|zip|tar)$
-^MYMETA.yml

META.yml

----
-abstract: 'extract links from JSON via a schema'
-author:
-  - 'Toby Inkster <tobyink@cpan.org>'
-build_requires:
-  ExtUtils::MakeMaker: 6.42
-  Test::More: 0.61
-configure_requires:
-  ExtUtils::MakeMaker: 6.42
-distribution_type: module
-generated_by: 'Module::Install version 1.00'
-keywords:
-  - JSON
-  - schema
-  - hyperlink
-license: perl
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-name: JSON-Hyper
-no_index:
-  directory:
-    - inc
-    - t
-requires:
-  Carp: 1.00
-  JSON: 2.00
-  JSON::Path: 0
-  LWP::UserAgent: 0
-  Scalar::Util: 0
-  Storable: 0
-  URI: 1.30
-  URI::Escape: 0
-  common::sense: 0
-  perl: 5.8.0
-resources:
-  bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=JSON-Hyper
-  homepage: https://metacpan.org/release/JSON-Hyper
-  license: http://dev.perl.org/licenses/
-  repository: http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Hyper/
-version: 0.010

Makefile.PL

-use strict;
-use warnings;
-
-use inc::Module::Install;
-
-my $dist = 'JSON-Hyper';
-my $fn   = "lib/$dist.pm"; $fn =~ s#-#/#g;
-
-name                $dist;
-perl_version_from   $fn;
-version_from        $fn;
-abstract_from       $fn;
-readme_from         $fn;
-author              'Toby Inkster <tobyink@cpan.org>';
-license             'perl';
-
-requires            'Carp'               => '1.00';
-requires            'common::sense'      => 0;
-requires            'JSON'               => '2.00';
-requires            'JSON::Path'         => 0;
-requires            'LWP::UserAgent'     => 0;
-requires            'Scalar::Util'       => 0;
-requires            'Storable'           => 0;
-test_requires       'Test::More'         => '0.61';
-requires            'URI'                => '1.30';
-requires            'URI::Escape'        => 0;
-
-resources(
-	'homepage'   => "https://metacpan.org/release/$dist",
-	'repository' => "http://goddamn.co.uk/svn-web/perlmods/browse/$dist/",
-	'bugtracker' => "http://rt.cpan.org/Dist/Display.html?Queue=$dist",
-	);
-
-keywords 'JSON', 'schema', 'hyperlink';
-	
-write_doap_changes;
-write_doap_changes_xml;
-auto_license;
-auto_manifest;
-
-auto_install;
-WriteAll(
-	'meta' => 1,
-	'sign' => 1,
-	);

README

-NAME
-    JSON::Hyper - extract links from JSON via a schema
-
-SYNOPSIS
-     my $hyper = JSON::Hyper->new($hyperschema);
-     my $json  = from_json( ... );
-     my @links = $hyper->find_links($json->[1]->{some}->{object});
-     foreach my $link (@links)
-     {
-       printf("<%s> (%s)", $link->{href}, $link->{rel});
-     }
-
-DESCRIPTION
-    The JSON Hyper Schema proposal defines hypertext navigation through data
-    structures represented by JSON.
-
-  Constructor
-    "JSON::Hyper->new($hyperschema)"
-        Given a JSON (or equivalent Perl nested hashref/arrayref structure)
-        Hyper Schema, returns a Perl object capable of interpreting that
-        schema.
-
-        If the schema is omitted, defaults to the JSON Referencing hyper
-        schema (described at <http://json-schema.org/json-ref>)
-
-  Methods
-    "schema"
-        Returns the original schema as a hashref/arrayref structure.
-
-    "find_links($object, $base)"
-        Given a JSON object (or equivalent Perl nested hashref/arrayref
-        structure) and optionally a base URL for interpreting relative URI
-        references, returns a list of links found on object node. Does not
-        operate recursively.
-
-        Each link is a hashref with a key 'href' containing the link target.
-        Other keys are possible, including 'rel' which is very common.
-
-    "get($uri)"
-        Performs an HTTP request for the given URI and returns a list of
-        Perl nested hashref/arrayref structures corresponding to the JSON
-        response. The URI may contain a fragment identifier, which will be
-        interpreted according to the schema's fragment resolution method.
-        Fragment resolution methods supported include:
-
-        *       slash-delimited (default)
-
-        *       dot-delimited
-
-        *       jsonpath
-
-        For example, assuming the hyper schema specifies slash-delimited
-        fragments, the following:
-
-         my $hyper    = JSON::Hyper->new($hyperschema);
-         my ($result) = $hyper->get('http://example.com/data.json#foo/bar/0');
-
-        Is roughly equivalent to:
-
-         use JSON;
-         use LWP::UserAgent;
-         my $ua       = LWP::UserAgent->new;
-         my $response = $ua->get('http://example.com/data.json');
-         my $object   = from_json($response->decoded_content);
-         my $result   = $object->{'foo'}->{'bar'}->[0];
-
-        Note, if called multiple times on the same URL will return not just
-        equivalent objects, but the same object.
-
-        So, why does this method return a list of results instead of just a
-        single result? In most cases, there will be either 0 or 1 items on
-        the list; however, JSONPath allows a path to match multiple nodes,
-        so there will occasionally be more than one result.
-
-    "resolve_fragment($object, $fragment)"
-        Used by "get" to resolve the fragment part of a URL against an
-        object.
-
-    "process_includes($object, $base, $recurse)"
-        Given an JSON object (or equivalent Perl nested hashref/arrayref
-        structure) and optional base URL, crawls the object finding
-        rel="full" links, dereferences them using "get" and replaces the
-        appropriate nodes with the retrieved content. $recurse is a boolean.
-
-        This has the effect of rel="full" behaving like inclusion does in
-        various programming languages.
-
-        This modifies the given object rather than creating a new object.
-
-BUGS
-    Please report any bugs to <http://rt.cpan.org/>.
-
-SEE ALSO
-    Related modules: JSON::T, JSON::Path, JSON::GRDDL, JSON::Schema.
-
-    <http://tools.ietf.org/html/draft-zyp-json-schema>.
-
-AUTHOR
-    Toby Inkster <tobyink@cpan.org>.
-
-COPYRIGHT AND LICENCE
-    Copyright 2010-2011 Toby Inkster.
-
-    This module is tri-licensed. It is available under the X11 (a.k.a. MIT)
-    licence; you can also redistribute it and/or modify it under the same
-    terms as Perl itself.
-
-  a.k.a. "The MIT Licence"
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this software and associated documentation files (the
-    "Software"), to deal in the Software without restriction, including
-    without limitation the rights to use, copy, modify, merge, publish,
-    distribute, sublicense, and/or sell copies of the Software, and to
-    permit persons to whom the Software is furnished to do so, subject to
-    the following conditions:
-
-    The above copyright notice and this permission notice shall be included
-    in all copies or substantial portions of the Software.
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-

TODO

-TODO:
-* Add some more items to this list.
-* Add keywords to Makefile.PL

lib/JSON/Hyper.pm

 package JSON::Hyper;
 
 use 5.008;
-use common::sense;
+use strict;
 
 use Carp;
 use JSON;
 use URI;
 use URI::Escape qw[uri_unescape];
 
-our $VERSION = '0.010';
-our $DEBUG = 0;
+our $AUTHORITY = 'cpan:TOBYINK';
+our $VERSION   = '0.011';
+our $DEBUG     = 0;
 
 sub json_ref
 {
 
 =head1 DESCRIPTION
 
-The JSON Hyper Schema proposal defines hypertext navigation through
-data structures represented by JSON.
+The JSON Hyper Schema proposal defines hypertext navigation through data
+structures represented by JSON.
 
 =head2 Constructor
 
  my $ua       = LWP::UserAgent->new;
  my $response = $ua->get('http://example.com/data.json');
  my $object   = from_json($response->decoded_content);
- my $result   = $object->{'foo'}->{'bar'}->[0];
+ my $result   = $object->{foo}{bar}[0];
 
 Note, if called multiple times on the same URL will return not just
 equivalent objects, but the same object.
 
 =head1 COPYRIGHT AND LICENCE
 
-Copyright 2010-2011 Toby Inkster.
+Copyright 2010-2012 Toby Inkster.
 
 This module is tri-licensed. It is available under the X11 (a.k.a. MIT)
 licence; you can also redistribute it and/or modify it under the same

meta/changes.pret

+#############################################################
+
+@prefix :        <http://usefulinc.com/ns/doap#> .
+@prefix dcs:     <http://ontologi.es/doap-changeset#> .
+@prefix dc:      <http://purl.org/dc/terms/> .
+@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
+@prefix my:      <http://purl.org/NET/cpan-uri/dist/JSON-Hyper/> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix toby:    <http://tobyinkster.co.uk/#> .
+@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+
+#############################################################
+
+<>
+
+	dc:title         "Changes" ;
+	dc:description   "Revision history for Perl extension JSON::Hyper."@en ;
+	dc:subject       my:project ;
+	dc:creator       toby:i .
+
+#############################################################
+
+my:v_0-001_00
+
+	a               :Version ;
+	dc:issued       "2010-08-02"^^xsd:date ;
+	:revision       "0.001_00"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.001_00.tar.gz> ;
+	rdfs:comment    "Developer release"@en .
+
+my:v_0-001_01
+
+	a               :Version ;
+	dc:issued       "2010-08-04"^^xsd:date ;
+	:revision       "0.001_01"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.001_01.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-001_00 ;
+		dcs:item   [ rdfs:label "process_includes is no longer recursive by default."@en ; a dcs:Change ]
+		] .
+
+my:v_0-010
+
+	a               :Version ;
+	dc:issued       "2011-09-29"^^xsd:date ;
+	:revision       "0.010"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Hyper-0.010.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-001_01 ;
+		dcs:item   [ rdfs:label "Support targetSchema attribute."@en ; a dcs:Update ] ;
+		dcs:item   [ rdfs:label "Support schema attribute."@en ; a dcs:Update ] ;
+		dcs:item   [ rdfs:label "href attributes with multiple substitutions are now supported."@en ; a dcs:Bugfix ]
+		] .
+
+#############################################################
+
+my:project
+
+	a               :Project ;
+	:name           "JSON-Hyper" ;
+	:shortdesc      "extract links from JSON via a schema"@en ;
+	:programming-language  "Perl" ;
+	:homepage       <https://metacpan.org/release/JSON-Hyper> ;
+	:download-page  <https://metacpan.org/release/JSON-Hyper> ;
+	:bug-database   <http://rt.cpan.org/Dist/Display.html?Queue=JSON-Hyper> ;
+	:repository     [ a :SVNRepository ; :browse <http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Hyper/> ] ;
+	:maintainer     toby:i ;
+	:developer      toby:i ;
+	:documenter     toby:i ;
+	:tester         toby:i ;
+	:created        "2010-08-01"^^xsd:date ;
+	:license        <http://dev.perl.org/licenses/> , <http://opensource.org/licenses/mit-license.php> ;
+	:release        my:v_0-001_00 , my:v_0-001_01 , my:v_0-010 .
+
+#############################################################
+
+toby:i
+
+	a               foaf:Person ;
+	foaf:name       "Toby Inkster" ;
+	foaf:homepage   <http://tobyinkster.co.uk/> ;
+	foaf:page       <https://metacpan.org/author/TOBYINK> ;
+	foaf:mbox       <mailto:tobyink@cpan.org> ;
+	<http://www.w3.org/2002/07/owl#sameAs> <http://purl.org/NET/cpan-uri/person/tobyink> .
+
+#############################################################

meta/makefile.pret

+use strict;
+use warnings;
+
+use inc::Module::Install;
+
+my $dist = 'JSON-Hyper';
+my $fn   = "lib/$dist.pm"; $fn =~ s#-#/#g;
+
+name                $dist;
+perl_version_from   $fn;
+version_from        $fn;
+abstract_from       $fn;
+readme_from         $fn;
+author              'Toby Inkster <tobyink@cpan.org>';
+license             'perl';
+
+requires            'JSON'               => '2.00';
+requires            'JSON::Path'         => 0;
+requires            'LWP::UserAgent'     => 0;
+test_requires       'Test::More'         => '0.61';
+requires            'URI'                => '1.30';
+requires            'URI::Escape'        => 0;
+
+resources(
+	'homepage'   => "https://metacpan.org/release/$dist",
+	'repository' => "http://goddamn.co.uk/svn-web/perlmods/browse/$dist/",
+	'bugtracker' => "http://rt.cpan.org/Dist/Display.html?Queue=$dist",
+	);
+
+keywords 'JSON', 'schema', 'hyperlink';
+	
+write_doap_changes;
+write_doap_changes_xml;
+auto_license;
+auto_manifest;
+
+auto_install;
+WriteAll(
+	'meta' => 1,
+	'sign' => 1,
+	);