class CatalystAutomation::Base
Public Class Methods
connect_db(conn_str) { |db_conn| ... }
click to toggle source
# File lib/catalyst_automation.rb, line 103 def self.connect_db(conn_str) db_conn = Mongo::Client.new(conn_str) begin yield db_conn rescue => error raise error end end
create_const(const_name, key, const_type)
click to toggle source
# File lib/catalyst_automation.rb, line 62 def self.create_const(const_name, key, const_type) Object.const_set(const_name[(const_name.class.eql?(Symbol) ? key : key.to_s)], const_type) end
create_iframes(db_pages, db_sections)
click to toggle source
# File lib/catalyst_automation.rb, line 137 def self.create_iframes(db_pages, db_sections) db_pages.each do |page| if page[(page.class.eql?(Symbol) ? :type : "type")].eql? "iframe" create_const(page, :name, Class.new(SitePrism::Page)) set_elements(page, :name) end end end
create_pages(db_pages, db_sections)
click to toggle source
# File lib/catalyst_automation.rb, line 146 def self.create_pages(db_pages, db_sections) db_pages.each do |page| if page[(page.class.eql?(Symbol) ? :type : "type")].eql? "page" create_const(page, :name, Class.new(SitePrism::Page)) set_elements(page, :name) set_sections(page, :name, db_sections) #set_iframes(page, :name, db_pages) Object.const_get(page[(page.class.eql?(Symbol) ? :name : "name")]).class_eval do set_url page[(page.class.eql?(Symbol) ? :url : "url")] end end end end
create_sections(db_pages)
click to toggle source
# File lib/catalyst_automation.rb, line 130 def self.create_sections(db_pages) db_pages.each do |section| create_const(section, :name, Class.new(SitePrism::Section)) set_elements(section, :name) end end
create_test_data(test_data)
click to toggle source
def self.create_actions(db_actions)
db_actions.each do |page| if page[page.class.eql?(Symbol) ? :type : "type"].eql? "page_action" Object.const_get(page[(page.class.eql?(Symbol) ? :name : "name")]).class_eval do page[page.class.eql?(Symbol) ? :actions : "actions"].each do |action| define_method action[page.kind_of?(Symbol) ? :name : "name"].to_sym do action[page.kind_of?(Symbol) ? :action_methods : "action_methods"].each do |method| m_func = method[page.kind_of?(Symbol) ? :name : "name"].split('_').last elem_array = method[page.kind_of?(Symbol) ? :name : "name"].split('_') elem_array.pop func_name = "" elem_array.each do |e| func_name = func_name + "#{e}_" end func_name = func_name[0...-1] func_name = "#{func_name}.#{m_func}" param = method[page.kind_of?(Symbol) ? :param : "param"] if !param.eql?("no_param") eval("#{func_name}(#{param})") else eval("#{func_name}") end end end end end end end
end
# File lib/catalyst_automation.rb, line 222 def self.create_test_data(test_data) test_data.each do |data| create_const(data, :name, Class.new) Object.const_get(data[(data.class.eql?(Symbol) ? :name : "name")]).class_eval do data[(data.class.eql?(Symbol) ? :attributes : "attributes")].each do |attrs| name = attrs[(data.kind_of?(Symbol) ? :name : "name")] value = attrs[(data.kind_of?(Symbol) ? :value : "value")] define_method name.to_sym do value end end end end end
get_db_info(db_con, info)
click to toggle source
# File lib/catalyst_automation.rb, line 112 def self.get_db_info(db_con, info) m_info = [] db_info = db_con.database[info].find() db_info.each_entry do |entry| m_info << entry end return m_info end
get_rest_api_info(rest_api, object)
click to toggle source
# File lib/catalyst_automation.rb, line 121 def self.get_rest_api_info(rest_api, object) m_info = [] rest_info = JSON.parse(RestClient.get(rest_api + object)) rest_info.each do |entry| m_info << entry end return m_info end
set_elements(const_name, key)
click to toggle source
# File lib/catalyst_automation.rb, line 66 def self.set_elements(const_name, key) Object.const_get(const_name[(const_name.kind_of?(Symbol) ? key : key.to_s)]).class_eval do const_name[(const_name.kind_of?(Symbol) ? :elements : "elements" )].each do |element| send(:element, element[(const_name.kind_of?(Symbol) ? :name : "name")], element[(const_name.kind_of?(Symbol) ? :path : "path")]) end end end
set_iframes(const_name, key, db_pages)
click to toggle source
# File lib/catalyst_automation.rb, line 88 def self.set_iframes(const_name, key, db_pages) Object.const_get(const_name[(const_name.kind_of?(Symbol) ? :name : "name")]).class_eval do const_name[(const_name.kind_of?(Symbol) ? :iframes : "iframes")].each do |iframe| m_iframe_name = "" db_pages.each do |db_page| if iframe[:iframe_id].to_s.eql?(db_page[:_id].to_s) m_iframe_name = db_page[const_name.kind_of?(Symbol) ? :name : "name"] end end send(:iframe, iframe[(const_name.kind_of?(Symbol) ? :name : "name")], Object.const_get(m_iframe_name), iframe[(const_name.kind_of?(Symbol) ? :path : "path")]) end end end
set_sections(const_name, key, db_sections)
click to toggle source
# File lib/catalyst_automation.rb, line 74 def self.set_sections(const_name, key, db_sections) Object.const_get(const_name[(const_name.kind_of?(Symbol) ? :name : "name")]).class_eval do const_name[(const_name.kind_of?(Symbol) ? :page_sections : "page_sections")].each do |section| m_class_name = "" db_sections.each do |db_section| if section[:section_id].to_s.eql?(db_section[:_id].to_s) m_class_name = db_section[const_name.kind_of?(Symbol) ? :name : "name"] end end send(:section, section[(const_name.kind_of?(Symbol) ? :name : "name")], Object.const_get(m_class_name), section[(const_name.kind_of?(Symbol) ? :path : "path")]) end end end