module Pageify
Public Instance Methods
createElement(raw_row)
click to toggle source
# File lib/pageify.rb, line 14 def createElement(raw_row) element = PageObject.create(raw_row) define_method(element.name) do |*arguments| unless arguments.eql? [] element.full_selector = (element.self_selector % arguments).strip_quotes.strip else element.full_selector = (element.self_selector % '').strip_quotes.strip end element end element end
get_procesed(file)
click to toggle source
# File lib/pageify.rb, line 45 def get_procesed (file) rawArray= IO.read(file).split("\n").map{|x| x.rstrip} rawArray -= [""] rawArray = replace_sections(rawArray,file) end
get_session()
click to toggle source
# File lib/pageify/capybara/base.rb, line 8 def get_session @@session end
on(pageObject,&block)
click to toggle source
# File lib/pageify/page_object.rb, line 48 def on (pageObject,&block) pageObject.run_block &block end
pageify(base_dir)
click to toggle source
# File lib/pageify.rb, line 5 def pageify(base_dir) base_dir.chomp! '/' all_pages = [] page_files = Dir["#{base_dir}/**/*.yml"]-Dir["#{base_dir}/**/_*.yml"] page_files.each do |file| to_page_objects file end end
replace_sections(parent_array,file)
click to toggle source
# File lib/pageify.rb, line 27 def replace_sections (parent_array,file) processed_parent = [] parent_array.each do |row| if row.lstrip.start_with?":" section_file = "#{File.dirname (file)}/#{row.split(':')[1]}.yml" section_file = "#{File.dirname(section_file)}/_#{File.basename(section_file)}" section_array = get_procesed(section_file) section_array.each_with_index do |value,index| section_array[index] = " " * row.lspace + value end processed_parent = processed_parent + section_array else processed_parent = processed_parent + [row] end end processed_parent end
set_session(session_page)
click to toggle source
# File lib/pageify/capybara/base.rb, line 4 def set_session(session_page) @@session = session_page end
to_page_objects(file)
click to toggle source
# File lib/pageify.rb, line 51 def to_page_objects(file) rawArray = get_procesed(file) parentElement = rawArray.shift page = createElement(parentElement) parent = [page] until rawArray.empty? do thisElement = rawArray.first nextElement = rawArray[1] until parent.last.intend < thisElement.lspace do parent.pop end element = parent.last.createChild(thisElement) rawArray.shift parent << element if rawArray.any? &&thisElement.lspace < nextElement.lspace end end