Class: RubyRaider::AutomationFileGenerator

Inherits:
FileGenerator show all
Defined in:
lib/generators/files/automation_file_generator.rb

Class Method Summary collapse

Methods inherited from FileGenerator

generate_file

Class Method Details

.generate_abstract_component(framework, name) ⇒ Object



51
52
53
54
# File 'lib/generators/files/automation_file_generator.rb', line 51

def generate_abstract_component(framework, name)
  generate_file('abstract_component.rb', "#{name}/page_objects/abstract",
                AbstractComponentTemplate.new(framework: framework).parsed_body)
end

.generate_abstract_page(automation, framework, name) ⇒ Object



31
32
33
34
# File 'lib/generators/files/automation_file_generator.rb', line 31

def generate_abstract_page(automation, framework, name)
  generate_file('abstract_page.rb', "#{name}/page_objects/abstract",
                AbstractPageTemplate.new(automation: automation, framework: framework, name: name).parsed_body)
end

.generate_appium_settings(name) ⇒ Object



56
57
58
# File 'lib/generators/files/automation_file_generator.rb', line 56

def generate_appium_settings(name)
  generate_file('appium.txt', name.to_s, AppiumSettingsTemplate.new.parsed_body)
end

.generate_automation_files(automation, name, framework) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/generators/files/automation_file_generator.rb', line 13

def generate_automation_files(automation, name, framework)
  (automation, name)
  generate_abstract_page(automation, framework, name)
  if %w[selenium watir].include?(automation)
    generate_example_component(name)
    generate_abstract_component(framework, name)
  else
    generate_home_page(name)
    generate_confirmation_page(name)
    generate_appium_settings(name)
  end
end

.generate_confirmation_page(name) ⇒ Object



41
42
43
44
# File 'lib/generators/files/automation_file_generator.rb', line 41

def generate_confirmation_page(name)
  generate_file('confirmation_page.rb', "#{name}/page_objects/pages",
                ConfirmationPageTemplate.new.parsed_body)
end

.generate_example_component(name) ⇒ Object



46
47
48
49
# File 'lib/generators/files/automation_file_generator.rb', line 46

def generate_example_component(name)
  generate_file('header_component.rb', "#{name}/page_objects/components",
                ComponentTemplate.new.parsed_body)
end

.generate_home_page(name) ⇒ Object



36
37
38
39
# File 'lib/generators/files/automation_file_generator.rb', line 36

def generate_home_page(name)
  generate_file('home_page.rb', "#{name}/page_objects/pages",
                HomePageTemplate.new.parsed_body)
end

.generate_login_page(automation, name) ⇒ Object



26
27
28
29
# File 'lib/generators/files/automation_file_generator.rb', line 26

def (automation, name)
  generate_file('login_page.rb', "#{name}/page_objects/pages",
                LoginPageTemplate.new(automation: automation, name: name).parsed_body)
end