Sha256: 0aa510347cf534d336bf0c735f3a8f1f06c565b57aef9ab6e95becd87740b43c
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require 'xml/mapping' require 'xml/mapping_extensions' module Stash module Wrapper # Mapping for `<st:version>` class Version include ::XML::Mapping numeric_node :version_number, 'version_number' date_node :date, 'date', zulu: true text_node :note, 'note', default_value: nil # Creates a new {Version} # @param number [Integer] the version number # @param date [Date] the date the new version was created # @param note [String, nil] the (optional) version note def initialize(number:, date:, note: nil) self.version_number = valid_number(number) self.date = valid_date(date) self.note = note end private def valid_number(number) return number if number && number.respond_to?(:to_i) && number == number.to_i raise ArgumentError, "specified version number does not appear to be an integer: #{number || 'nil'}" end def valid_date(date) return date if date.respond_to?(:iso8601) raise ArgumentError, "date does not appear to be a Date object: #{date || 'nil'}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stash-wrapper-0.1.12 | lib/stash/wrapper/version.rb |