Sha256: f2a55561831b0353679bd0d9ebe7961019e006b60158680b5a48033c3e78e873
Contents?: true
Size: 666 Bytes
Versions: 3
Compression:
Stored size: 666 Bytes
Contents
module AcceptHeaders module Acceptable class Error < StandardError; end class InvalidQError < Error; end attr_reader :q def match(other) raise NotImplementedError.new("#match is not implemented") end def q=(value) begin q_float = Float(value) rescue ArgumentError => e raise InvalidQError.new(e.message) end if !q_float.between?(0.0, 1.0) raise InvalidQError.new("q must be between 0 and 1") end if q_float.to_s.match(/^\d\.(\d+)$/) && $1 && $1.size > 3 raise InvalidQError.new("q must be at most 3 decimal places") end @q = q_float end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
accept_headers-0.0.4 | lib/accept_headers/acceptable.rb |
accept_headers-0.0.3 | lib/accept_headers/acceptable.rb |
accept_headers-0.0.2 | lib/accept_headers/acceptable.rb |