class Fragmenter::Fragment
Attributes
blob[R]
options[R]
Public Class Methods
new(blob, options)
click to toggle source
# File lib/fragmenter/fragment.rb, line 5 def initialize(blob, options) @blob = blob @options = options end
Public Instance Methods
content_type()
click to toggle source
# File lib/fragmenter/fragment.rb, line 18 def content_type @content_type ||= options[:content_type] || 'application/octet-stream' end
number()
click to toggle source
# File lib/fragmenter/fragment.rb, line 10 def number @number ||= options.fetch(:number, 1).to_i end
padded_number()
click to toggle source
# File lib/fragmenter/fragment.rb, line 22 def padded_number digits = total.to_s.length "%0#{digits}d" % number.to_s end
total()
click to toggle source
# File lib/fragmenter/fragment.rb, line 14 def total @total ||= options.fetch(:total, 1).to_i end
valid?()
click to toggle source
# File lib/fragmenter/fragment.rb, line 28 def valid? valid_blob? && valid_number? && valid_total? && valid_content_type? end
Private Instance Methods
valid_blob?()
click to toggle source
# File lib/fragmenter/fragment.rb, line 34 def valid_blob? blob.size > 0 end
valid_content_type?()
click to toggle source
# File lib/fragmenter/fragment.rb, line 46 def valid_content_type? content_type =~ /\w+\/\w+/ end
valid_number?()
click to toggle source
# File lib/fragmenter/fragment.rb, line 38 def valid_number? number.kind_of?(Integer) && number > 0 end
valid_total?()
click to toggle source
# File lib/fragmenter/fragment.rb, line 42 def valid_total? total.kind_of?(Integer) && total > 0 && total >= number end