Module: CssHttpRequest

Included in:
CssHttpRequestHandler
Defined in:
lib/css_http_request.rb

Constant Summary collapse

PREFIX =
"data:,".freeze
LENGTH =

Internet Explorer 2KB URI limit

(2000 - PREFIX.size).freeze

Instance Method Summary collapse

Instance Method Details

#encode_chr(str) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/css_http_request.rb', line 15

def encode_chr(str)
  quoted = ERB::Util.url_encode(str)
  slice_num = 0
  last_start = 0
  chunks = (quoted.length.to_f / LENGTH).ceil
  STDERR << chunks
  output = ""
  chunks.times do |n|
    finish = last_start + LENGTH
    output += "#c%d{background:url(%s%s);}\n" % [slice_num, PREFIX, quoted[last_start...finish]]
    slice_num += 1
    last_start = finish
  end
  output
end