josephholsten/discodactyl

View on GitHub
CHANGELOG

Summary

Maintainability
Test Coverage
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