module DesignStoryboard
Constants
- VERSION
Public Class Methods
build()
click to toggle source
# File lib/design_storyboard.rb, line 12 def build info_collection = generate_storyboard_from_story_file if info_collection.present? output_storyboard Setting[:page_title], info_collection else unable "info not found." end end
generate_storyboard_from_story_file()
click to toggle source
# File lib/design_storyboard.rb, line 22 def generate_storyboard_from_story_file start story_collection = {} headline_collection = {} story = { step: '', description: '', note: '' } step_number = "0" step_number_is_found = false note_number_is_found = false alert 'Start analyzing.' IO.foreach(Setting[:input_file_path]) do |data| data = data.remove_white_char match_step_number = data.match(/step[[:blank:]]+(?<step_number>[\d\-]+)\:/i) match_note_number = data.match(/(?:note|\^{4})[[:blank:]]+(?<step_number>[\d\-]+)\:/i) match_headline = data.match(/\={4,}[[:blank:]]*(?<headline>.+)[[:blank:]]*\={4,}/i) if match_headline.present? headline_collection[step_number] = match_headline[:headline] next end if match_step_number.present? step_number_is_found = true note_number_is_found = false step_number = match_step_number[:step_number] story_collection[step_number] = story.dup story_collection[step_number][:step] = step_number story_collection[step_number][:description] = "" say "catch <- #{step_number}" elsif match_note_number.present? step_number_is_found = false note_number_is_found = true story_collection[step_number][:note] = "" say "catch note <- #{step_number}" elsif step_number_is_found story_collection[step_number][:description] << data elsif note_number_is_found story_collection[step_number][:note] << data else # ignore end end done rescue Exception => e runtime_error e ensure return make_storyboard(headline_collection, story_collection) end
make_storyboard(headline_collection, story_collection)
click to toggle source
# File lib/design_storyboard.rb, line 83 def make_storyboard(headline_collection, story_collection) storyboard = [] if headline_collection.present? if headline_collection.has_key? "0" storyboard.push headline_collection["0"] headline_collection.delete("0") end end story_collection.each do |index, story| storyboard.push story step_number = story[:step] if headline_collection.has_key? step_number storyboard.push headline_collection[step_number] end end storyboard end