capy 1.1.2 → 1.2.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.
- data/.gitignore +18 -0
- data/README.md +1 -4
- data/lib/capy.rb +15 -14
- data/lib/capy/version.rb +1 -1
- metadata +46 -75
data/.gitignore
ADDED
data/README.md
CHANGED
@@ -21,6 +21,7 @@ Write script
|
|
21
21
|
visit 'http://www.wikipedia.org/'
|
22
22
|
fill_in 'search', :with => 'ruby'
|
23
23
|
click_on ' → '
|
24
|
+
stop
|
24
25
|
|
25
26
|
and
|
26
27
|
|
@@ -30,10 +31,6 @@ Change the browser:
|
|
30
31
|
|
31
32
|
$ capy -b firefox example.capy
|
32
33
|
|
33
|
-
Run as nonstop mode:
|
34
|
-
|
35
|
-
$ capy -n example.capy
|
36
|
-
|
37
34
|
## Contributing
|
38
35
|
|
39
36
|
1. Fork it
|
data/lib/capy.rb
CHANGED
@@ -12,18 +12,16 @@ module Capy
|
|
12
12
|
@opts = Slop.parse!(args, :help => true) do
|
13
13
|
banner "capy [script.capy]\n"
|
14
14
|
on :b, :browser=, 'chrome, firefox', :default => 'chrome'
|
15
|
-
on :h, :host=, 'app host'
|
16
|
-
on :n, :nonstop
|
17
15
|
end
|
18
16
|
exit if opts.help?
|
19
17
|
|
18
|
+
trap('INT') { exit }
|
19
|
+
|
20
20
|
Capybara.register_driver :selenium do |app|
|
21
21
|
Capybara::Selenium::Driver.new(app, :browser => opts[:browser].to_sym)
|
22
22
|
end
|
23
23
|
Capybara.current_driver = :selenium
|
24
24
|
|
25
|
-
Capybara.app_host = opts[:host] if opts[:host]
|
26
|
-
|
27
25
|
if args.empty?
|
28
26
|
start_shell
|
29
27
|
else
|
@@ -35,11 +33,14 @@ module Capy
|
|
35
33
|
end
|
36
34
|
end
|
37
35
|
|
36
|
+
EXIT_COMMANDS = %w(exit quit)
|
37
|
+
|
38
38
|
def start_shell(evaluater = Evaluater.new)
|
39
|
-
|
39
|
+
return if @_start_shell
|
40
|
+
@_start_shell = true
|
40
41
|
|
41
42
|
Readline.completion_proc = lambda do |text|
|
42
|
-
(Evaluater.instance_methods - Object.methods +
|
43
|
+
(Evaluater.instance_methods - Object.methods + EXIT_COMMANDS).grep(/^#{Regexp.quote(text.strip)}/)
|
43
44
|
end
|
44
45
|
|
45
46
|
history_file = File.expand_path('~/.capy_history')
|
@@ -50,20 +51,18 @@ module Capy
|
|
50
51
|
each { |line| Readline::HISTORY << line }
|
51
52
|
end
|
52
53
|
|
53
|
-
puts 'Type `exit` to exit'
|
54
|
-
|
55
54
|
while buf = Readline.readline('> ', true)
|
56
55
|
unless Readline::HISTORY.count == 1
|
57
56
|
Readline::HISTORY.pop if buf.empty? || Readline::HISTORY[-1] == Readline::HISTORY[-2]
|
58
57
|
end
|
59
58
|
|
60
59
|
case buf.strip
|
61
|
-
when *
|
60
|
+
when *EXIT_COMMANDS
|
62
61
|
File.open(history_file, 'w') do |file|
|
63
62
|
lines = Readline::HISTORY.to_a[([Readline::HISTORY.size - 1000, 0].max)..-1]
|
64
63
|
file.print(lines.join("\n"))
|
65
64
|
end
|
66
|
-
|
65
|
+
return
|
67
66
|
else
|
68
67
|
begin
|
69
68
|
result = evaluater.instance_eval(buf)
|
@@ -73,6 +72,8 @@ module Capy
|
|
73
72
|
end
|
74
73
|
end
|
75
74
|
end
|
75
|
+
|
76
|
+
@_start_shell = false
|
76
77
|
end
|
77
78
|
|
78
79
|
def eval_script(script_file)
|
@@ -80,10 +81,6 @@ module Capy
|
|
80
81
|
evaluater.instance_eval(File.read(script_file), script_file, 1)
|
81
82
|
rescue => e
|
82
83
|
error e
|
83
|
-
ensure
|
84
|
-
unless opts.nonstop?
|
85
|
-
start_shell(evaluater)
|
86
|
-
end
|
87
84
|
end
|
88
85
|
|
89
86
|
private
|
@@ -100,5 +97,9 @@ module Capy
|
|
100
97
|
def host(app_host)
|
101
98
|
Capybara.app_host = app_host
|
102
99
|
end
|
100
|
+
|
101
|
+
def stop
|
102
|
+
Capy.start_shell(self)
|
103
|
+
end
|
103
104
|
end
|
104
105
|
end
|
data/lib/capy/version.rb
CHANGED
metadata
CHANGED
@@ -1,76 +1,58 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: capy
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 2
|
10
|
-
version: 1.1.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.0
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- jugyo
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-04-24 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: slop
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70095394509140 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
18
|
+
requirements:
|
27
19
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 3
|
32
|
-
- 1
|
33
|
-
version: "3.1"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.1'
|
34
22
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: capybara
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: *70095394509140
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: capybara
|
27
|
+
requirement: &70095394508720 !ruby/object:Gem::Requirement
|
40
28
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 0
|
47
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
48
33
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: colored
|
52
34
|
prerelease: false
|
53
|
-
|
35
|
+
version_requirements: *70095394508720
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: colored
|
38
|
+
requirement: &70095394508260 !ruby/object:Gem::Requirement
|
54
39
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
segments:
|
60
|
-
- 0
|
61
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
62
44
|
type: :runtime
|
63
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70095394508260
|
64
47
|
description: Capybara Script Runner
|
65
|
-
email:
|
48
|
+
email:
|
66
49
|
- jugyo.org@gmail.com
|
67
|
-
executables:
|
50
|
+
executables:
|
68
51
|
- capy
|
69
52
|
extensions: []
|
70
|
-
|
71
53
|
extra_rdoc_files: []
|
72
|
-
|
73
|
-
|
54
|
+
files:
|
55
|
+
- .gitignore
|
74
56
|
- Gemfile
|
75
57
|
- LICENSE
|
76
58
|
- README.md
|
@@ -81,39 +63,28 @@ files:
|
|
81
63
|
- examples/wikipedia_search.capy
|
82
64
|
- lib/capy.rb
|
83
65
|
- lib/capy/version.rb
|
84
|
-
has_rdoc: true
|
85
66
|
homepage: https://github.com/jugyo
|
86
67
|
licenses: []
|
87
|
-
|
88
68
|
post_install_message:
|
89
69
|
rdoc_options: []
|
90
|
-
|
91
|
-
require_paths:
|
70
|
+
require_paths:
|
92
71
|
- lib
|
93
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
73
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
|
100
|
-
- 0
|
101
|
-
version: "0"
|
102
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
79
|
none: false
|
104
|
-
requirements:
|
105
|
-
- -
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
|
108
|
-
segments:
|
109
|
-
- 0
|
110
|
-
version: "0"
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
111
84
|
requirements: []
|
112
|
-
|
113
85
|
rubyforge_project:
|
114
|
-
rubygems_version: 1.
|
86
|
+
rubygems_version: 1.8.10
|
115
87
|
signing_key:
|
116
88
|
specification_version: 3
|
117
89
|
summary: The capy command to run the script written in Capybara DSL.
|
118
90
|
test_files: []
|
119
|
-
|