qat-web 6.1.1 → 6.1.2

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: e6f1ec8c446b1ea163550341bd6a2ef66265e21bd9dd6d2991e32f43b3d9507c
4
- data.tar.gz: 41939bd3fa32fd3dd08dd666309c32a23b900abbad3ee3629ddd8689eaab9192
3
+ metadata.gz: b139c8ff3dd4845860ed7321a1579b2da3862edb80c558ab6fa490925da1745f
4
+ data.tar.gz: 34c03e5fbc0a8a2398a329da7ac8dbf4fa4b01f02df1a36b938f0c5e33629558
5
5
  SHA512:
6
- metadata.gz: added5734bfe8e227f27598c3a581c397f8a5a1b8cd9b345f3dac0b1ea318db1eaa80ad34fd4a4516b60b5acfee5eccc43c5b5c6e2391e36d9e46f503fc4113b
7
- data.tar.gz: 14d5cde76a68f5f5d2e6f80d6550f8aebdc988666e42809bc5eea20e688f44a2d7e56d30de0763ffb0819ba010710296beab173d38ebd010bfe862368771a89b
6
+ metadata.gz: 20dfc0a4cba7e6d58e05f0ae1f22fbcf27e6dacb7e25d8ae4050ad6c03cf89e533878297d5a40e3231f24d105ad3638fcc10e78b08d5a5eb8b3c4839920ff899
7
+ data.tar.gz: ed51c2e09b67d66efd0cad775aee5aa40600a970fa757e74186d2761e8630313b7f21beec498061daf5fbe2535abd3144fe5da788f976c43baeb73b9b18fa487
@@ -1,32 +1,57 @@
1
1
  require_relative '../../../lib/qat/web/version'
2
2
  require 'fileutils'
3
+ require 'gemnasium/parser'
4
+
3
5
  module QAT::Web
4
6
  #Module for the various generators used in the CLI utility
5
7
  #@since 6.1.0
6
8
  module Generator
7
9
  include FileUtils
8
10
  extend FileUtils
9
-
10
11
  # Adds a files QAT Web module to the current project
11
12
  def add_module(stdout, opts)
12
-
13
13
  stdout.puts "Adding files to project" if opts[:verbose]
14
- cp_r ::File.join(::File.dirname(__FILE__), 'generator', 'project', '.'), Dir.pwd, opts
15
- ::File.write('Gemfile', <<-GEMFILE, mode: 'a')
16
-
17
14
 
15
+ # Read GemFile of new project
16
+ path = File.join(Dir.pwd, 'Gemfile')
17
+ has_qatweb = verify_gems path, 'qat-web', verbose: opts[:verbose]
18
+ if has_qatweb
19
+ puts "Module already integrated"
20
+ else
21
+ add_gem_dependency path, 'qat-web', verbose: opts[:verbose], version: QAT::Web::VERSION
22
+ add_gem_dependency path, 'headless', verbose: opts[:verbose]
23
+ add_gem_dependency path, 'selenium-webdriver', verbose: opts[:verbose]
24
+ cp_r ::File.join(::File.dirname(__FILE__), 'generator', 'project', '.'), Dir.pwd, opts
25
+ end
26
+ end
27
+
28
+ def verify_gems (gemfile_path, gem, opts = {})
29
+ file = File.read(gemfile_path)
30
+ gemfile = Gemnasium::Parser.gemfile(file)
31
+ dependencies = gemfile.dependencies
32
+ found_gem = dependencies.find {|i| i.name == gem}
33
+ puts "Found gem: #{found_gem}"
34
+ puts "gem #{gem} found? #{!found_gem.nil?}" if opts[:verbose]
35
+
36
+ if found_gem
37
+ return true
38
+ else
39
+ return false
40
+ end
41
+ end
18
42
 
19
- # QAT-Web is a browser controller for Web testing (https://github.com/readiness-it/qat-web)
20
- gem 'qat-web', '~> 6.1'
43
+ def add_gem_dependency (gemfile_path, gem, opts = {})
44
+ version = opts[:version]
45
+ line = "\n\ngem '#{gem}'#{version ? ", '>= #{version}'" : ''}"
46
+ puts "adding dependencies #{gem} to Gemfile" if opts[:verbose]
47
+ write_to_gemfile gemfile_path, line
48
+ end
21
49
 
22
- # Ruby headless display interface (http://leonid.shevtsov.me/en/headless)
23
- gem 'headless' #optional
24
50
 
25
- # The next generation developer focused tool for automated testing of webapps (https://github.com/seleniumhq/selenium)
26
- gem 'selenium-webdriver' #optional
27
- GEMFILE
51
+ def write_to_gemfile filename, line
52
+ ::File.write(filename, line, mode: 'a')
28
53
  end
29
54
 
30
- module_function :add_module
55
+ module_function :add_module, :write_to_gemfile, :add_gem_dependency, :verify_gems
31
56
  end
32
57
  end
@@ -4,6 +4,6 @@ module QAT
4
4
  #@since 1.0.0
5
5
  module Web
6
6
  # Represents QAT-Web's version
7
- VERSION = '6.1.1'
7
+ VERSION = '6.1.2'
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qat-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.1
4
+ version: 6.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - QAT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-04 00:00:00.000000000 Z
11
+ date: 2019-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: qat-cucumber
@@ -120,6 +120,20 @@ dependencies:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: gemnasium-parser
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
123
137
  - !ruby/object:Gem::Dependency
124
138
  name: qat-logger
125
139
  requirement: !ruby/object:Gem::Requirement