module EasyEsi

Constants

Version

Public Class Methods

include_for(data) click to toggle source
# File lib/easy_esi.rb, line 4
def self.include_for(data)
  %{<esi:include src="#{serialize(data)}"/>}.html_safe
end
replace_includes(text) { |unserialize($1)| ... } click to toggle source
# File lib/easy_esi.rb, line 8
def self.replace_includes(text)
  text.gsub(%r{<esi:include src="[^"]*"/>}) do |match|
    match =~ /"(.*)"/
    yield unserialize($1)
  end
end
serialize(data) click to toggle source
# File lib/easy_esi.rb, line 19
def self.serialize(data)
  Base64.encode64(data.to_yaml).gsub("\n",'')
end
unserialize(data) click to toggle source
# File lib/easy_esi.rb, line 15
def self.unserialize(data)
  YAML.load Base64.decode64(data)
end

Private Class Methods

query_to_hash(string) click to toggle source
# File lib/easy_esi.rb, line 25
def self.query_to_hash(string)
  string.split('&').map{|kv| kv.split('=')}.inject({}){|hash, kv| hash[kv[0]]=kv[1];hash}
end