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