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