the_dude-web 0.0.1
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 +1 -0
- data/.rvmrc +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +55 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/lib/the_dude-web.rb +45 -0
- data/lib/the_dude-web/version.rb +5 -0
- data/the_dude-web.gemspec +19 -0
- metadata +124 -0
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pkg
|
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use --create 1.9.3@dude-web
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
the_dude-web (0.0.1)
|
5
|
+
capybara
|
6
|
+
json (~> 1.7.7)
|
7
|
+
selenium-webdriver
|
8
|
+
|
9
|
+
PATH
|
10
|
+
remote: ~/Projects/Development/Open Source/Ruby/Gems/TheDude/source/
|
11
|
+
specs:
|
12
|
+
the_dude (0.0.3)
|
13
|
+
colored
|
14
|
+
hirb
|
15
|
+
nokogiri
|
16
|
+
|
17
|
+
GEM
|
18
|
+
remote: https://rubygems.org/
|
19
|
+
specs:
|
20
|
+
capybara (2.1.0)
|
21
|
+
mime-types (>= 1.16)
|
22
|
+
nokogiri (>= 1.3.3)
|
23
|
+
rack (>= 1.0.0)
|
24
|
+
rack-test (>= 0.5.4)
|
25
|
+
xpath (~> 2.0)
|
26
|
+
childprocess (0.3.9)
|
27
|
+
ffi (~> 1.0, >= 1.0.11)
|
28
|
+
colored (1.2)
|
29
|
+
ffi (1.8.1)
|
30
|
+
hirb (0.7.1)
|
31
|
+
json (1.7.7)
|
32
|
+
mime-types (1.23)
|
33
|
+
multi_json (1.7.3)
|
34
|
+
nokogiri (1.5.9)
|
35
|
+
rack (1.5.2)
|
36
|
+
rack-test (0.6.2)
|
37
|
+
rack (>= 1.0)
|
38
|
+
rake (10.0.4)
|
39
|
+
rubyzip (0.9.9)
|
40
|
+
selenium-webdriver (2.32.1)
|
41
|
+
childprocess (>= 0.2.5)
|
42
|
+
multi_json (~> 1.0)
|
43
|
+
rubyzip
|
44
|
+
websocket (~> 1.0.4)
|
45
|
+
websocket (1.0.7)
|
46
|
+
xpath (2.0.0)
|
47
|
+
nokogiri (~> 1.3)
|
48
|
+
|
49
|
+
PLATFORMS
|
50
|
+
ruby
|
51
|
+
|
52
|
+
DEPENDENCIES
|
53
|
+
rake
|
54
|
+
the_dude!
|
55
|
+
the_dude-web!
|
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# TheDude-Web
|
2
|
+
|
3
|
+
Adds basic web integration to [TheDude](https://github.com/adamphillips/the_dude).
|
4
|
+
|
5
|
+
This consists of including some useful web libraries including Capybara,
|
6
|
+
net/http and Nokogiri so that they can be used in Dude commands.
|
7
|
+
|
8
|
+
### Capybara
|
9
|
+
|
10
|
+
TheDude is configured to use Capybara
|
11
|
+
This means that you can use Capybara DSL shortcuts in your dude commands
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
command 'a web script' do
|
15
|
+
Capybara.app_host = 'http://www.google.com'
|
16
|
+
visit '/'
|
17
|
+
end
|
18
|
+
```
|
19
|
+
|
20
|
+
By default this will use the selenium driver however other Capybara drivers
|
21
|
+
can be configured as per the instructions in the [Capybara
|
22
|
+
readme](https://github.com/jnicklas/capybara)
|
23
|
+
|
24
|
+
Command 'qmake -spec macx-g++' not availabluuua
|
25
|
+
|
26
|
+
### Installing
|
27
|
+
|
28
|
+
Simply install the gem using
|
29
|
+
|
30
|
+
```shell
|
31
|
+
$ gem install the_dude-web
|
32
|
+
```
|
33
|
+
|
34
|
+
The dude should detect the plugin and initialize it automatically. In order to
|
35
|
+
check that the plugin is installed you can type
|
36
|
+
|
37
|
+
```shell
|
38
|
+
$ dude list plugins
|
39
|
+
```
|
data/Rakefile
ADDED
data/lib/the_dude-web.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'the_dude'
|
2
|
+
|
3
|
+
require 'capybara'
|
4
|
+
require 'capybara/dsl'
|
5
|
+
require 'nokogiri'
|
6
|
+
require 'net/http'
|
7
|
+
|
8
|
+
Capybara.run_server = false
|
9
|
+
Capybara.current_driver = :selenium
|
10
|
+
|
11
|
+
# TheDude is configured to use Capybara
|
12
|
+
# This means that you can use Capybara DSL shortcuts in your dude commands
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# command 'a web script' do
|
16
|
+
# Capybara.app_host = 'http://www.google.com'
|
17
|
+
# visit '/'
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# By default this will use the selenium driver however other Capybara drivers
|
21
|
+
# can be configured as per the instructions in the [Capybara
|
22
|
+
# readme](https://github.com/jnicklas/capybara)
|
23
|
+
class TheDude::Dsl
|
24
|
+
include Capybara::DSL
|
25
|
+
end
|
26
|
+
|
27
|
+
TheDude::Dsl.run do
|
28
|
+
command /find (.+) on wikipedia/ do |term|
|
29
|
+
url = "http://en.wikipedia.org/wiki/#{term}"
|
30
|
+
body = Net::HTTP.get(URI(url))
|
31
|
+
doc = Nokogiri::HTML(body)
|
32
|
+
|
33
|
+
doc.css('#firstHeading span').each do |heading|
|
34
|
+
say "#{heading.content}\n"
|
35
|
+
end
|
36
|
+
|
37
|
+
say "from #{url}\n\n"
|
38
|
+
|
39
|
+
doc.css('#mw-content-text p').each do |p|
|
40
|
+
say "#{p.content}\n\n"
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Ensure we require the local version and not one we might have installed already
|
2
|
+
require File.join([File.dirname(__FILE__),'lib','the_dude-web','version.rb'])
|
3
|
+
spec = Gem::Specification.new do |s|
|
4
|
+
s.name = 'the_dude-web'
|
5
|
+
s.version = TheDude::Web::VERSION
|
6
|
+
s.author = 'Adam Phillips'
|
7
|
+
s.email = 'adam@29ways.co.uk'
|
8
|
+
s.homepage = 'http://github.com/adamphillips/the_dude-web'
|
9
|
+
s.platform = Gem::Platform::RUBY
|
10
|
+
s.summary = 'Powers up The Dude with Capybara integration'
|
11
|
+
s.files = `git ls-files`.split("\n")
|
12
|
+
s.test_files = `git ls-files -- test/*`.split("\n")
|
13
|
+
s.require_paths << 'lib'
|
14
|
+
s.bindir = 'bin'
|
15
|
+
s.add_development_dependency('rake')
|
16
|
+
s.add_runtime_dependency('capybara')
|
17
|
+
s.add_runtime_dependency('selenium-webdriver')
|
18
|
+
s.add_runtime_dependency('json', '~> 1.7.7')
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: the_dude-web
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Adam Phillips
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-05-18 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: capybara
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: selenium-webdriver
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: json
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.7.7
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.7.7
|
78
|
+
description:
|
79
|
+
email: adam@29ways.co.uk
|
80
|
+
executables: []
|
81
|
+
extensions: []
|
82
|
+
extra_rdoc_files: []
|
83
|
+
files:
|
84
|
+
- .gitignore
|
85
|
+
- .rvmrc
|
86
|
+
- Gemfile
|
87
|
+
- Gemfile.lock
|
88
|
+
- README.md
|
89
|
+
- Rakefile
|
90
|
+
- lib/the_dude-web.rb
|
91
|
+
- lib/the_dude-web/version.rb
|
92
|
+
- the_dude-web.gemspec
|
93
|
+
homepage: http://github.com/adamphillips/the_dude-web
|
94
|
+
licenses: []
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options: []
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ! '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
segments:
|
107
|
+
- 0
|
108
|
+
hash: 1147616297050604978
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
111
|
+
requirements:
|
112
|
+
- - ! '>='
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
segments:
|
116
|
+
- 0
|
117
|
+
hash: 1147616297050604978
|
118
|
+
requirements: []
|
119
|
+
rubyforge_project:
|
120
|
+
rubygems_version: 1.8.25
|
121
|
+
signing_key:
|
122
|
+
specification_version: 3
|
123
|
+
summary: Powers up The Dude with Capybara integration
|
124
|
+
test_files: []
|