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.
@@ -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: []