ruby_raider 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa0c6d643c3cde2157842b7627cd91377aab6e76d47f6f4136c14a6999eacedf
4
- data.tar.gz: 94105992da2846eb8585d10d8b2c471418b6c8544ef2db948ea3a62c950006d8
3
+ metadata.gz: 33e1928965aa6bf627bbfcf504be2873c8c21b749e15ba58a25031edc3247e8b
4
+ data.tar.gz: d0616127c4d73bfe475df99036a49ad3a412b795ac84f5514ba018ad9fa902ca
5
5
  SHA512:
6
- metadata.gz: 9ab37f89743262fa6fddfa3a72791e118bfb46f01596177cc488f9900207835ddf4478dd16f53d017ca58d1e11a72f7e4431a64035f25c8958949e1d2934bef9
7
- data.tar.gz: ea715071ad366384139705627bf4ad0b5bee9665d3ee3dc4853debc735acea6ebc1ae32860188cf235bb62da47463bb97ac3c17d2509a99f76067fe4500270c5
6
+ metadata.gz: 32f18b8f33d9beb299bf130e407bad5ca17814e5fa283b87d2eec193c69191b7e9f00a2dfa201a847c3117fd18612ac195c379fbac3655982e4f1b9803694a24
7
+ data.tar.gz: f3d61d8d65fd5edde333cd9044a3d16e7d37169d1fdbc204996b843fa1f830aa51b303ddad9a37327cf083ea70da5d8d027105805462690b881ad413d9149c06
data/.reek.yml CHANGED
@@ -1,3 +1,9 @@
1
1
  detectors:
2
2
  IrresponsibleModule:
3
- enabled: false
3
+ enabled: false
4
+
5
+ TooManyStatements:
6
+ enabled: true
7
+ exclude:
8
+ - initialize
9
+ max_statements: 10
data/.rubocop.yml CHANGED
@@ -4,5 +4,90 @@ AllCops:
4
4
  Exclude:
5
5
  - './spec/*'
6
6
 
7
+ # Layout
8
+ Layout/CaseIndentation:
9
+ Enabled: false
10
+
11
+ Layout/ClosingParenthesisIndentation:
12
+ Enabled: false
13
+
14
+ Layout/LineLength:
15
+ Max: 999
16
+
17
+ Layout/MultilineMethodCallBraceLayout:
18
+ Enabled: false
19
+
20
+ Layout/SpaceInsideHashLiteralBraces:
21
+ StyleGuide: '#spaces-operators'
22
+ Enabled: false
23
+
24
+ # Lint
25
+
26
+ # Metrics
27
+ Metrics/AbcSize:
28
+ Max: 100
29
+
30
+ Metrics/BlockLength:
31
+ Max: 150
32
+
33
+ Metrics/BlockNesting:
34
+ Max: 4
35
+
36
+ Metrics/ClassLength:
37
+ CountComments: false
38
+ Max: 500
39
+
40
+ Metrics/CyclomaticComplexity:
41
+ Enabled: false
42
+
43
+ Metrics/MethodLength:
44
+ Max: 150
45
+
46
+ Metrics/ModuleLength:
47
+ Max: 600
48
+
49
+ Metrics/ParameterLists:
50
+ Enabled: false
51
+
52
+ Metrics/PerceivedComplexity:
53
+ Enabled: false
54
+
55
+ Naming/AccessorMethodName:
56
+ Enabled: false
57
+
58
+ # Migration
59
+
60
+ # Naming
61
+ Naming/PredicateName:
62
+ ForbiddenPrefixes:
63
+ - 'is_'
64
+
65
+ # Security
66
+
67
+ # Styles
68
+
69
+ Style/AsciiComments:
70
+ Enabled: false
71
+
7
72
  Style/Documentation:
8
73
  Enabled: false
74
+
75
+ Style/FrozenStringLiteralComment:
76
+ Enabled: false
77
+
78
+ Style/HashEachMethods:
79
+ Enabled: true
80
+
81
+ Style/HashTransformKeys:
82
+ Enabled: true
83
+
84
+ Style/HashTransformValues:
85
+ Enabled: true
86
+
87
+ Style/SafeNavigation:
88
+ Description: "Use &. instead of checking if an object exists"
89
+ Enabled: false
90
+
91
+ Style/SingleLineBlockParams:
92
+ Description: 'Enforces the names of some block params.'
93
+ Enabled: false
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'highline'
3
+ require 'tty-prompt'
4
4
  require_relative 'automation_generator'
5
5
  require_relative 'common_generator'
6
6
  require_relative 'cucumber_generator'
@@ -8,28 +8,26 @@ require_relative 'helper_generator'
8
8
  require_relative 'rspec_generator'
9
9
 
10
10
  class MenuGenerator
11
- attr_reader :cli, :name, :generators
11
+ attr_reader :prompt, :name, :generators
12
12
 
13
13
  def initialize(project_name)
14
- @cli = HighLine.new
14
+ @prompt = TTY::Prompt.new
15
15
  @name = project_name
