Class: Playgroundbook::PageParser
- Inherits:
-
Object
- Object
- Playgroundbook::PageParser
- Defined in:
- lib/renderer/page_parser.rb
Instance Method Summary collapse
- #parse_chapter_pages(chapter_contents, source_names, resource_names) ⇒ Object
- #parse_chapter_xcplaygroundpages(pages_data, source_names, resource_names) ⇒ Object
Instance Method Details
#parse_chapter_pages(chapter_contents, source_names, resource_names) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/renderer/page_parser.rb', line 3 def parse_chapter_pages(chapter_contents, source_names, resource_names) # Looks for //// PageName separators. page_names = chapter_contents.scan(/\/\/\/\/.*$/).map { |p| p.gsub("////", "").strip } page_dir_names = page_names.map { |p| "#{p}.playgroundpage" } split_file = chapter_contents.split(/\/\/\/\/.*$/) page_contents = split_file.drop(1).map(&:strip) preamble = split_file.first.strip { page_dir_names: page_dir_names, page_names: page_names, page_contents: page_contents, preamble: preamble, page_source_names: [[]] * page_names.count, # TODO: Be less hacky page_resource_names: [[]] * page_names.count, # TODO: Be less hacky source_names: source_names, resource_names: resource_names } end |
#parse_chapter_xcplaygroundpages(pages_data, source_names, resource_names) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/renderer/page_parser.rb', line 24 def parse_chapter_xcplaygroundpages(pages_data, source_names, resource_names) page_dir_names = pages_data.map { |p| "#{p[:name]}.playgroundpage" } page_names = pages_data.map { |p| "#{p[:name]}" } page_contents = pages_data.map { |p| "#{p[:contents]}" } page_source_names = pages_data.map { |p| p[:sources] } page_resource_names = pages_data.map { |p| p[:resources] } { page_dir_names: page_dir_names, page_names: page_names, page_contents: page_contents, page_source_names: page_source_names, page_resource_names: page_resource_names, source_names: source_names, resource_names: resource_names } end |