Sha256: a3a43be28dc692922fa0455b682e35b10f777f6ba17eeff47b780ecf159485d4
Contents?: true
Size: 915 Bytes
Versions: 7
Compression:
Stored size: 915 Bytes
Contents
module Fragmenter class Fragment attr_reader :blob, :options def initialize(blob, options) @blob = blob @options = options end def number @number ||= options.fetch(:number, 1).to_i end def total @total ||= options.fetch(:total, 1).to_i end def content_type @content_type ||= options[:content_type] || 'application/octet-stream' end def padded_number digits = total.to_s.length "%0#{digits}d" % number.to_s end def valid? valid_blob? && valid_number? && valid_total? && valid_content_type? end private def valid_blob? blob.size > 0 end def valid_number? number.kind_of?(Integer) && number > 0 end def valid_total? total.kind_of?(Integer) && total > 0 && total >= number end def valid_content_type? content_type =~ /\w+\/\w+/ end end end
Version data entries
7 entries across 7 versions & 1 rubygems