X-Git-Url: http://jaekl.net/gitweb/?p=quanlib.git;a=blobdiff_plain;f=author.rb;h=fb2003bf43b87bbd3a81c566065d0e84347a12cb;hp=a0a95e89f340fe4c996a540947e2432202011be1;hb=HEAD;hpb=bd862df9f2c494a890357b673a4ef26298515432 diff --git a/author.rb b/author.rb index a0a95e8..fb2003b 100644 --- a/author.rb +++ b/author.rb @@ -1,15 +1,57 @@ class Author - def initialize(surname, givenNames) - @surname = surname - @givenNames = givenNames + def initialize(grouping, reading_order, sort_order) + @grouping = grouping + @reading_order = reading_order + @sort_order = sort_order + + if (nil == sort_order) || ('Unknown' == sort_order) + @sort_order = reading_to_sort_order(reading_order) + end + end + + def grouping + @grouping + end + + def reading_order + @reading_order + end + + def sort_order + @sort_order end def inspect - @givenNames + ' ' + @surname + result = '(Author:' + if nil != @grouping + result += ' grouping="' + @grouping + '"' + end + if nil != @reading_order + result += ' reading_order="' + @reading_order + '"' + end + if nil != @sort_order + result += ' sort_order="' + @sort_order + '"' + end + result += ')' + + return result end def to_s inspect end + + protected + def reading_to_sort_order(reading_order) + sort_order = reading_order + + parts = reading_order.split(' ') + if parts.length > 1 + sort_order = parts[-1] + ', ' + parts[0..-2].join(' ') + end + + return sort_order + end end +