eyes_selenium 1.40.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/appium_eyes_example.rb +47 -47
- data/lib/eyes_selenium/eyes/agent_connector.rb +22 -13
- data/lib/eyes_selenium/eyes/eyes.rb +44 -23
- data/lib/eyes_selenium/version.rb +1 -1
- data/test_script.rb +4 -6
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NzdkZDQxZTEzMDFlYTc5YWI5Mzg3Yzk0NmNjZDYyMzhlNDlmOThkZA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 044cf5e9768b727cff07d095e52743a1fb7de84f
|
4
|
+
data.tar.gz: c21b7f05504ef82c53736aede6362db9b517078a
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ODA4ZDFkNzQ2MDQ3NTMzZThmYjkyMGJmOGIwNzQxZTA5ODMxNWQyZWM1ZmRl
|
11
|
-
Mjk4OGI1NWI1NDYyY2U0NjM3OWEwNDJiOTViM2EyYjQ0N2E3YTE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZmY1NzY2MGViNGUwMGZmY2EwMDQ4NzM1YTZhODMyOThjM2UxY2JjOTkwMGI0
|
14
|
-
NjMwNGQ0N2Q2MDc2MjJkNGIyYjljYWY2YWVkMGFjNTUyZWIyNThhMDU5MjBi
|
15
|
-
MDVlN2U0YmI4ZTM4YWU1YmQ4Yzk0ZTQ3ZDYwNTg1YWQ2NGQwYWE=
|
6
|
+
metadata.gz: a21b00d31a5e8bc57c53a3a19cc0c149994057c1c5f68bc3a4df9eb5f7c3607ca47f8994d67a2c9800878185758048081f15f2c88d48aa4ac7034190ab837fd3
|
7
|
+
data.tar.gz: 3c06337c9fbabdc89169b7baea3e02523eeae435841f74634d190fce8e1c49d1e27c0d623827f52f562ae2bc053e5c8cf218946cc6d9902162a2095d923d7465
|
data/appium_eyes_example.rb
CHANGED
@@ -1,47 +1,47 @@
|
|
1
|
-
require 'eyes_selenium'
|
2
|
-
|
3
|
-
Applitools::Eyes.api_key = 'YOUR_API_KEY'
|
4
|
-
|
5
|
-
##
|
6
|
-
# Based on Appium example: https://github.com/appium/appium/blob/master/sample-code/examples/ruby/
|
7
|
-
|
8
|
-
desired_capabilities = {
|
9
|
-
"device" => "Android",
|
10
|
-
"version" => "4.2",
|
11
|
-
"app" => "http://appium.s3.amazonaws.com/NotesList.apk",
|
12
|
-
"app-package" => "com.example.android.notepad",
|
13
|
-
"app-activity" => ".NotesList"
|
14
|
-
}
|
15
|
-
|
16
|
-
def create_note(text)
|
17
|
-
@driver.find_element(:name, "New note").click
|
18
|
-
@driver.find_element(:tag_name, "textfield").send_keys text
|
19
|
-
@eyes.check_window("Note: #{text}")
|
20
|
-
@driver.find_element(:name, "Save").click
|
21
|
-
end
|
22
|
-
|
23
|
-
def clear_note_by_text(text)
|
24
|
-
@driver.find_element(:name, "#{text}").click
|
25
|
-
@driver.find_element(:tag_name, "textfield").clear
|
26
|
-
@driver.find_element(:name, "Save").click
|
27
|
-
end
|
28
|
-
|
29
|
-
@eyes = Applitools::Eyes.new
|
30
|
-
begin
|
31
|
-
@driver = Selenium::WebDriver.for(:remote, :url => 'http://127.0.0.1:4723/wd/hub', :desired_capabilities => desired_capabilities)
|
32
|
-
@driver = @eyes.open(app_name: 'Selenium Israel', test_name: 'Appium Notepad', driver: @driver)
|
33
|
-
@eyes.check_window("No notes")
|
34
|
-
|
35
|
-
create_note "I didn't expect a kind of Spanish Inquisition!"
|
36
|
-
create_note "Nobody expects the Spanish Inquisition!"
|
37
|
-
@eyes.check_window("Two notes")
|
38
|
-
|
39
|
-
clear_note_by_text "I didn't expect a kind of Spanish Inquisition!"
|
40
|
-
@eyes.check_window("One note")
|
41
|
-
|
42
|
-
@eyes.close
|
43
|
-
ensure
|
44
|
-
sleep 5
|
45
|
-
@eyes.abort_if_not_closed
|
46
|
-
@driver.quit
|
47
|
-
end
|
1
|
+
require 'eyes_selenium'
|
2
|
+
|
3
|
+
Applitools::Eyes.api_key = 'YOUR_API_KEY'
|
4
|
+
|
5
|
+
##
|
6
|
+
# Based on Appium example: https://github.com/appium/appium/blob/master/sample-code/examples/ruby/
|
7
|
+
|
8
|
+
desired_capabilities = {
|
9
|
+
"device" => "Android",
|
10
|
+
"version" => "4.2",
|
11
|
+
"app" => "http://appium.s3.amazonaws.com/NotesList.apk",
|
12
|
+
"app-package" => "com.example.android.notepad",
|
13
|
+
"app-activity" => ".NotesList"
|
14
|
+
}
|
15
|
+
|
16
|
+
def create_note(text)
|
17
|
+
@driver.find_element(:name, "New note").click
|
18
|
+
@driver.find_element(:tag_name, "textfield").send_keys text
|
19
|
+
@eyes.check_window("Note: #{text}")
|
20
|
+
@driver.find_element(:name, "Save").click
|
21
|
+
end
|
22
|
+
|
23
|
+
def clear_note_by_text(text)
|
24
|
+
@driver.find_element(:name, "#{text}").click
|
25
|
+
@driver.find_element(:tag_name, "textfield").clear
|
26
|
+
@driver.find_element(:name, "Save").click
|
27
|
+
end
|
28
|
+
|
29
|
+
@eyes = Applitools::Eyes.new
|
30
|
+
begin
|
31
|
+
@driver = Selenium::WebDriver.for(:remote, :url => 'http://127.0.0.1:4723/wd/hub', :desired_capabilities => desired_capabilities)
|
32
|
+
@driver = @eyes.open(app_name: 'Selenium Israel', test_name: 'Appium Notepad', driver: @driver)
|
33
|
+
@eyes.check_window("No notes")
|
34
|
+
|
35
|
+
create_note "I didn't expect a kind of Spanish Inquisition!"
|
36
|
+
create_note "Nobody expects the Spanish Inquisition!"
|
37
|
+
@eyes.check_window("Two notes")
|
38
|
+
|
39
|
+
clear_note_by_text "I didn't expect a kind of Spanish Inquisition!"
|
40
|
+
@eyes.check_window("One note")
|
41
|
+
|
42
|
+
@eyes.close
|
43
|
+
ensure
|
44
|
+
sleep 5
|
45
|
+
@eyes.abort_if_not_closed
|
46
|
+
@driver.quit
|
47
|
+
end
|
@@ -4,13 +4,21 @@ class Applitools::AgentConnector
|
|
4
4
|
headers 'Accept' => 'application/json'
|
5
5
|
ssl_ca_file File.join(File.dirname(File.expand_path(__FILE__)), '../../../certs/cacert.pem').to_s
|
6
6
|
default_timeout 300
|
7
|
-
#debug_output $stdout # comment out when not debugging
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
# comment out when not debugging
|
9
|
+
#http_proxy 'localhost', 8888
|
10
|
+
#debug_output $stdout
|
11
|
+
|
12
|
+
attr_accessor :server_url, :api_key
|
13
|
+
|
14
|
+
def server_url=(server_url)
|
15
|
+
@server_url = server_url
|
16
|
+
# Remove trailing slashes in server url and add the running sessions endpoint uri.
|
17
|
+
@endpoint_uri = server_url.gsub(/\/$/,'') + '/api/sessions/running'
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(server_url)
|
21
|
+
self.server_url = server_url
|
14
22
|
end
|
15
23
|
|
16
24
|
def match_window(session, data)
|
@@ -18,26 +26,26 @@ class Applitools::AgentConnector
|
|
18
26
|
json_data = data.to_hash.to_json.force_encoding('BINARY') # Notice that this does not include the screenshot
|
19
27
|
body = [json_data.length].pack('L>') + json_data + data.screenshot
|
20
28
|
|
21
|
-
res = self.class.post(
|
22
|
-
raise Applitools::EyesError.new(
|
23
|
-
res.parsed_response[
|
29
|
+
res = self.class.post(@endpoint_uri + "/#{session.id}", query: {apiKey: api_key}, body: body)
|
30
|
+
raise Applitools::EyesError.new('could not connect to server') if res.code != 200
|
31
|
+
res.parsed_response['asExpected']
|
24
32
|
end
|
25
33
|
|
26
34
|
def start_session(session_start_info)
|
27
35
|
self.class.headers 'Content-Type' => 'application/json'
|
28
|
-
res = self.class.post(
|
36
|
+
res = self.class.post(@endpoint_uri, query: {apiKey: api_key}, body: { startInfo: session_start_info.to_hash }.to_json)
|
29
37
|
status_code = res.response.message
|
30
38
|
parsed_res = res.parsed_response
|
31
|
-
Applitools::Session.new(parsed_res[
|
39
|
+
Applitools::Session.new(parsed_res['id'], parsed_res['url'], status_code == 'Created' )
|
32
40
|
end
|
33
41
|
|
34
42
|
def stop_session(session, aborted=nil, save=false)
|
35
43
|
self.class.headers 'Content-Type' => 'application/json'
|
36
44
|
res = self.class.send_long_request('stop_session') do
|
37
|
-
self.class.delete(
|
45
|
+
self.class.delete(@endpoint_uri + "/#{session.id}", query: { aborted: aborted.to_s, updateBaseline: save.to_s, apiKey: api_key })
|
38
46
|
end
|
39
47
|
parsed_res = res.parsed_response
|
40
|
-
parsed_res.delete(
|
48
|
+
parsed_res.delete('$id')
|
41
49
|
Applitools::TestResults.new(*parsed_res.values)
|
42
50
|
end
|
43
51
|
|
@@ -47,6 +55,7 @@ class Applitools::AgentConnector
|
|
47
55
|
# Args:
|
48
56
|
# name: (String) name of the method being executed
|
49
57
|
# request_block: (block) The actual block to be executed. Will be called using "yield"
|
58
|
+
# noinspection RubyUnusedLocalVariable
|
50
59
|
def self.send_long_request(name, &request_block)
|
51
60
|
delay = 2 # seconds
|
52
61
|
|
@@ -1,32 +1,52 @@
|
|
1
1
|
class Applitools::Eyes
|
2
2
|
|
3
3
|
DEFAULT_MATCH_TIMEOUT = 2.0
|
4
|
-
|
4
|
+
BASE_AGENT_ID = 'eyes.selenium.ruby/' + Applitools::VERSION
|
5
5
|
DEFAULT_EYES_SERVER = 'https://eyessdk.applitools.com'
|
6
6
|
|
7
|
-
class << self
|
8
|
-
attr_accessor :api_key
|
9
|
-
|
10
|
-
def log_handler=(handler)
|
11
|
-
EyesLogger.log_handler = handler
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
# Class instance variables (static variables)
|
16
|
-
@api_key = nil
|
17
|
-
|
18
7
|
private
|
19
|
-
attr_reader :agent_connector
|
8
|
+
attr_reader :agent_connector, :full_agent_id
|
20
9
|
attr_accessor :session, :session_start_info, :match_window_task, :should_match_window_run_once_on_timeout,
|
21
10
|
:dont_get_title
|
22
11
|
|
23
12
|
public
|
24
|
-
attr_reader :
|
13
|
+
attr_reader :app_name, :test_name, :is_open, :viewport_size, :failure_reports, :match_level, :driver
|
25
14
|
attr_accessor :match_timeout, :batch, :host_os, :host_app, :branch_name, :parent_branch_name, :user_inputs,
|
26
|
-
:save_new_tests, :save_failed_tests
|
15
|
+
:save_new_tests, :save_failed_tests, :api_key, :is_disabled, :server_url, :agent_id, :log_handler
|
16
|
+
|
17
|
+
def log_handler
|
18
|
+
EyesLogger.log_handler
|
19
|
+
end
|
20
|
+
|
21
|
+
def log_handler=(handler)
|
22
|
+
EyesLogger.log_handler = handler
|
23
|
+
end
|
27
24
|
|
28
25
|
def api_key
|
29
|
-
|
26
|
+
@agent_connector.api_key
|
27
|
+
end
|
28
|
+
|
29
|
+
def api_key=(api_key)
|
30
|
+
@agent_connector.api_key = api_key
|
31
|
+
end
|
32
|
+
|
33
|
+
def server_url
|
34
|
+
@agent_connector.server_url
|
35
|
+
end
|
36
|
+
|
37
|
+
def server_url=(server_url)
|
38
|
+
if server_url.nil?
|
39
|
+
@agent_connector.server_url = DEFAULT_EYES_SERVER
|
40
|
+
else
|
41
|
+
@agent_connector.server_url = server_url
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def full_agent_id
|
46
|
+
if agent_id.nil?
|
47
|
+
return BASE_AGENT_ID
|
48
|
+
end
|
49
|
+
"#{agent_id} [#{BASE_AGENT_ID}]"
|
30
50
|
end
|
31
51
|
|
32
52
|
def title
|
@@ -42,13 +62,14 @@ class Applitools::Eyes
|
|
42
62
|
|
43
63
|
def initialize(params={})
|
44
64
|
|
45
|
-
@
|
65
|
+
@is_disabled = false
|
46
66
|
|
47
67
|
return if disabled?
|
48
68
|
|
69
|
+
@api_key = nil
|
49
70
|
@user_inputs = []
|
50
71
|
server_url = params.fetch(:server_url, DEFAULT_EYES_SERVER)
|
51
|
-
@agent_connector = Applitools::AgentConnector.new(server_url
|
72
|
+
@agent_connector = Applitools::AgentConnector.new(server_url)
|
52
73
|
@match_timeout = DEFAULT_MATCH_TIMEOUT
|
53
74
|
@failure_reports = Applitools::FailureReports::ON_CLOSE
|
54
75
|
@save_new_tests = true
|
@@ -146,8 +167,8 @@ class Applitools::Eyes
|
|
146
167
|
instructions = "Please approve the new baseline at #{session_results_url}"
|
147
168
|
EyesLogger.info "--- New test ended. #{instructions}"
|
148
169
|
if raise_ex
|
149
|
-
message = "'
|
150
|
-
" #{session_start_info.app_id_or_name}. #{instructions}"
|
170
|
+
message = "'#{session_start_info.scenario_id_or_name}' of"\
|
171
|
+
" '#{session_start_info.app_id_or_name}'. #{instructions}"
|
151
172
|
raise Applitools::NewTestError.new(message, results)
|
152
173
|
end
|
153
174
|
return results
|
@@ -158,7 +179,7 @@ class Applitools::Eyes
|
|
158
179
|
EyesLogger.info "--- Failed test ended. See details at #{session_results_url}"
|
159
180
|
if raise_ex
|
160
181
|
message = "'#{session_start_info.scenario_id_or_name}' of"\
|
161
|
-
"#{session_start_info.app_id_or_name}'
|
182
|
+
" '#{session_start_info.app_id_or_name}'. see details at #{session_results_url}"
|
162
183
|
raise Applitools::TestFailedError.new(message, results)
|
163
184
|
end
|
164
185
|
return results
|
@@ -207,7 +228,7 @@ class Applitools::Eyes
|
|
207
228
|
private
|
208
229
|
|
209
230
|
def disabled?
|
210
|
-
|
231
|
+
is_disabled
|
211
232
|
end
|
212
233
|
|
213
234
|
def get_driver(params)
|
@@ -246,7 +267,7 @@ class Applitools::Eyes
|
|
246
267
|
self.batch ||= Applitools::BatchInfo.new
|
247
268
|
app_env = Applitools::Environment.new(host_os, host_app, viewport_size, inferred_environment)
|
248
269
|
self.session_start_info = Applitools::StartInfo.new(
|
249
|
-
|
270
|
+
full_agent_id, app_name, test_name, batch, app_env, match_level, nil, branch_name, parent_branch_name
|
250
271
|
)
|
251
272
|
self.session = agent_connector.start_session(session_start_info)
|
252
273
|
self.should_match_window_run_once_on_timeout = session.new_session?
|
data/test_script.rb
CHANGED
@@ -1,16 +1,14 @@
|
|
1
|
-
## Before running this, please install ruby(installtion changes depending on machine)
|
2
|
-
## Then install rake via `gem install rake` (all ruby developers use this gem)
|
3
|
-
## run `./rake install` in applitools root directory (here), this should install the gem (after we release the gem, users will run `gem install eyes` instead
|
4
|
-
|
5
1
|
require 'eyes_selenium'
|
6
2
|
require 'logger'
|
7
3
|
|
8
|
-
|
9
|
-
|
4
|
+
# require 'openssl'
|
5
|
+
# OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
10
6
|
|
11
7
|
eyes = Applitools::Eyes.new
|
12
8
|
|
13
9
|
my_webdriver = Selenium::WebDriver.for :firefox
|
10
|
+
eyes.api_key = 'YOUR_API_KEY'
|
11
|
+
eyes.log_handler = Logger.new(STDOUT)
|
14
12
|
|
15
13
|
begin
|
16
14
|
eyes.test(app_name: 'Ruby SDK', test_name: 'Applitools website test', viewport_size: {width: 1024, height: 768}, driver: my_webdriver) do |driver|
|
metadata
CHANGED
@@ -1,125 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eyes_selenium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06
|
11
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.37'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.37'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: httparty
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: oily_png
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.1.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.1.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.3'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.3'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 2.2.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 2.2.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: capybara
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 2.1.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 2.1.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: sinatra
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
description: Applitools Ruby SDK
|
@@ -129,8 +129,8 @@ executables: []
|
|
129
129
|
extensions: []
|
130
130
|
extra_rdoc_files: []
|
131
131
|
files:
|
132
|
-
- .gitignore
|
133
|
-
- .rspec
|
132
|
+
- ".gitignore"
|
133
|
+
- ".rspec"
|
134
134
|
- Gemfile
|
135
135
|
- LICENSE.txt
|
136
136
|
- README.md
|
@@ -176,17 +176,17 @@ require_paths:
|
|
176
176
|
- lib
|
177
177
|
required_ruby_version: !ruby/object:Gem::Requirement
|
178
178
|
requirements:
|
179
|
-
- -
|
179
|
+
- - ">="
|
180
180
|
- !ruby/object:Gem::Version
|
181
181
|
version: '0'
|
182
182
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
|
-
- -
|
184
|
+
- - ">="
|
185
185
|
- !ruby/object:Gem::Version
|
186
186
|
version: '0'
|
187
187
|
requirements: []
|
188
188
|
rubyforge_project:
|
189
|
-
rubygems_version: 2.
|
189
|
+
rubygems_version: 2.2.2
|
190
190
|
signing_key:
|
191
191
|
specification_version: 4
|
192
192
|
summary: Applitools Ruby SDK
|