the_dude-web 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ pkg
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use --create 1.9.3@dude-web
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+
4
+ gem 'the_dude', :path => '~/Projects/Development/Open Source/Ruby/Gems/TheDude/source/'
@@ -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!
@@ -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
+ ```
@@ -0,0 +1,8 @@
1
+ require 'rake/clean'
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+
5
+ spec = eval(File.read('the_dude-web.gemspec'))
6
+
7
+ Gem::PackageTask.new(spec) do |pkg|
8
+ end
@@ -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,5 @@
1
+ module TheDude
2
+ module Web
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -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: []