Class: MenuGenerator
Overview
:reek:FeatureEnvy { enabled: false } :reek:UtilityFunction { enabled: false }
Defined Under Namespace
Classes: FrameworkOptions
Instance Attribute Summary collapse
Instance Method Summary
collapse
#add_generator, #generate_framework, #invoke_generator
Constructor Details
#initialize(project_name) ⇒ MenuGenerator
Returns a new instance of MenuGenerator.
13
14
15
16
|
# File 'lib/generators/menu_generator.rb', line 13
def initialize(project_name)
@prompt = TTY::Prompt.new
@name = project_name
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
9
10
11
|
# File 'lib/generators/menu_generator.rb', line 9
def name
@name
end
|
#prompt ⇒ Object
Returns the value of attribute prompt.
9
10
11
|
# File 'lib/generators/menu_generator.rb', line 9
def prompt
@prompt
end
|
Instance Method Details
#choose_axe_support ⇒ Object
28
29
30
|
# File 'lib/generators/menu_generator.rb', line 28
def choose_axe_support
prompt.select('Do you want to add Axe accessibility testing tool?', )
end
|
58
59
60
61
62
63
64
65
|
# File 'lib/generators/menu_generator.rb', line 58
def choose_mobile_platform
prompt.select('Please select your mobile platform') do ||
.choice :iOS, -> { choose_test_framework 'ios' }
.choice :Android, -> { choose_test_framework 'android' }
.choice :Cross_Platform, -> { choose_test_framework 'cross_platform' }
.choice :Quit, -> { exit }
end
end
|
51
52
53
54
55
56
|
# File 'lib/generators/menu_generator.rb', line 51
def choose_sparkling_platform
prompt.select('Please select your mobile platform') do ||
.choice :iOS, -> { choose_test_framework 'sparkling_ios' }
.choice :Quit, -> { exit }
end
end
|
#choose_test_framework(automation) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/generators/menu_generator.rb', line 32
def choose_test_framework(automation)
return choose_mobile_platform if automation == 'appium'
return choose_sparkling_platform if automation == 'sparkling'
select_test_framework(automation)
end
|
#choose_visual_automation ⇒ Object
24
25
26
|
# File 'lib/generators/menu_generator.rb', line 24
def choose_visual_automation
prompt.select('Do you want to add visual automation with Applitools?', )
end
|
18
19
20
21
22
|
# File 'lib/generators/menu_generator.rb', line 18
def
prompt.select('Please select your automation framework') do ||
select_automation_framework()
end
end
|
#set_up_framework(options) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/generators/menu_generator.rb', line 39
def set_up_framework(options)
structure = {
automation: options[:automation],
framework: options[:framework],
name: @name,
visual: options[:visual_automation],
axe_support: options[:axe_support]
}
generate_framework(structure)
system "cd #{name} && gem install bundler && bundle install"
end
|