CHANGELOG
2012-11-02 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl/cli.rb, lib/discodactyl/cli/format.rb: add
* bin/webfinger: extract formatting
* lib/discodactyl/known_rels.rb (Discodactyl::KNOWN_RELS): invert.
This is a breaking change.
2012-11-01 Joseph Holsten <joseph@josephholsten.com>
* discodactyl.gemspec: replace rr with mocha
* bin/webfinger: format hcard addresses
* bin/webfinger, discodactyl.gemspec: replace mofo with prism
* Come out of retirement
2011-04-24 Joseph Holsten <joseph@josephholsten.com>
* Rakefile: fix bundler loading for travis
* Retire the project
2011-03-14 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl/host_meta.rb, lib/discodactyl/host_meta_jrd.rb
lib/discodactyl/jrd/document.rb, lib/discodactyl/resource_discovery.rb
lib/discodactyl/xrd/document.rb: improve logging
* lib/discodactyl/jrd/link.rb (Discodactyl::JRD::Link#title,
Discodactyl::JRD::Link#title=)
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link#title,
Discodactyl::XRD::Link#title=): add
* lib/discodactyl/resource_discovery.rb
(Discodactyl::ResourceDiscovery::get_uris_by_rel): handle missing jrd
hostmeta
* lib/discodactyl.rb: bump patch version
* discodactyl.gemspec: update dependencies
2010-11-17 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl.rb: bump minor version
* lib/discodactyl/log.rb: add
* bin/webfinger, lib/discodactyl/acct_uri.rb
lib/discodactyl/host_meta.rb, lib/discodactyl/resource_discovery.rb:
add logging. improve error handling.
* lib/discodactyl/jrd.rb, lib/discodactyl/jrd/link.rb
lib/discodactyl/host_meta_jrd.rb, lib/discodactyl/jrd/document.rb: add
* lib/discodactyl/resource_discovery.rb: add jrd support.
* lib/discodactyl/known_rels.rb: add
* lib/discodactyl/xrd/document.rb (Discodactyl::XRD::Document#rels)
(Discodactyl::XRD::Document#find_all_links_by_rel)
(Discodactyl::XRD::Document#subject): add
* lib/discodactyl/xrd/link.rb, lib/discodactyl/link_header.rb: replace
returning() with #tap().
2010-07-22 Joseph Holsten <joseph@josephholsten.com>
* bin/webfinger: silence i18n warnings.
2010-07-08 Joseph Holsten <joseph@josephholsten.com>
* release 0.3.0
* bin/webfinger: display any hcard, openid, profile, contacts and
status info found. Backwards incompatible with the useless behavior of
just spitting out xml.
* bin/webfinger: rescue host-meta 404s with a pleasant error message.
* lib/discodactyl/host_meta.rb: (HostMeta::from_uri): pass base_uri
into any 404 errors.
* lib/discodactyl/host_meta.rb: (Discodactyl::HostMetaHTTPError): add.
2010-06-21 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl/xrd/document.rb (Document#links=): remove. This is a
breaking change.
* lib/discodactyl/xrd/document.rb (Document#initialize)
(Document#links): collect links at runtime, instead of at
initialization.
* lib/discodactyl/xrd/document.rb (Document#append): ensure ids are
uniquene.
* lib/discodactyl/xrd/document.rb (Document#find_link_by_id)
(Document#ids, Discodactyl::XRD::Document#generate_tag_uri): add.
* lib/discodactyl/xrd/link.rb (Link#id, Link#id=, Link#to_s)
(Link#==): add.
2010-06-20 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl/xrd/document.rb (Document#append): add
* lib/discodactyl/xrd/link.rb (Link#raw) add
2010-05-17 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl/uri_template.rb (URITemplate): move into Discodactyl
2010-03-26 Joseph Holsten <joseph@josephholsten.com>
* Rakefile: remove gem building task
* discodactyl.gemspec: extracted from Rakefile
* MANIFEST: add new files, sort
* Rakefile: have check_manifest sort
* bin/webfinger.rb -> bin/webfinger: renamed
* Rakefile: remove hoe deps
2010-03-19 Joseph Holsten <joseph@josephholsten.com>
* lib/discodactyl.rb (Discodactyl::VERSION): bumped to 0.2.0
2010-03-14 Joseph Holsten <joseph@josephholsten.com>
* test/test_xrd_link_parse.rb: require xrd
* lib/discodactyl/xrd/document.rb (Discodactyl::XRD::XMLNS): Added. All
hardcoded usages changed.
* lib/discodactyl/resource_discovery.rb: remove unused require
* test/test_resource_discovery.rb: require only SUT
* lib/discodactyl/xrd/document.rb: require link
* lib/discodactyl/xrd/link.rb: require uri template
* test/test_xrd_parse.rb: require only SUT
* lib/discodactyl/xrd/xrd.rb -> lib/discodactyl/xrd/document.rb:
Renamed, all requires changed
* test/test_xrd_link_parse.rb
(TestXRDLinkParsing#test_parse_template): check href is nil
* test/test_xrd_link_parse.rb: require only SUT
* test/test_uri_template.rb: add docs
* bin/webfinger.rb: follow the rel='lrdd' and template with 'uri'
* lib/discodactyl/xrd/xrd.rb (Discodactyl::XRD::Document#to_s)
* test/test_xrd_parse.rb (TestXRDParsing#test_to_s): Added
* lib/discodactyl/xrd/xrd.rb (Discodactyl::XRD::Document#uris_by_rel): Use
singular converter
* test/test_xrd_parse.rb (TestXRDParsing#test_uris_by_rel): Added
* lib/discodactyl/xrd/xrd.rb
(Discodactyl::XRD::Document#linkelems_by_rel): Rewrite to search by rel
attribute
* test/test_xrd_parse.rb
(TestXRDParsing#test_linkelems_by_rel_with_multiple_rels)
(TestXRDParsing#test_linkelems_by_rel): Use modern examples, expectations
* lib/discodactyl/xrd/xrd.rb (Discodactyl::XRD::Document#urielems_by_rel)
* test/test_xrd_parse.rb
(TestXRDParsing#test_urielems_by_rel_with_multiple_rels): Removed
* test/test_xrd_link_parse.rb: remove unused test helpers from requires
and load path
* test/test_xrd_link_parse.rb
(TestXRDLinkParsing#test_ignores_template_when_href_exists): Added
* test/test_xrd_link_parse.rb
(TestXRDLinkParsing#test_parse_rels): rename to
(TestXRDLinkParsing#test_parse_rel)
(TestXRDLinkParsing#test_parse_media_types): rename to
(TestXRDLinkParsing#test_parse_type)
(TestXRDLinkParsing#test_parse_uris): rename to
(TestXRDLinkParsing#test_parse_href)
(TestXRDLinkParsing#test_parse_uri_templates): rename to
(TestXRDLinkParsing#test_parse_template)
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link::parse): Rewrite for
modern XRD link schema
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link#media_types)
(Discodactyl::XRD::Link#media_types=, Discodactyl::XRD::Link#uris)
(Discodactyl::XRD::Link#uris=, Discodactyl::XRD::Link#rels)
(Discodactyl::XRD::Link#rels=): Remove plural accessors
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link#href)
(Discodactyl::XRD::Link#href=, Discodactyl::XRD::Link#template)
(Discodactyl::XRD::Link#template=, Discodactyl::XRD::Link#type)
(Discodactyl::XRD::Link#type=, Discodactyl::XRD::Link#rel)
(Discodactyl::XRD::Link#rel=): Add singular accessors
* test/test_xrd_link_parse.rb (TestXRDLinkParsing#test_parse_media_types)
(TestXRDLinkParsing#test_parse_rels, TestXRDLinkParsing#test_parse_uris)
(TestXRDLinkParsing#test_parse_uri_templates)
(TestXRDLinkParsing#test_parse_all): Changed to modern sample data and
singular accessors
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link#to_uris): Removed
plural converter
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link#to_uri): Added
replacement singular converter
* test/test_xrd_link_parse.rb
(TestXRDLinkParsing#test_to_uris_for_uri_template)
(TestXRDLinkParsing#test_to_uris_for_plain_uri): Changed to modern sample
data and singular converter
* lib/discodactyl/xrd/link.rb (Discodactyl::XRD::Link::map_texts)
(Discodactyl::XRD::Link#has_rel?, Discodactyl::XRD::Link#has_media_type?):
Removed, no replacements provided
* test/test_xrd_link_parse.rb (TestXRDLinkParsing#assert_has_media_type?)
(TestXRDLinkParsing#test_has_rel?, TestXRDLinkParsing#assert_has_rel?)
(TestXRDLinkParsing#test_to_uris_for_mixed_uris_and_uri_templates)
(TestXRDLinkParsing#test_has_media_type?): Removed
* test/test_uri_template.rb: Require only SUT
* lib/discodactyl/uri_template.rb (URITemplate#to_uri): Percent encode for
basic template parameters
* test/test_uri_template.rb (TestURITemplate#test_render_encode_uri)
(TestURITemplate#test_render_encode): Added
* test/test_host_meta.rb: require only SUT
* test/test_host_meta.rb: remove require
* test/test_resource_discovery.rb, test/test_xrd_link_parse.rb
test/test_xrd_parse.rb: add test to load path
* lib/discodactyl/resource_discovery.rb
(Discodactyl::ResourceDiscovery::parse_link_header)
(Discodactyl::ResourceDiscovery::insert_name_into_hash): factor out
into LinkHeader
* lib/discodactyl/link_header.rb (Discodactyl::LinkHeader): Added
* lib/discodactyl/resource_discovery.rb
(Discodactyl::ResourceDiscovery::get_uris_by_rel_from_link_header): Parse
using LinkHeader
* test/test_link_header.rb: test LinkHeader refactor
* test/test_acct_uri.rb: only require SUT
* bin/webfinger.rb, test/test_acct_uri.rb, test/test_helper.rb
test/test_host_meta.rb, test/test_link_header.rb
test/test_resource_discovery.rb, test/test_uri_template.rb
test/test_xrd_link_parse.rb, test/test_xrd_parse.rb: setup loadpath and
requires properly
* lib/discodactyl/resource_discovery.rb: require only needed lib
2009-09-13 Joseph Holsten <joseph@josephholsten.com>
* bin/webfinger.rb: Use Nokogiri::XML
* lib/discodactyl/xrd/xrd.rb: Use Nokogiri::XML
* test/test_xrd_parse.rb: add many tests
2009-08-25 Joseph Holsten <joseph@josephholsten.com>
Rename package to discodactyl.
* ChangeLog:
* Manifest.txt:
* Rakefile:
* bin/webfinger.rb:
* lib/discodactyl.rb:
* lib/discodactyl/acct_uri.rb:
* lib/discodactyl/host_meta.rb:
* lib/discodactyl/resource_discovery.rb:
* lib/discodactyl/uri_template.rb:
* lib/discodactyl/xrd.rb:
* lib/discodactyl/xrd/link.rb:
* lib/discodactyl/xrd/xrd.rb:
* test/test_acct_uri.rb:
* test/test_host_meta.rb:
* test/test_link_header.rb:
* test/test_resource_discovery.rb:
* test/test_uri_template.rb:
* test/test_xrd_link_parse.rb:
* test/test_xrd_parse.rb:
2009-08-25 Joseph Holsten <joseph@josephholsten.com>
Change README extension to .rdoc for github.
* README.rdoc:
2009-08-23 Joseph Holsten <joseph@josephholsten.com>
Wrap discovery components together into a generalized LRDD implementation. Update examples in README and webfinger.rb.
* README.txt:
* bin/webfinger.rb:
* lib/xrd/acct_uri.rb:
(URI::ACCT::parse):
* lib/xrd/resource_discovery.rb:
(XRD::ResourceDiscovery::get_uris_by_rel):
(XRD::ResourceDiscovery::lrdd_discovery):
(XRD::ResourceDiscovery::content_sniff):
* test/test_resource_discovery.rb:
(TestResourceDiscovery#test_get_uris_by_rel_from_html):
(TestResourceDiscovery#test_get_uris_by_rel_from_header):
(FakeResp):
2009-08-23 Joseph Holsten <joseph@josephholsten.com>
Generalize host-meta discovery.
* Manifest.txt:
* lib/xrd.rb:
* lib/xrd/host_meta.rb:
(XRD::HostMeta::get_uri_from_uri):
(XRD::HostMeta::from_uri):
* test/test_host_meta.rb:
(TestHostMeta#test_get_uri_from_host):
(TestHostMeta#test_get_uri_from_http):
(TestHostMeta#test_get_uri_from_acct):
2009-08-23 Joseph Holsten <joseph@josephholsten.com>
Generalize link header, html discovery.
* lib/xrd/resource_discovery.rb:
(XRD::ResourceDiscover::get_uris_by_rel_from_html):
(XRD::ResourceDiscover::get_uris_by_rel_from_link_header):
* test/test_resource_discovery.rb:
(TestResourceDiscover#test_get_uris_by_rel_from_html):
(TestResourceDiscover#test_get_uris_by_rel_from_html_with_multiple_rels):
(TestResourceDiscover#test_get_uris_by_rel_from_link_header):
2009-08-23 Joseph Holsten <joseph@josephholsten.com>
Fix link parsing.
* lib/xrd/resource_discovery.rb:
(XRD::ResourceDiscovery::parse_link_header):
* test/test_link_header.rb:
(TestLinkHeader#test_parse_rel_and_title):
(TestLinkHeader#test_parse_seperated_rels):
(TestLinkHeader#test_parse_simple_link):
(TestLinkHeader#test_parse_xrd_link):
2009-08-23 Joseph Holsten <joseph@josephholsten.com>
Change order of params for assert_include?
* test/test_helper.rb:
(Test::Unit::Assertions#assert_include?):
* test/test_xrd_link_parse.rb
(TestXRDLinkParsing#test_parse_all):
(TestXRDLinkParsing#test_parse_rels):
(TestXRDLinkParsing#test_parse_media_types):
(TestXRDLinkParsing#test_parse_uris):
(TestXRDLinkParsing#test_parse_uri_templates):
(TestXRDLinkParsing#test_to_uris_for_mixed_uris_and_uri_templates):
(TestXRDLinkParsing#test_to_uris_for_plain_uri):
(TestXRDLinkParsing#test_to_uris_for_uri_template):
* test/test_xrd_parse.rb:
(TestXRDParsing#test_links_rel):
(TestXRDParsing#test_uris_by_rel):
2009-08-23 Joseph Holsten <joseph@josephholsten.com>
Fill out README.txt, fixing license.
* COPYING:
* Manifest.txt:
* README.txt:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Change acct: URIs to implement URI::Generic.
* bin/webfinger.rb:
* lib/xrd/acct_uri.rb:
(URI::ACCT::parse):
(URI::ACCT::COMPONENT):
(URI::ACCT::build):
(URI::ACCT#initialize):
(URI::ACCT#parse_opaque):
(URI::ACCT#local_part):
(URI::ACCT#set_local_part):
(URI::ACCT#to_s):
(URI::ACCT#id):
(URI::ACCT#heirarchical):
* test/test_acct_uri.rb:
(TestURIAcct#test_parse_without_scheme):
(TestURIAcct#test_parse_with_scheme):
(TestURIAcct#test_parse_uri_by_scheme):
(TestURIAcct#test_build_from_hash):
(TestURIAcct#test_build_from_opaque):
(TestURIAcct#test_build_from_array):
(TestURIAcct#test_to_s):
(TestURIAcct#test_id):
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Add webfinger script.
Clean up resource discovery.
* Manifest.txt:
* bin/webfinger.rb:
* lib/xrd/resource_discovery.rb:
(XRD::ResourceDiscovery::get_describedby_link):
(XRD::ResourceDiscovery::get_host_meta):
(XRD::ResourceDiscovery::get_describedby_from_link_header):
(XRD::ResourceDiscovery::get_describedby_from_html):
(XRD::ResourceDiscovery::parse_link_header):
(XRD::ResourceDiscovery::insert_name_into_hash):
* test/test_resource_discovery.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Fix Link parsing.
Get linked URIs by rel.
* lib/xrd/link.rb:
(XRD::Link::parse):
* lib/xrd/xrd.rb:
(XRD::Document::parse):
(XRD::Document#uris_by_rel):
* test/test_xrd_parse.rb:
(TestXRDParsing#test_links_by_rel):
(TestXRDParsing#test_uris_by_rel):
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Add XRD Document parsing
* Manifest.txt:
* lib/xrd.rb:
(XRD::Document#parse):
(XRD::Document#links):
(XRD::Document#links_by_rel):
* lib/xrd/xrd.rb:
* test/test_xrd_parse.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Add XRD Link element parsing
* Manifest.txt:
* lib/xrd.rb:
* lib/xrd/link.rb:
* test/test_helper.rb:
* test/test_xrd_link_parse.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Add XRD URI Template encoding
* Manifest.txt:
* lib/xrd.rb:
* lib/xrd/uri_template.rb:
* test/test_uri_template.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Add acct: URI parsing
* Manifest.txt:
* lib/xrd.rb:
* lib/xrd/acct_uri.rb:
* test/test_acct_uri.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
Remove unused decorated XML implementation
* Manifest.txt:
* lib/xrd/decorators/node.rb:
* lib/xrd/decorators/xrd.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
fix typo in link header tests
* test/test_link_header.rb:
2009-08-22 Joseph Holsten <joseph@josephholsten.com>
remove unused rspec testing
* specs/fixtures/RSAKeyValue.xml:
* specs/fixtures/RetrievalMethod.xml:
* specs/fixtures/X509Data.xml:
* specs/fixtures/certs/demoCA/cacert.pem:
* specs/fixtures/certs/demoCA/careq.pem:
* specs/fixtures/certs/demoCA/crlnumber:
* specs/fixtures/certs/demoCA/index.txt:
* specs/fixtures/certs/demoCA/index.txt.attr:
* specs/fixtures/certs/demoCA/index.txt.attr.old:
* specs/fixtures/certs/demoCA/index.txt.old:
* specs/fixtures/certs/demoCA/newcerts/B35E1243DDA85141.pem:
* specs/fixtures/certs/demoCA/newcerts/B35E1243DDA85142.pem:
* specs/fixtures/certs/demoCA/private/cakey.pem:
* specs/fixtures/certs/demoCA/serial:
* specs/fixtures/certs/demoCA/serial.old:
* specs/fixtures/certs/newcert.pem:
* specs/fixtures/certs/newcert.pem.base64:
* specs/fixtures/certs/newkey.pem:
* specs/fixtures/certs/newreq.pem:
* specs/fixtures/general.xml:
* specs/fixtures/mine.xml:
* specs/fixtures/spec.xml:
* specs/xrd-api.rb:
* stories/xrd-api.rb:
=== 1.0.0 / 2009-07-25
* 1 major enhancement
* Add Link Header discovery