Sha256: f870cb0c74748223ea2f66659e0c23fbed84803dab032cd58f5f28acd6cf21f2
Contents?: true
Size: 871 Bytes
Versions: 4
Compression:
Stored size: 871 Bytes
Contents
module Apidoco # Parse a folder and find all the sub folders and files class FolderParser attr_accessor :directory, :parents def initialize(directory, parents: []) self.directory = directory self.parents = parents end def as_json { is_folder: true, name: basename, children: children.select(&:published?).sort_by(&:sort_order).map(&:as_json) } end def basename directory.basename.to_s.titleize end def children directory.children.map do |child| hierrarchy = parents + [basename] if child.directory? Apidoco::FolderParser.new(child, parents: hierrarchy) else Apidoco::FileParser.new(child, parents: hierrarchy) end end end def published? true end def sort_order 999 end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
apidoco-1.5.3 | lib/apidoco/folder_parser.rb |
apidoco-1.5.2 | lib/apidoco/folder_parser.rb |
apidoco-1.5.1 | lib/apidoco/folder_parser.rb |
apidoco-1.5.0 | lib/apidoco/folder_parser.rb |