16
16
  @generators = %w[Automation Common Helpers]
17
17
  end
18
18
 
19
19
  def generate_choice_menu
20
- @cli.choose do |menu|
21
- menu.prompt = 'Please select your automation framework'
22
- menu.choice('Selenium') { choose_test_framework('selenium') }
23
- menu.choice('Watir') { choose_test_framework('watir') }
24
- menu.choice('Appium') { choose_test_framework('appium') }
25
- menu.choice('Quit') { exit }
20
+ prompt.select('Please select your automation framework') do |menu|
21
+ menu.choice :Appium, -> { choose_test_framework('appium') }
22
+ menu.choice :Selenium, -> { choose_test_framework('selenium') }
23
+ menu.choice :Watir, -> { choose_test_framework('watir') }
24
+ menu.choice :Quit, -> { exit }
26
25
  end
27
26
  end
28
27
 
29
28
  def choose_test_framework(automation)
30
- system('clear') || system('cls')
31
- sleep 0.3
32
- automation = automation == 'appium' ? choose_mobile_platform : automation
29
+ return choose_mobile_platform if automation == 'appium'
30
+
33
31
  select_test_framework(automation)
34
32
  end
35
33
 
@@ -40,12 +38,11 @@ class MenuGenerator
40
38
  end
41
39
 
42
40
  def choose_mobile_platform
43
- @cli.choose do |menu|
44
- menu.prompt = 'Please select your mobile platform'
45
- menu.choice('iOS') { 'appium_ios' }
46
- error_handling(menu, 'Android')
47
- error_handling(menu, 'Cross Platform')
48
- menu.choice('Quit') { exit }
41
+ prompt.select('Please select your mobile platform') do |menu|
42
+ menu.choice :iOS, -> { choose_test_framework 'appium_ios' }
43
+ menu.choice :Android, -> { error_handling('Android') }
44
+ menu.choice :Cross_Platform, -> { error_handling('Cross Platform') }
45
+ menu.choice :Quit, -> { exit }
49
46
  end
50
47
  end
51
48
 
@@ -57,26 +54,20 @@ class MenuGenerator
57
54
 
58
55
  private
59
56
 
60
- def framework_choice(invoker, framework, automation_type)
61
- invoker.choice(framework) do
62
- set_framework(automation_type, framework.downcase)
63
- @cli.say("You have chosen to use #{framework} with #{automation_type}")
64
- end
57
+ def framework_choice(framework, automation_type)
58
+ set_framework(automation_type, framework.downcase)
59
+ prompt.say("You have chosen to use #{framework} with #{automation_type}")
65
60
  end
66
61
 
67
- def error_handling(invoker, platform)
68
- invoker.choice(platform) do
69
- pp "#{platform} appium is coming soon. Thank you for the interest"
70
- exit
71
- end
62
+ def error_handling(platform)
63
+ pp "#{platform} appium is coming soon. Thank you for the interest"
72
64
  end
73
65
 
74
66
  def select_test_framework(automation)
75
- @cli.choose do |menu|
76
- menu.prompt = 'Please select your test framework'
77
- framework_choice(menu, 'Rspec', automation)
78
- framework_choice(menu, 'Cucumber', automation)
79
- menu.choice('Quit') { exit }
67
+ prompt.select('Please select your test framework') do |menu|
68
+ menu.choice :Cucumber, -> { framework_choice('Rspec', automation) }
69
+ menu.choice :Rspec, -> { framework_choice('Cucumber', automation) }
70
+ menu.choice :Quit, -> { exit }
80
71
  end
81
72
  end
82
73
 
data/ruby_raider.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'ruby_raider'
5
- s.version = '0.3.6'
5
+ s.version = '0.3.7'
6
6
  s.summary = 'A gem to make setup and start of UI automation projects easier'
7
7
  s.description = 'This gem has everything you need to start working with test automation'
8
8
  s.authors = ['Agustin Pequeno']
@@ -19,6 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.add_development_dependency 'rubocop', '~> 1.27'
20
20
  s.add_development_dependency 'rubocop-rspec', '~> 2.9.0'
21
21
 
22
- s.add_runtime_dependency 'highline', '~> 2.0.3'
23
22
  s.add_runtime_dependency 'thor', '~> 1.2.1'
23
+ s.add_runtime_dependency 'tty-prompt', '~> 0.23.1'
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_raider
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Pequeno
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-23 00:00:00.000000000 Z
11
+ date: 2022-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -81,33 +81,33 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: 2.9.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: highline
84
+ name: thor
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 2.0.3
89
+ version: 1.2.1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.0.3
96
+ version: 1.2.1
97
97
  - !ruby/object:Gem::Dependency
98
- name: thor
98
+ name: tty-prompt
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.2.1
103
+ version: 0.23.1
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.2.1
110
+ version: 0.23.1
111
111
  description: This gem has everything you need to start working with test automation
112
112
  email: agustin.pe94@gmail.com
113
113
  executables: