Module: Jekyll::OverrideHRefsFilter

Defined in:
lib/jekyll-leaflet-mze/filters/replace-hrefs.rb

Instance Method Summary collapse

Instance Method Details

#_recurs_href_replace(obj, href) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/jekyll-leaflet-mze/filters/replace-hrefs.rb', line 10

def _recurs_href_replace(obj, href)
    if obj.is_a? Hash
        obj.each_pair do |key, value|
            if key == "href"
                obj[key] = href
            elsif key == "properties"
                obj[key]["href"] = href
            else
                obj[key] = _recurs_href_replace(value, href) 
            end
        end
    end
    if obj.is_a? Array
        new_arr = []
        for entry in obj
            new_arr.push(_recurs_href_replace(entry, href))
        end
        obj = new_arr
    end

    obj
end

#override_hrefs(input, href) ⇒ Object



4
5
6
7
8
# File 'lib/jekyll-leaflet-mze/filters/replace-hrefs.rb', line 4

def override_hrefs(input, href)
    geojson_obj =  JSON.parse(input)
    geojson_obj = _recurs_href_replace(geojson_obj, href)
    return JSON.generate(geojson_obj)
end