akephalos 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 ADDED
@@ -0,0 +1,2 @@
1
+ pkg
2
+ tags
data/Rakefile ADDED
@@ -0,0 +1,37 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "akephalos"
8
+ gem.summary = ""
9
+ gem.description = ""
10
+ gem.email = "bj.schaefer@gmail.com"
11
+ gem.homepage = "http://github.com/bernerdschaefer/akephalos"
12
+ gem.authors = ["Bernerd Schaefer"]
13
+
14
+ gem.add_dependency "capybara", '0.3.7'
15
+
16
+ gem.add_development_dependency "sinatra"
17
+ gem.add_development_dependency "rspec", '1.3.0'
18
+ end
19
+ rescue LoadError
20
+ puts "Jeweler not available. Install it with: gem install jeweler"
21
+ end
22
+
23
+ require 'spec/rake/spectask'
24
+ Spec::Rake::SpecTask.new(:spec) do |spec|
25
+ spec.libs << 'lib' << 'spec'
26
+ spec.spec_files = FileList['spec/**/*_spec.rb']
27
+ end
28
+
29
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
30
+ spec.libs << 'lib' << 'spec'
31
+ spec.pattern = 'spec/**/*_spec.rb'
32
+ spec.rcov = true
33
+ end
34
+
35
+ task :spec => :check_dependencies
36
+
37
+ task :default => :spec
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
data/akephalos.gemspec ADDED
@@ -0,0 +1,83 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{akephalos}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Bernerd Schaefer"]
12
+ s.date = %q{2010-05-05}
13
+ s.default_executable = %q{akephalos}
14
+ s.description = %q{}
15
+ s.email = %q{bj.schaefer@gmail.com}
16
+ s.executables = ["akephalos"]
17
+ s.files = [
18
+ ".gitignore",
19
+ "Rakefile",
20
+ "VERSION",
21
+ "akephalos.gemspec",
22
+ "bin/akephalos",
23
+ "lib/akephalos.rb",
24
+ "lib/akephalos/capybara.rb",
25
+ "lib/akephalos/cucumber.rb",
26
+ "lib/akephalos/htmlunit.rb",
27
+ "lib/akephalos/htmlunit/html_element.rb",
28
+ "lib/akephalos/htmlunit/html_page.rb",
29
+ "lib/akephalos/htmlunit/html_select.rb",
30
+ "lib/akephalos/htmlunit/web_client.rb",
31
+ "lib/akephalos/server.rb",
32
+ "spec/driver/akephalos_driver_spec.rb",
33
+ "spec/session/akephalos_session_spec.rb",
34
+ "spec/spec.opts",
35
+ "spec/spec_helper.rb",
36
+ "src/commons-codec-1.4.jar",
37
+ "src/commons-collections-3.2.1.jar",
38
+ "src/commons-httpclient-3.1.jar",
39
+ "src/commons-io-1.4.jar",
40
+ "src/commons-lang-2.4.jar",
41
+ "src/commons-logging-1.1.1.jar",
42
+ "src/cssparser-0.9.5.jar",
43
+ "src/htmlunit-2.6.jar",
44
+ "src/htmlunit-core-js-2.6.jar",
45
+ "src/jruby-complete-1.4.0.jar",
46
+ "src/nekohtml-1.9.13.jar",
47
+ "src/sac-1.3.jar",
48
+ "src/serializer-2.7.1.jar",
49
+ "src/xalan-2.7.1.jar",
50
+ "src/xercesImpl-2.9.1.jar",
51
+ "src/xml-apis-1.3.04.jar"
52
+ ]
53
+ s.homepage = %q{http://github.com/bernerdschaefer/akephalos}
54
+ s.rdoc_options = ["--charset=UTF-8"]
55
+ s.require_paths = ["lib"]
56
+ s.rubygems_version = %q{1.3.6}
57
+ s.summary = %q{}
58
+ s.test_files = [
59
+ "spec/driver/akephalos_driver_spec.rb",
60
+ "spec/session/akephalos_session_spec.rb",
61
+ "spec/spec_helper.rb"
62
+ ]
63
+
64
+ if s.respond_to? :specification_version then
65
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
66
+ s.specification_version = 3
67
+
68
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
69
+ s.add_runtime_dependency(%q<capybara>, ["= 0.3.7"])
70
+ s.add_development_dependency(%q<sinatra>, [">= 0"])
71
+ s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
72
+ else
73
+ s.add_dependency(%q<capybara>, ["= 0.3.7"])
74
+ s.add_dependency(%q<sinatra>, [">= 0"])
75
+ s.add_dependency(%q<rspec>, ["= 1.3.0"])
76
+ end
77
+ else
78
+ s.add_dependency(%q<capybara>, ["= 0.3.7"])
79
+ s.add_dependency(%q<sinatra>, [">= 0"])
80
+ s.add_dependency(%q<rspec>, ["= 1.3.0"])
81
+ end
82
+ end
83
+
data/bin/akephalos ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ # vim:set filetype=ruby:
3
+
4
+ raise "Usage: akephalos socket_file" unless ARGV[0]
5
+ require 'pathname'
6
+
7
+ root = Pathname(__FILE__).expand_path.dirname.parent
8
+ jruby = root + "src/jruby-complete-1.4.0.jar"
9
+ server = root + "lib/akephalos/server"
10
+
11
+ exec "java -Xmx2048M -jar #{jruby} -r#{server} -e 'Akephalos::Server.start!(#{ARGV[0].inspect})'"
data/lib/akephalos.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'capybara'
2
+
3
+ module Akephalos
4
+ end
5
+
6
+ require 'akephalos/capybara'
7
+
8
+ if Object.const_defined? :Cucumber
9
+ require 'akephalos/cucumber'
10
+ end
@@ -0,0 +1,203 @@
1
+ class Capybara::Driver::Akephalos < Capybara::Driver::Base
2
+
3
+ class Node < Capybara::Node
4
+
5
+ def [](name)
6
+ name = name.to_s
7
+ case name
8
+ when 'checked'
9
+ node.isChecked
10
+ else
11
+ node[name.to_s]
12
+ end
13
+ end
14
+
15
+ def text
16
+ node.asText
17
+ end
18
+
19
+ def value
20
+ if tag_name == "select" && self[:multiple]
21
+ values = []
22
+ results = node.getSelectedOptions
23
+ while (i ||= 0) < results.size
24
+ values << results[i].asText
25
+ i += 1
26
+ end
27
+ values
28
+ elsif tag_name == "select"
29
+ node.getSelectedOptions.first.asText
30
+ else
31
+ super
32
+ end
33
+ end
34
+
35
+ def set(value)
36
+ if tag_name == 'textarea'
37
+ node.setText(value.to_s)
38
+ elsif tag_name == 'input' and type == 'radio'
39
+ node.click
40
+ elsif tag_name == 'input' and type == 'checkbox'
41
+ node.click
42
+ elsif tag_name == 'input'
43
+ node.setValueAttribute(value.to_s)
44
+ end
45
+ end
46
+
47
+ def select(option)
48
+ result = node.select_option(option)
49
+
50
+ if result == nil
51
+ options = []
52
+ results = node.getOptions
53
+ while (i ||= 0) < results.size
54
+ options << results[i].asText
55
+ i += 1
56
+ end
57
+ options = options.join(", ")
58
+ raise Capybara::OptionNotFound, "No such option '#{option}' in this select box. Available options: #{options}"
59
+ else
60
+ result
61
+ end
62
+ end
63
+
64
+ def unselect(option)
65
+ unless self[:multiple]
66
+ raise Capybara::UnselectNotAllowed, "Cannot unselect option '#{option}' from single select box."
67
+ end
68
+
69
+ result = node.unselect_option(option)
70
+
71
+ if result == nil
72
+ options = []
73
+ results = node.getOptions
74
+ while (i ||= 0) < results.size
75
+ options << results[i].asText
76
+ i += 1
77
+ end
78
+ options = options.join(", ")
79
+ raise Capybara::OptionNotFound, "No such option '#{option}' in this select box. Available options: #{options}"
80
+ else
81
+ result
82
+ end
83
+ end
84
+
85
+ def trigger(event)
86
+ node.fire_event(event.to_s)
87
+ end
88
+
89
+ def tag_name
90
+ node.getNodeName
91
+ end
92
+
93
+ def visible?
94
+ node.isDisplayed
95
+ end
96
+
97
+ def drag_to(element)
98
+ node.fire_event('mousedown')
99
+ element.node.fire_event('mousemove')
100
+ element.node.fire_event('mouseup')
101
+ end
102
+
103
+ def click
104
+ node.click
105
+ end
106
+
107
+ private
108
+
109
+ def all_unfiltered(selector)
110
+ nodes = []
111
+ results = node.getByXPath(selector)
112
+ while (i ||= 0) < results.size
113
+ nodes << Node.new(driver, results[i])
114
+ i += 1
115
+ end
116
+ nodes
117
+ end
118
+
119
+ def type
120
+ node[:type]
121
+ end
122
+ end
123
+
124
+ attr_reader :app, :rack_server
125
+
126
+ def self.driver
127
+ if RUBY_PLATFORM == "java"
128
+ require '/usr/local/projects/personal/htmlunit-ruby/jruby'
129
+ @driver ||= WebClient.new
130
+ else
131
+ @driver ||= begin
132
+ socket_file = "/tmp/akephalos.#{Process.pid}.sock"
133
+ uri = "drbunix://#{socket_file}"
134
+
135
+ server = fork do
136
+ exec("#{Pathname(__FILE__).dirname.parent.parent + 'bin/akephalos'} #{socket_file}")
137
+ end
138
+
139
+ DRb.start_service
140
+
141
+ sleep 1 until File.exists?(socket_file)
142
+
143
+ client_class = DRbObject.new_with_uri(uri)
144
+
145
+ at_exit { Process.kill(:INT, server); File.unlink(socket_file) }
146
+ client_class
147
+ end
148
+ end
149
+ end
150
+
151
+ def initialize(app)
152
+ @app = app
153
+ @rack_server = Capybara::Server.new(@app)
154
+ @rack_server.boot if Capybara.run_server
155
+ end
156
+
157
+ def visit(path)
158
+ browser.visit(url(path))
159
+ end
160
+
161
+ def source
162
+ page.source
163
+ end
164
+
165
+ def body
166
+ page.modified_source
167
+ end
168
+
169
+ def current_url
170
+ page.current_url
171
+ end
172
+
173
+ def find(selector)
174
+ nodes = []
175
+ results = page.find(selector)
176
+ while (i ||= 0) < results.size
177
+ nodes << Node.new(self, results[i])
178
+ i += 1
179
+ end
180
+ nodes
181
+ end
182
+
183
+ def evaluate_script(script)
184
+ page.execute_script script
185
+ end
186
+
187
+ def page
188
+ browser.page
189
+ end
190
+
191
+ def browser
192
+ self.class.driver
193
+ end
194
+
195
+ def wait?; true end
196
+
197
+ private
198
+
199
+ def url(path)
200
+ rack_server.url(path)
201
+ end
202
+
203
+ end
@@ -0,0 +1,6 @@
1
+ require 'capybara/cucumber'
2
+
3
+ Before('@akephalos') do
4
+ Capybara.current_driver = :akephalos
5
+ end
6
+
@@ -0,0 +1,37 @@
1
+ require "pathname"
2
+ require "java"
3
+
4
+ $:.unshift((Pathname(__FILE__).dirname + "../../src").expand_path)
5
+ require "commons-codec-1.4.jar"
6
+ require "commons-collections-3.2.1.jar"
7
+ require "commons-httpclient-3.1.jar"
8
+ require "commons-io-1.4.jar"
9
+ require "commons-lang-2.4.jar"
10
+ require "commons-logging-1.1.1.jar"
11
+ require "cssparser-0.9.5.jar"
12
+ require "htmlunit-2.6.jar"
13
+ require "htmlunit-core-js-2.6.jar"
14
+ require "nekohtml-1.9.13.jar"
15
+ require "sac-1.3.jar"
16
+ require "serializer-2.7.1.jar"
17
+ require "xalan-2.7.1.jar"
18
+ require "xercesImpl-2.9.1.jar"
19
+ require "xml-apis-1.3.04.jar"
20
+
21
+ logger = org.apache.commons.logging.LogFactory.getLog('com.gargoylesoftware.htmlunit')
22
+ logger.getLogger().setLevel(java.util.logging.Level::SEVERE)
23
+
24
+ java_import 'java.io.StringWriter'
25
+ java_import 'java.io.PrintWriter'
26
+ java_import "com.gargoylesoftware.htmlunit.WebClient"
27
+ java_import "com.gargoylesoftware.htmlunit.html.HtmlPage"
28
+ java_import "com.gargoylesoftware.htmlunit.html.HtmlSubmitInput"
29
+
30
+ com.gargoylesoftware.htmlunit.BrowserVersion.setDefault(
31
+ com.gargoylesoftware.htmlunit.BrowserVersion::FIREFOX_3
32
+ )
33
+
34
+ require Pathname(__FILE__).dirname + "htmlunit/html_element"
35
+ require Pathname(__FILE__).dirname + "htmlunit/html_page"
36
+ require Pathname(__FILE__).dirname + "htmlunit/html_select"
37
+ require Pathname(__FILE__).dirname + "htmlunit/web_client"
@@ -0,0 +1,11 @@
1
+ module Akephalos
2
+ module Htmlunit
3
+ module HtmlElement
4
+ def [](name)
5
+ hasAttribute(name.to_s) ? getAttribute(name.to_s) : nil
6
+ end
7
+
8
+ com.gargoylesoftware.htmlunit.html.HtmlElement.send(:include, self)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ module Akephalos
2
+ module Htmlunit
3
+ module HtmlPage
4
+
5
+ def modified_source
6
+ asXml
7
+ end
8
+
9
+ def source
10
+ getWebResponse.getContentAsString
11
+ end
12
+
13
+ def current_url
14
+ getWebResponse.getRequestSettings.getUrl.toString
15
+ end
16
+
17
+ def find(selector)
18
+ getByXPath(selector)
19
+ end
20
+
21
+ def execute_script(script)
22
+ executeJavaScript(script).getJavaScriptResult
23
+ end
24
+
25
+ com.gargoylesoftware.htmlunit.html.HtmlPage.send(:include, self)
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ module Akephalos
2
+ module Htmlunit
3
+ module HtmlSelect
4
+ def select_option(option)
5
+ opt = getOptions.detect { |o| o.asText == option }
6
+
7
+ opt && opt.setSelected(true)
8
+ end
9
+
10
+ def unselect_option(option)
11
+ opt = getOptions.detect { |o| o.asText == option }
12
+
13
+ opt && opt.setSelected(false)
14
+ end
15
+
16
+ com.gargoylesoftware.htmlunit.html.HtmlSelect.send(:include, self)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ module Akephalos
2
+ module Htmlunit
3
+ module WebClient
4
+
5
+ def visit(url)
6
+ getPage(url)
7
+ end
8
+
9
+ def page
10
+ getCurrentWindow.getEnclosedPage
11
+ end
12
+
13
+ com.gargoylesoftware.htmlunit.WebClient.send(:include, self)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,52 @@
1
+ require "pathname"
2
+ require "drb/drb"
3
+ require Pathname(__FILE__).expand_path.dirname + "htmlunit"
4
+
5
+ [
6
+ java.net.URL,
7
+ java.util.List,
8
+ com.gargoylesoftware.htmlunit.html.DomNode,
9
+ com.gargoylesoftware.htmlunit.html.DomElement,
10
+ com.gargoylesoftware.htmlunit.html.HtmlAnchor,
11
+ com.gargoylesoftware.htmlunit.html.HtmlElement,
12
+ com.gargoylesoftware.htmlunit.html.HtmlPage,
13
+ org.w3c.dom.Node,
14
+ org.w3c.dom.NamedNodeMap,
15
+ com.gargoylesoftware.htmlunit.WebClient,
16
+ com.gargoylesoftware.htmlunit.WebResponse,
17
+ com.gargoylesoftware.htmlunit.WebRequestSettings
18
+ ].each { |klass| klass.send(:include, DRbUndumped) }
19
+
20
+ class WebClient
21
+ def page
22
+ @page = getCurrentWindow.getEnclosedPage
23
+ end
24
+ end
25
+
26
+ class HtmlPage
27
+ def find(selector)
28
+ @present_nodes = getByXPath(selector).to_a
29
+ (@nodes ||= []).push(*@present_nodes)
30
+ @present_nodes
31
+ end
32
+ end
33
+
34
+ class HtmlSubmitInput
35
+ def click
36
+ super
37
+ rescue => e
38
+ puts e
39
+ puts e.backtrace.join("\n")
40
+ end
41
+ end
42
+
43
+ module Akephalos
44
+ class Server
45
+ def self.start!(socket_file)
46
+ client = WebClient.new
47
+ client.setCssErrorHandler(com.gargoylesoftware.htmlunit.SilentCssErrorHandler.new)
48
+ DRb.start_service("drbunix://#{socket_file}", client)
49
+ DRb.thread.join
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Driver::Akephalos do
4
+
5
+ before do
6
+ @driver = Capybara::Driver::Akephalos.new(TestApp)
7
+ end
8
+
9
+ it_should_behave_like "driver"
10
+ it_should_behave_like "driver with javascript support"
11
+
12
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Session do
4
+ context 'with akephalos driver' do
5
+
6
+ before do
7
+ @session = Capybara::Session.new(:akephalos, TestApp)
8
+ end
9
+
10
+ describe '#driver' do
11
+ it "should be a headless driver" do
12
+ @session.driver.should be_an_instance_of(Capybara::Driver::Akephalos)
13
+ end
14
+ end
15
+
16
+ describe '#mode' do
17
+ it "should remember the mode" do
18
+ @session.mode.should == :akephalos
19
+ end
20
+ end
21
+
22
+ it_should_behave_like "session"
23
+ it_should_behave_like "session with javascript support"
24
+
25
+ end
26
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --format nested
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'akephalos'
3
+
4
+ spec_dir = nil
5
+ $:.detect do |dir|
6
+ if File.exists? File.join(dir, "capybara.rb")
7
+ spec_dir = File.expand_path(File.join(dir,"..","spec"))
8
+ $:.unshift( spec_dir )
9
+ end
10
+ end
11
+
12
+ require File.join(spec_dir,"spec_helper")
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/src/sac-1.3.jar ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: akephalos
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Bernerd Schaefer
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-05-05 00:00:00 -05:00
18
+ default_executable: akephalos
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: capybara
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 3
30
+ - 7
31
+ version: 0.3.7
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: sinatra
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :development
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 1
55
+ - 3
56
+ - 0
57
+ version: 1.3.0
58
+ type: :development
59
+ version_requirements: *id003
60
+ description: ""
61
+ email: bj.schaefer@gmail.com
62
+ executables:
63
+ - akephalos
64
+ extensions: []
65
+
66
+ extra_rdoc_files: []
67
+
68
+ files:
69
+ - .gitignore
70
+ - Rakefile
71
+ - VERSION
72
+ - akephalos.gemspec
73
+ - bin/akephalos
74
+ - lib/akephalos.rb
75
+ - lib/akephalos/capybara.rb
76
+ - lib/akephalos/cucumber.rb
77
+ - lib/akephalos/htmlunit.rb
78
+ - lib/akephalos/htmlunit/html_element.rb
79
+ - lib/akephalos/htmlunit/html_page.rb
80
+ - lib/akephalos/htmlunit/html_select.rb
81
+ - lib/akephalos/htmlunit/web_client.rb
82
+ - lib/akephalos/server.rb
83
+ - spec/driver/akephalos_driver_spec.rb
84
+ - spec/session/akephalos_session_spec.rb
85
+ - spec/spec.opts
86
+ - spec/spec_helper.rb
87
+ - src/commons-codec-1.4.jar
88
+ - src/commons-collections-3.2.1.jar
89
+ - src/commons-httpclient-3.1.jar
90
+ - src/commons-io-1.4.jar
91
+ - src/commons-lang-2.4.jar
92
+ - src/commons-logging-1.1.1.jar
93
+ - src/cssparser-0.9.5.jar
94
+ - src/htmlunit-2.6.jar
95
+ - src/htmlunit-core-js-2.6.jar
96
+ - src/jruby-complete-1.4.0.jar
97
+ - src/nekohtml-1.9.13.jar
98
+ - src/sac-1.3.jar
99
+ - src/serializer-2.7.1.jar
100
+ - src/xalan-2.7.1.jar
101
+ - src/xercesImpl-2.9.1.jar
102
+ - src/xml-apis-1.3.04.jar
103
+ has_rdoc: true
104
+ homepage: http://github.com/bernerdschaefer/akephalos
105
+ licenses: []
106
+
107
+ post_install_message:
108
+ rdoc_options:
109
+ - --charset=UTF-8
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ segments:
124
+ - 0
125
+ version: "0"
126
+ requirements: []
127
+
128
+ rubyforge_project:
129
+ rubygems_version: 1.3.6
130
+ signing_key:
131
+ specification_version: 3
132
+ summary: ""
133
+ test_files:
134
+ - spec/driver/akephalos_driver_spec.rb
135
+ - spec/session/akephalos_session_spec.rb
136
+ - spec/spec_helper.rb