9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/awestruct/context.rb', line 9
def initialize(hash)
super
@page = hash[:page]
@site = hash[:site]
@page.handler.front_matter.each do |k,v|
k_sym = k.to_sym
if @page.key? k_sym
if @page[k_sym].is_a?(Array) && v.is_a?(Array)
page_values = @page[k_sym].collect {|value| value.class.to_s}.sort
front_matter_values = v.collect {|value| value.class.to_s}.sort
@page[k_sym] = v if page_values.eql? front_matter_values
elsif @page[k_sym].is_a?(Hash) && v.is_a?(Hash)
page_values = @page[k_sym].collect {|key, value| value.class.to_s}.sort
front_matter_values = v.collect {|key, value| value.class.to_s}.sort
@page[k_sym] = v if page_values.eql? front_matter_values
else
@page[k_sym] = v if @page.key?(k_sym) && (@page[k_sym].class == v.class)
end
else
@page[k_sym] = v
end
end
end
|