Sha256: ae588d242fcb8906169eb516d2097aaedf1d139935394e01a8fefeb22893581b
Contents?: true
Size: 876 Bytes
Versions: 4
Compression:
Stored size: 876 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 basename end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
apidoco-1.6.0 | lib/apidoco/folder_parser.rb |
apidoco-1.5.6 | lib/apidoco/folder_parser.rb |
apidoco-1.5.5 | lib/apidoco/folder_parser.rb |
apidoco-1.5.4 | lib/apidoco/folder_parser.rb |