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