Module: EasyEsi

Defined in:
lib/easy_esi.rb,
lib/easy_esi/version.rb

Constant Summary collapse

Version =
VERSION = "0.3.0"

Class Method Summary collapse

Class Method Details

.include_for(data) ⇒ Object



4
5
6
# File 'lib/easy_esi.rb', line 4

def self.include_for(data)
  %{<esi:include src="#{serialize(data)}"/>}.html_safe
end

.replace_includes(text) ⇒ Object



8
9
10
11
12
13
# 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) ⇒ Object



19
20
21
# File 'lib/easy_esi.rb', line 19

def self.serialize(data)
  Base64.encode64(data.to_yaml).gsub("\n",'')
end

.unserialize(data) ⇒ Object



15
16
17
# File 'lib/easy_esi.rb', line 15

def self.unserialize(data)
  YAML.load Base64.decode64(data)
end