lib/brief/model/serializers.rb in brief-1.4.4 vs lib/brief/model/serializers.rb in brief-1.5.0
- old
+ new
@@ -1,25 +1,21 @@
module Brief::Model::Serializers
def as_json(options={})
+ options.symbolize_keys!
+ docs_path = options.fetch(:docs_path) { briefcase.docs_path }
+ docs_path = docs_path.to_pathname if docs_path.is_a?(String)
- if options[:docs_path]
- if path.absolute?
- doc_path = path.relative_path_from(options[:docs_path])
- else
- doc_path = path
- end
- else
- doc_path = path.to_s
- end
+ doc_path = path.relative_path_from(docs_path).to_s
# TEMP
title = data.try(:[], :title) || extracted_content.try(:title) || (send(:title) rescue nil) || path.basename.to_s.gsub(/\.html.md/,'')
title = title.to_s.gsub(/\.md/,'')
{
data: data,
- path: doc_path.to_s,
+ extracted: extracted_content_data,
+ path: path.to_s,
type: type,
title: title,
actions: self.class.defined_actions,
urls: {
view_content_url: "/view/content/#{ doc_path }",
@@ -28,8 +24,11 @@
update_url: "/update/#{ doc_path }",
remove_url: "/remove/#{ doc_path }",
schema_url: "/schema/#{ type }",
actions_url: "/actions/:action/#{ doc_path }"
}
- }
+ }.tap do |h|
+ h[:content] = document.combined_data_and_content if options[:content]
+ h[:rendered] = document.to_html if options[:rendered]
+ end
end
end