class Xenon::Headers::IfRange
Attributes
date[R]
etag[R]
Public Class Methods
new(value)
click to toggle source
# File lib/xenon/headers/if_range.rb, line 12 def initialize(value) case value when Time, DateTime, Date then @date = value when ETag then @etag = value when String then @etag = ETag.parse(value) else raise ArgumentError, 'Value must be a time or an etag.' end raise ProtocolError, 'If-Range headers must use strong ETags.' if @etag && @etag.weak? end
parse(s)
click to toggle source
# File lib/xenon/headers/if_range.rb, line 23 def self.parse(s) tree = Parsers::IfRangeHeader.new.parse(s) Parsers::IfRangeHeaderTransform.new.apply(tree) end
Public Instance Methods
to_s()
click to toggle source
# File lib/xenon/headers/if_range.rb, line 28 def to_s @etag ? @etag.to_s : @date.httpdate end