Class: RubyRaider::CucumberProjectGenerator

Inherits:
ProjectGenerator show all
Defined in:
lib/generators/projects/cucumber_project_generator.rb

Class Method Summary collapse

Methods inherited from ProjectGenerator

create_children_folders, create_po_child_folders, create_project_folder, install_gems

Class Method Details

.create_base_folders(automation, name) ⇒ Object



22
23
24
25
26
# File 'lib/generators/projects/cucumber_project_generator.rb', line 22

def create_base_folders(automation, name)
  folders = %w[features page_objects allure-results]
  create_children_folders("#{name}", folders)
  Dir.mkdir "#{name}/config" if %w[selenium watir].include?(automation)
end

.create_features_child_folders(name) ⇒ Object



28
29
30
31
# File 'lib/generators/projects/cucumber_project_generator.rb', line 28

def create_features_child_folders(name)
  folders = %w[step_definitions support]
  create_children_folders("#{name}/features", folders)
end

.cucumber_folder_structure(automation, name) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/generators/projects/cucumber_project_generator.rb', line 13

def cucumber_folder_structure(automation, name)
  create_project_folder(name)
  create_base_folders(automation, name)
  create_features_child_folders(name)
  Dir.mkdir "#{name}/features/support/helpers"
  create_po_child_folders(automation, name)
  Dir.mkdir "#{name}/allure-results/screenshots"
end

.generate_cucumber_project(automation, name) ⇒ Object



7
8
9
10
11
# File 'lib/generators/projects/cucumber_project_generator.rb', line 7

def generate_cucumber_project(automation, name)
  cucumber_folder_structure(automation, name)
  CucumberFileGenerator.generate_cucumber_files(automation, name)
  ProjectGenerator.install_gems(name)
end