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
+ 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
+