webdrone 1.0.4 → 1.0.6
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 +4 -4
- data/lib/webdrone.rb +7 -1
- data/lib/webdrone/browser.rb +50 -3
- data/lib/webdrone/clic.rb +1 -1
- data/lib/webdrone/conf.rb +3 -3
- data/lib/webdrone/ctxt.rb +7 -7
- data/lib/webdrone/error.rb +12 -37
- data/lib/webdrone/exec.rb +1 -1
- data/lib/webdrone/find.rb +7 -7
- data/lib/webdrone/form.rb +7 -7
- data/lib/webdrone/html.rb +1 -1
- data/lib/webdrone/mark.rb +1 -1
- data/lib/webdrone/open.rb +2 -2
- data/lib/webdrone/shot.rb +1 -1
- data/lib/webdrone/text.rb +2 -2
- data/lib/webdrone/version.rb +1 -1
- data/lib/webdrone/wait.rb +2 -2
- data/lib/webdrone/xlsx.rb +5 -5
- data/webdrone.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49628fa13c5065c1432da4106b3cc5f012f6b4ad
|
4
|
+
data.tar.gz: 3eca80c42e15e21a427580b35b93d856ca830fec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32822abff939fbb3e3ad74c5b8a433ec90809b582909755048766d7a184a91952af4d85e5cc082302240d5e516070ef01825098d8f27789cb6a06e9882b983a0
|
7
|
+
data.tar.gz: 46d5e8ffefd7b389efbbcb9439913239a9efea7bc063732278769534edd9fa42d526e26c8bf69b7b27a4f858cf1dfe4baad3dcd272ae81a886e17454e3839442
|
data/lib/webdrone.rb
CHANGED
@@ -23,6 +23,7 @@ require 'irb'
|
|
23
23
|
require 'fileutils'
|
24
24
|
require 'binding_of_caller'
|
25
25
|
require 'pathname'
|
26
|
+
require 'pry'
|
26
27
|
|
27
28
|
module Webdrone
|
28
29
|
def self.create(*args)
|
@@ -31,7 +32,7 @@ module Webdrone
|
|
31
32
|
begin
|
32
33
|
yield a0
|
33
34
|
rescue => exception
|
34
|
-
Webdrone.report_error(a0, exception
|
35
|
+
Webdrone.report_error(a0, exception)
|
35
36
|
ensure
|
36
37
|
a0.quit
|
37
38
|
end
|
@@ -45,6 +46,11 @@ module Webdrone
|
|
45
46
|
binding = Kernel.binding.of_caller(1) if binding == nil
|
46
47
|
IRB.start_session(binding)
|
47
48
|
end
|
49
|
+
|
50
|
+
def self.pry_console(binding = nil)
|
51
|
+
binding = Kernel.binding_of_caller(1) unless binding
|
52
|
+
binding.pry
|
53
|
+
end
|
48
54
|
end
|
49
55
|
|
50
56
|
module IRB
|
data/lib/webdrone/browser.rb
CHANGED
@@ -25,7 +25,22 @@ module Webdrone
|
|
25
25
|
@@chrome_prefs
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
28
|
+
def env_update(binding)
|
29
|
+
ENV.keys.select { |env| env.start_with? 'WEBDRONE_' }.each do |env|
|
30
|
+
v = env[9..-1].downcase.to_sym
|
31
|
+
if binding.local_variable_defined? v
|
32
|
+
o = binding.local_variable_get(v)
|
33
|
+
n = ENV[env]
|
34
|
+
binding.local_variable_set(v, n)
|
35
|
+
puts "Webdrone info: overriding #{v} from '#{o}' to '#{n}'."
|
36
|
+
else
|
37
|
+
puts "Webdrone warn: unknown environment #{env}."
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def initialize(browser: 'firefox', create_outdir: true, outdir: nil, timeout:, developer: false, quit_at_exit: false, maximize: true, error: :raise_report, win_x: nil, win_y: nil, win_w: nil, win_h: nil, use_env: true, chrome_prefs: nil, firefox_profile: nil)
|
43
|
+
env_update(Kernel.binding) if use_env
|
29
44
|
if create_outdir or outdir
|
30
45
|
outdir ||= File.join("webdrone_output", Time.new.strftime('%Y%m%d_%H%M%S'))
|
31
46
|
self.conf.outdir = outdir
|
@@ -43,10 +58,42 @@ module Webdrone
|
|
43
58
|
else
|
44
59
|
@driver = Selenium::WebDriver.for browser.to_sym
|
45
60
|
end
|
46
|
-
|
61
|
+
if quit_at_exit
|
62
|
+
at_exit do
|
63
|
+
begin
|
64
|
+
@driver.quit
|
65
|
+
rescue
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
self.conf.error = error.to_sym
|
47
70
|
self.conf.developer = developer
|
48
71
|
self.conf.timeout = timeout if timeout
|
49
|
-
|
72
|
+
|
73
|
+
if developer
|
74
|
+
win_x = win_y = 0
|
75
|
+
win_w = 0.5
|
76
|
+
win_h = 1.0
|
77
|
+
end
|
78
|
+
if win_x or win_y or win_w or win_h
|
79
|
+
x, y, w, h = self.exec.script 'return [window.screenLeft ? window.screenLeft : window.screenX, window.screenTop ? window.screenTop : window.screenY, window.screen.availWidth, window.screen.availHeight];'
|
80
|
+
win_x ||= x
|
81
|
+
win_y ||= y
|
82
|
+
if win_w.is_a? Float
|
83
|
+
win_w = (w * win_w).to_i
|
84
|
+
else
|
85
|
+
win_w ||= w
|
86
|
+
end
|
87
|
+
if win_h.is_a? Float
|
88
|
+
win_h = (h * win_h).to_i
|
89
|
+
else
|
90
|
+
win_h ||= h
|
91
|
+
end
|
92
|
+
@driver.manage.window.position= Selenium::WebDriver::Point.new win_x, win_y
|
93
|
+
@driver.manage.window.resize_to(win_w, win_h)
|
94
|
+
else
|
95
|
+
self.maximize if maximize
|
96
|
+
end
|
50
97
|
end
|
51
98
|
|
52
99
|
def maximize
|
data/lib/webdrone/clic.rb
CHANGED
data/lib/webdrone/conf.rb
CHANGED
@@ -18,21 +18,21 @@ module Webdrone
|
|
18
18
|
@timeout = val
|
19
19
|
@a0.driver.manage.timeouts.implicit_wait = val
|
20
20
|
rescue => exception
|
21
|
-
Webdrone.report_error(@a0, exception
|
21
|
+
Webdrone.report_error(@a0, exception)
|
22
22
|
end
|
23
23
|
|
24
24
|
def outdir=(val)
|
25
25
|
@outdir = val
|
26
26
|
FileUtils.mkdir_p val
|
27
27
|
rescue => exception
|
28
|
-
Webdrone.report_error(@a0, exception
|
28
|
+
Webdrone.report_error(@a0, exception)
|
29
29
|
end
|
30
30
|
|
31
31
|
def error=(val)
|
32
32
|
raise "Invalid value '#{val}' for error" if not [:raise_report, :raise, :ignore].include? val
|
33
33
|
@error = val
|
34
34
|
rescue => exception
|
35
|
-
Webdrone.report_error(@a0, exception
|
35
|
+
Webdrone.report_error(@a0, exception)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/lib/webdrone/ctxt.rb
CHANGED
@@ -17,14 +17,14 @@ module Webdrone
|
|
17
17
|
@a0.exec.script "function a0_ctx_create_tab() { var w = window.open(); w.document.open(); w.document.write('A0 CTXT CREATE TAB'); w.document.close(); } a0_ctx_create_tab();"
|
18
18
|
@a0.driver.switch_to.window @a0.driver.window_handles.last
|
19
19
|
rescue => exception
|
20
|
-
Webdrone.report_error(@a0, exception
|
20
|
+
Webdrone.report_error(@a0, exception)
|
21
21
|
end
|
22
22
|
|
23
23
|
def close_tab
|
24
24
|
@a0.driver.close
|
25
25
|
@a0.driver.switch_to.window @a0.driver.window_handles.last
|
26
26
|
rescue => exception
|
27
|
-
Webdrone.report_error(@a0, exception
|
27
|
+
Webdrone.report_error(@a0, exception)
|
28
28
|
end
|
29
29
|
|
30
30
|
def with_frame(name)
|
@@ -41,14 +41,14 @@ module Webdrone
|
|
41
41
|
end
|
42
42
|
name
|
43
43
|
rescue => exception
|
44
|
-
Webdrone.report_error(@a0, exception
|
44
|
+
Webdrone.report_error(@a0, exception)
|
45
45
|
end
|
46
46
|
|
47
47
|
def reset
|
48
48
|
@a0.driver.switch_to.default_content
|
49
49
|
@framestack = []
|
50
50
|
rescue => exception
|
51
|
-
Webdrone.report_error(@a0, exception
|
51
|
+
Webdrone.report_error(@a0, exception)
|
52
52
|
end
|
53
53
|
|
54
54
|
def with_alert
|
@@ -56,13 +56,13 @@ module Webdrone
|
|
56
56
|
yield @a0.driver.switch_to.alert
|
57
57
|
end
|
58
58
|
rescue => exception
|
59
|
-
Webdrone.report_error(@a0, exception
|
59
|
+
Webdrone.report_error(@a0, exception)
|
60
60
|
end
|
61
61
|
|
62
62
|
def ignore_alert
|
63
63
|
@a0.exec.script 'alert = function(message){return true;};'
|
64
64
|
rescue => exception
|
65
|
-
Webdrone.report_error(@a0, exception
|
65
|
+
Webdrone.report_error(@a0, exception)
|
66
66
|
end
|
67
67
|
|
68
68
|
def with_conf(new_config)
|
@@ -75,7 +75,7 @@ module Webdrone
|
|
75
75
|
|
76
76
|
yield
|
77
77
|
rescue => exception
|
78
|
-
Webdrone.report_error(@a0, exception
|
78
|
+
Webdrone.report_error(@a0, exception)
|
79
79
|
ensure
|
80
80
|
current_config.each do |k, v|
|
81
81
|
@a0.conf.send "#{k}=", v
|
data/lib/webdrone/error.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Webdrone
|
2
|
-
class WebdroneError <
|
3
|
-
attr_reader :original, :a0, :caller_locations, :
|
2
|
+
class WebdroneError < RuntimeError
|
3
|
+
attr_reader :original, :a0, :caller_locations, :caller_location_index
|
4
|
+
|
4
5
|
def initialize(msg, original = $!, a0, caller_locations)
|
5
6
|
super(msg)
|
6
7
|
@original = original
|
@@ -10,9 +11,10 @@ module Webdrone
|
|
10
11
|
|
11
12
|
begin
|
12
13
|
# find location of user error
|
13
|
-
@caller_locations[0..-1].
|
14
|
+
@caller_locations[0..-1].each_with_index do |location, index|
|
14
15
|
if Gem.path.none? { |path| location.path.include? path }
|
15
16
|
@location = location
|
17
|
+
@caller_location_index = index
|
16
18
|
break
|
17
19
|
end
|
18
20
|
end
|
@@ -125,44 +127,17 @@ module Webdrone
|
|
125
127
|
|
126
128
|
dump_error_report
|
127
129
|
end
|
128
|
-
|
129
|
-
def start_console
|
130
|
-
return if @consoled
|
131
|
-
@consoled = true
|
132
|
-
while true do
|
133
|
-
write_title "DEVELOPER CONSOLE"
|
134
|
-
print "Enter stack index [#{@caller_index}] or 'exit': "
|
135
|
-
input = gets.chomp
|
136
|
-
break if input.include? 'exit'
|
137
|
-
begin
|
138
|
-
@caller_index = input.to_i if not input.empty?
|
139
|
-
location = @original.backtrace_locations[@caller_index]
|
140
|
-
raise '' if location == nil
|
141
|
-
rescue => e
|
142
|
-
puts "** INVALID STACK NUMBER **"
|
143
|
-
next
|
144
|
-
end
|
145
|
-
|
146
|
-
@a0.ctxt.with_conf error: :raise, developer: false do
|
147
|
-
begin
|
148
|
-
index = Kernel.caller_locations.index do |item|
|
149
|
-
item.path == location.path and item.lineno == location.lineno
|
150
|
-
end
|
151
|
-
Webdrone.irb_console Kernel.binding.of_caller(index + 1) if index != nil
|
152
|
-
rescue => e
|
153
|
-
puts "** INVALID STACK NUMBER #{e} **"
|
154
|
-
end
|
155
|
-
end
|
156
|
-
report_exception
|
157
|
-
end
|
158
|
-
end
|
159
130
|
end
|
160
131
|
|
161
|
-
def self.report_error(a0, exception
|
132
|
+
def self.report_error(a0, exception)
|
162
133
|
return if a0.conf.error == :ignore
|
163
|
-
|
134
|
+
if exception.class != WebdroneError
|
135
|
+
exception = WebdroneError.new(exception.message, exception, a0, Kernel.caller_locations)
|
136
|
+
if a0.conf.developer and not exception.caller_location_index.nil?
|
137
|
+
Kernel.binding.of_caller(exception.caller_location_index + 1).pry
|
138
|
+
end
|
139
|
+
end
|
164
140
|
|
165
|
-
exception.start_console if a0.conf.developer
|
166
141
|
raise exception if a0.conf.error == :raise or a0.conf.error == :raise_report
|
167
142
|
end
|
168
143
|
end
|
data/lib/webdrone/exec.rb
CHANGED
data/lib/webdrone/find.rb
CHANGED
@@ -18,7 +18,7 @@ module Webdrone
|
|
18
18
|
choose(items, n, all, visible)
|
19
19
|
end
|
20
20
|
rescue => exception
|
21
|
-
Webdrone.report_error(@a0, exception
|
21
|
+
Webdrone.report_error(@a0, exception)
|
22
22
|
end
|
23
23
|
|
24
24
|
def css(text, n: 1, all: false, visible: true)
|
@@ -27,31 +27,31 @@ module Webdrone
|
|
27
27
|
choose(items, n, all, visible)
|
28
28
|
end
|
29
29
|
rescue => exception
|
30
|
-
Webdrone.report_error(@a0, exception
|
30
|
+
Webdrone.report_error(@a0, exception)
|
31
31
|
end
|
32
32
|
|
33
33
|
def link(text, n: 1, all: false, visible: true)
|
34
34
|
self.xpath XPath::HTML.link(text).to_s, n: n, all: all, visible: visible
|
35
35
|
rescue => exception
|
36
|
-
Webdrone.report_error(@a0, exception
|
36
|
+
Webdrone.report_error(@a0, exception)
|
37
37
|
end
|
38
38
|
|
39
39
|
def button(text, n: 1, all: false, visible: true)
|
40
40
|
self.xpath XPath::HTML.button(text).to_s, n: n, all: all, visible: visible
|
41
41
|
rescue => exception
|
42
|
-
Webdrone.report_error(@a0, exception
|
42
|
+
Webdrone.report_error(@a0, exception)
|
43
43
|
end
|
44
44
|
|
45
45
|
def on(text, n: 1, all: false, visible: true)
|
46
46
|
self.xpath XPath::HTML.link_or_button(text).to_s, n: n, all: all, visible: visible
|
47
47
|
rescue => exception
|
48
|
-
Webdrone.report_error(@a0, exception
|
48
|
+
Webdrone.report_error(@a0, exception)
|
49
49
|
end
|
50
50
|
|
51
51
|
def option(text, n: 1, all: false, visible: true)
|
52
52
|
self.xpath XPath::HTML.option(text).to_s, n: n, all: all, visible: visible
|
53
53
|
rescue => exception
|
54
|
-
Webdrone.report_error(@a0, exception
|
54
|
+
Webdrone.report_error(@a0, exception)
|
55
55
|
end
|
56
56
|
|
57
57
|
def xpath(text, n: 1, all: false, visible: true)
|
@@ -60,7 +60,7 @@ module Webdrone
|
|
60
60
|
choose(items, n, all, visible)
|
61
61
|
end
|
62
62
|
rescue => exception
|
63
|
-
Webdrone.report_error(@a0, exception
|
63
|
+
Webdrone.report_error(@a0, exception)
|
64
64
|
end
|
65
65
|
|
66
66
|
protected
|
data/lib/webdrone/form.rb
CHANGED
@@ -16,7 +16,7 @@ module Webdrone
|
|
16
16
|
old_xpath, @xpath = @xpath, xpath
|
17
17
|
instance_eval &block
|
18
18
|
rescue => exception
|
19
|
-
Webdrone.report_error(@a0, exception
|
19
|
+
Webdrone.report_error(@a0, exception)
|
20
20
|
ensure
|
21
21
|
@xpath = old_xpath
|
22
22
|
end
|
@@ -31,32 +31,32 @@ module Webdrone
|
|
31
31
|
item.send_keys(val)
|
32
32
|
end
|
33
33
|
rescue => exception
|
34
|
-
Webdrone.report_error(@a0, exception
|
34
|
+
Webdrone.report_error(@a0, exception)
|
35
35
|
end
|
36
36
|
|
37
37
|
def get(key, n: 1, visible: true)
|
38
38
|
self.find_item(key, n: n, visible: visible)[:value]
|
39
39
|
rescue => exception
|
40
|
-
Webdrone.report_error(@a0, exception
|
40
|
+
Webdrone.report_error(@a0, exception)
|
41
41
|
end
|
42
42
|
|
43
43
|
def clic(key, n: 1, visible: true)
|
44
44
|
self.find_item(key, n: n, visible: visible).click
|
45
45
|
rescue => exception
|
46
|
-
Webdrone.report_error(@a0, exception
|
46
|
+
Webdrone.report_error(@a0, exception)
|
47
47
|
end
|
48
48
|
|
49
49
|
def mark(key, n: 1, visible: true, color: '#af1616', times: 3, sleep: 0.05)
|
50
50
|
@a0.mark.mark_item self.find_item(key, n: n, visible: visible), color: color, times: times, sleep: sleep
|
51
51
|
rescue => exception
|
52
|
-
Webdrone.report_error(@a0, exception
|
52
|
+
Webdrone.report_error(@a0, exception)
|
53
53
|
end
|
54
54
|
|
55
55
|
def submit(key = nil, n: 1, visible: true)
|
56
56
|
self.find_item(key, n: n, visible: visible) if key
|
57
57
|
@lastitem.submit
|
58
58
|
rescue => exception
|
59
|
-
Webdrone.report_error(@a0, exception
|
59
|
+
Webdrone.report_error(@a0, exception)
|
60
60
|
end
|
61
61
|
|
62
62
|
def xlsx(sheet: nil, filename: nil)
|
@@ -64,7 +64,7 @@ module Webdrone
|
|
64
64
|
self.set k, v
|
65
65
|
end
|
66
66
|
rescue => exception
|
67
|
-
Webdrone.report_error(@a0, exception
|
67
|
+
Webdrone.report_error(@a0, exception)
|
68
68
|
end
|
69
69
|
|
70
70
|
protected
|
data/lib/webdrone/html.rb
CHANGED
data/lib/webdrone/mark.rb
CHANGED
@@ -16,7 +16,7 @@ module Webdrone
|
|
16
16
|
item = @a0.find.send __callee__, text, n: n, all: all, visible: visible
|
17
17
|
mark_item item, color: color, times: times, sleep: sleep
|
18
18
|
rescue => exception
|
19
|
-
Webdrone.report_error(@a0, exception
|
19
|
+
Webdrone.report_error(@a0, exception)
|
20
20
|
end
|
21
21
|
|
22
22
|
alias_method :id, :mark
|
data/lib/webdrone/open.rb
CHANGED
@@ -15,13 +15,13 @@ module Webdrone
|
|
15
15
|
def url(url)
|
16
16
|
@a0.driver.get url
|
17
17
|
rescue => exception
|
18
|
-
Webdrone.report_error(@a0, exception
|
18
|
+
Webdrone.report_error(@a0, exception)
|
19
19
|
end
|
20
20
|
|
21
21
|
def reload
|
22
22
|
@a0.driver.navigate.refresh
|
23
23
|
rescue => exception
|
24
|
-
Webdrone.report_error(@a0, exception
|
24
|
+
Webdrone.report_error(@a0, exception)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
data/lib/webdrone/shot.rb
CHANGED
data/lib/webdrone/text.rb
CHANGED
@@ -20,7 +20,7 @@ module Webdrone
|
|
20
20
|
item.text
|
21
21
|
end
|
22
22
|
rescue => exception
|
23
|
-
Webdrone.report_error(@a0, exception
|
23
|
+
Webdrone.report_error(@a0, exception)
|
24
24
|
end
|
25
25
|
|
26
26
|
alias_method :id, :text
|
@@ -34,7 +34,7 @@ module Webdrone
|
|
34
34
|
def page_title
|
35
35
|
@a0.driver.title
|
36
36
|
rescue => exception
|
37
|
-
Webdrone.report_error(@a0, exception
|
37
|
+
Webdrone.report_error(@a0, exception)
|
38
38
|
end
|
39
39
|
|
40
40
|
protected :text
|
data/lib/webdrone/version.rb
CHANGED
data/lib/webdrone/wait.rb
CHANGED
@@ -26,13 +26,13 @@ module Webdrone
|
|
26
26
|
yield
|
27
27
|
end
|
28
28
|
rescue => exception
|
29
|
-
Webdrone.report_error(@a0, exception
|
29
|
+
Webdrone.report_error(@a0, exception)
|
30
30
|
end
|
31
31
|
|
32
32
|
def time(val)
|
33
33
|
sleep val
|
34
34
|
rescue => exception
|
35
|
-
Webdrone.report_error(@a0, exception
|
35
|
+
Webdrone.report_error(@a0, exception)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/lib/webdrone/xlsx.rb
CHANGED
@@ -30,7 +30,7 @@ module Webdrone
|
|
30
30
|
end
|
31
31
|
@dict
|
32
32
|
rescue => exception
|
33
|
-
Webdrone.report_error(@a0, exception
|
33
|
+
Webdrone.report_error(@a0, exception)
|
34
34
|
end
|
35
35
|
|
36
36
|
def rows(sheet: nil, filename: nil)
|
@@ -47,7 +47,7 @@ module Webdrone
|
|
47
47
|
end
|
48
48
|
@rows
|
49
49
|
rescue => exception
|
50
|
-
Webdrone.report_error(@a0, exception
|
50
|
+
Webdrone.report_error(@a0, exception)
|
51
51
|
end
|
52
52
|
|
53
53
|
def both(sheet: nil, filename: nil)
|
@@ -72,7 +72,7 @@ module Webdrone
|
|
72
72
|
end
|
73
73
|
@both
|
74
74
|
rescue => exception
|
75
|
-
Webdrone.report_error(@a0, exception
|
75
|
+
Webdrone.report_error(@a0, exception)
|
76
76
|
end
|
77
77
|
|
78
78
|
|
@@ -117,13 +117,13 @@ module Webdrone
|
|
117
117
|
k = workbook.write(@filename)
|
118
118
|
reset
|
119
119
|
rescue => exception
|
120
|
-
Webdrone.report_error(@a0, exception
|
120
|
+
Webdrone.report_error(@a0, exception)
|
121
121
|
end
|
122
122
|
|
123
123
|
def reset()
|
124
124
|
@dict = @rows = @both = nil
|
125
125
|
rescue => exception
|
126
|
-
Webdrone.report_error(@a0, exception
|
126
|
+
Webdrone.report_error(@a0, exception)
|
127
127
|
end
|
128
128
|
|
129
129
|
protected
|
data/webdrone.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webdrone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aldrin Martoq
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: pry
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
153
167
|
description: See webpage for more info.
|
154
168
|
email:
|
155
169
|
- a@a0.cl
|