README.rdoc in public-suffix-list-0.0.6 vs README.rdoc in public-suffix-list-0.1.0

- old
+ new

@@ -9,38 +9,56 @@ a list is necessary because "there was and remains no algorithmic method of finding the highest level at which a domain may be registered for a particular top-level domain (the policies differ with each registry)...". Public Suffix List is also a small Ruby library designed to make the Public Suffix List (http://publicsuffix.org/) -easier to use. +easier to use. Public Suffix List will transparently download the +latest list of top-level domains, parse the list, and optionally cache +the parsed data. +The public API is as simple as I could make it. Instantiating the +PublicSuffixList class downloads, parses, and caches the data. There +are three instance methods: + +[*tld*(domain)] return the top-level domain name +[*cdn*(domain)] return the canonical domain name +[*split*(domain)] split the domain name into parts + == Features * Transparent download of the TLD data file * Optional caching of optimized, parsed TLD data * Tiny API == Synopsis require "public_suffix_list" - # downloads and parses the latest data file and returns "com" + # Downloads and parses the latest data file and returns "com". PublicSuffixList.new.tld("foobar.com") - # downloads and parses the latest data file and returns "foobar.com" + # Downloads and parses the latest data file and returns "foobar.com". PublicSuffixList.new.cdn("foobar.com") - # downloads and parses the latest data file, caches it in /tmp, returns ["abc", "xyz", "co.uk"] + # Downloads and parses the latest data file, caches it in /tmp, + # and returns ["abc", "xyz", "co.uk"]. PublicSuffixList.new(:cache_dir => "/tmp").split("abc.xyz.co.uk") - # loads the cached data in /tmp and returns ["test", "nhs", "uk"] - PublicSuffixList.new(:cache_dir => "/tmp").split("test.nhs.uk") + # Loads the cached data in /tmp if it is less than 100 seconds old, + # downloads, parses, and caches it if it is older, and returns + # ["test", "nhs", "uk"]. + PublicSuffixList.new(:cache_dir => "/tmp", :cache_expiry_period => 100).split("test.nhs.uk") - # you don't have to instantiate PublicSuffixList every time you use it, of course... + # You don't have to instantiate PublicSuffixList every time you + # use it, of course... p = PublicSuffixList.new p.split("fee.fi.fo.com") # => ["fee.fi", "fo", "com"] p.cdn("fee.fi.fo.com") # => "fo.com", "cdn" is "canonical domain name" p.tld("fee.fi.fo.com") # => "com", "tld" is "top-level domain" + + # You can even use other data files, both local and remote + # (as long as they conform to the Public Suffix List file format). + PublicSuffixList.new(:url => "spec/test.dat") == Requirements None that I am aware of.