lib/jekyll-admin/server.rb in jekyll-admin-0.4.1 vs lib/jekyll-admin/server.rb in jekyll-admin-0.5.0

- old
+ new

@@ -14,11 +14,11 @@ configure :development, :test do require "sinatra/cross_origin" register Sinatra::CrossOrigin enable :cross_origin disable :allow_credentials - set :allow_methods, %i(delete get options post put) + set :allow_methods, %i[delete get options post put] end get "/" do json ROUTES.map { |r| ["#{r}_api", URI.join(base_url, "/_api/", r)] }.to_h end @@ -57,11 +57,12 @@ request_payload["front_matter"] end def document_body body = if front_matter && !front_matter.empty? - YAML.dump(front_matter).strip + YAML.dump(restored_front_matter).strip + .gsub(": 'null'", ": null") # restore null values else "---" end body << "\n---\n\n" body << request_payload["raw_content"].to_s @@ -78,9 +79,17 @@ end def namespace namespace = request.path_info.split("/")[1].to_s.downcase namespace if ROUTES.include?(namespace) + end + + # verbose 'null' values in front matter + def restored_front_matter + front_matter.map do |key, value| + value = "null" if value.nil? + [key, value] + end.to_h end end end require "jekyll-admin/server/collection"