do_h2 0.10.0-java

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.markdown ADDED
@@ -0,0 +1,6 @@
1
+ ## 0.10.0 2009-10-15
2
+
3
+ Initial release of H2 driver (using *do_jdbc*).
4
+
5
+ * Known Issues
6
+ * JRuby-only
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2008-2009 Alex Coles, Ikonoklastik Productions
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/Manifest.txt ADDED
@@ -0,0 +1,21 @@
1
+ HISTORY.markdown
2
+ LICENSE
3
+ Manifest.txt
4
+ README.markdown
5
+ Rakefile
6
+ buildfile
7
+ ext-java/src/main/java/DoH2ExtService.java
8
+ ext-java/src/main/java/do_h2/H2DriverDefinition.java
9
+ lib/do_h2.rb
10
+ lib/do_h2/version.rb
11
+ lib/do_h2_ext.jar
12
+ spec/integration/do_h2_spec.rb
13
+ spec/integration/logging_spec.rb
14
+ spec/spec.opts
15
+ spec/spec_helper.rb
16
+ spec/unit/command_spec.rb
17
+ spec/unit/connection_spec.rb
18
+ spec/unit/do_h2_spec.rb
19
+ spec/unit/reader_spec.rb
20
+ spec/unit/result_spec.rb
21
+ spec/unit/transaction_spec.rb
data/README.markdown ADDED
@@ -0,0 +1,4 @@
1
+ do_h2
2
+ =====
3
+
4
+ An H2 driver for DataObjects
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/clean'
4
+
5
+ require 'pathname'
6
+ require 'lib/do_h2/version'
7
+
8
+ ROOT = Pathname(__FILE__).dirname.expand_path
9
+ JRUBY = RUBY_PLATFORM =~ /java/
10
+ WINDOWS = Gem.win_platform?
11
+ SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
12
+
13
+ Dir['tasks/*.rake'].sort.each { |f| import f }
14
+
15
+ CLEAN.include(%w[ {tmp,pkg}/ **/*.{o,so,bundle,jar,log,a,gem,dSYM,obj,pdb,exp,DS_Store,rbc,db} ext-java/target ])
@@ -0,0 +1,5 @@
1
+ module DataObjects
2
+ module H2
3
+ VERSION = "0.10.0"
4
+ end
5
+ end
data/lib/do_h2.rb ADDED
@@ -0,0 +1,34 @@
1
+ require 'data_objects'
2
+
3
+ if RUBY_PLATFORM =~ /java/
4
+ require 'do_jdbc'
5
+ require 'java'
6
+
7
+
8
+ driver = 'org.h2.Driver'
9
+ begin
10
+ java.lang.Thread.currentThread.getContextClassLoader().loadClass(driver, true)
11
+ rescue
12
+ require 'jdbc/h2' # the JDBC driver, packaged as a gem
13
+ end
14
+
15
+ require 'do_h2_ext' # the Java extension for this DO driver
16
+
17
+ # Another way of loading the JDBC Class. This seems to be more reliable
18
+ # than Class.forName() within the data_objects.Connection Java class,
19
+ # which is currently not working as expected.
20
+ java_import driver
21
+
22
+ module DataObjects
23
+ module H2
24
+ class Connection
25
+ def self.pool_size
26
+ 20
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+ else
33
+ warn "do_h2 is only for use with JRuby"
34
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/command_spec'
5
+
6
+ describe DataObjects::H2::Command do
7
+ it_should_behave_like 'a Command'
8
+ # it_should_behave_like 'a Command with async'
9
+ end
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/connection_spec'
5
+
6
+ describe DataObjects::H2::Connection do
7
+
8
+ before :all do
9
+ @driver = 'h2'
10
+ @user = ''
11
+ @password = ''
12
+ @host = ''
13
+ @port = ''
14
+ @database = "#{File.expand_path(File.dirname(__FILE__))}/test.db"
15
+ end
16
+
17
+ it_should_behave_like 'a Connection'
18
+ #it_should_behave_like 'a Connection with authentication support'
19
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/encoding_spec'
5
+
6
+ describe DataObjects::H2::Connection do
7
+ #it_should_behave_like 'a driver supporting encodings'
8
+ end
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'data_objects', 'spec', 'lib', 'rspec_immediate_feedback_formatter'))
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/reader_spec'
5
+
6
+ describe DataObjects::H2::Reader do
7
+ it_should_behave_like 'a Reader'
8
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/result_spec'
5
+
6
+ # splitting the descibe into two separate declaration avoids
7
+ # concurrent execution of the "it_should_behave_like ....."
8
+ # needed by some databases (sqlite3)
9
+
10
+ describe DataObjects::H2::Result do
11
+ it_should_behave_like 'a Result'
12
+ end
13
+
14
+ describe DataObjects::H2::Result do
15
+ it_should_behave_like 'a Result which returns inserted keys'
16
+ end
@@ -0,0 +1,181 @@
1
+ $TESTING=true
2
+ JRUBY = true
3
+
4
+ require 'rubygems'
5
+
6
+ gem 'rspec', '>1.1.12'
7
+ require 'spec'
8
+
9
+ require 'date'
10
+ require 'ostruct'
11
+ require 'pathname'
12
+ require 'fileutils'
13
+
14
+ dir = File.dirname(__FILE__)
15
+ lib_path = File.expand_path("#{dir}/../lib")
16
+ $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
17
+ # put data_objects from repository in the load path
18
+ # DO NOT USE installed gem of data_objects!
19
+ do_lib_path = File.expand_path("#{dir}/../../data_objects/lib")
20
+ $LOAD_PATH.unshift do_lib_path unless $LOAD_PATH.include?(do_lib_path)
21
+
22
+ if JRUBY
23
+ jdbc_lib_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'do_jdbc', 'lib'))
24
+ $LOAD_PATH.unshift jdbc_lib_path unless $LOAD_PATH.include?(jdbc_lib_path)
25
+ require 'do_jdbc'
26
+ end
27
+
28
+ require 'data_objects'
29
+
30
+ DATAOBJECTS_SPEC_ROOT = Pathname(__FILE__).dirname.parent.parent + 'data_objects' + 'spec'
31
+ Pathname.glob((DATAOBJECTS_SPEC_ROOT + 'lib/**/*.rb').to_s).each { |f| require f }
32
+
33
+ require 'do_h2'
34
+
35
+ log_path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'log', 'do.log'))
36
+ FileUtils.mkdir_p(File.dirname(log_path))
37
+
38
+ DataObjects::H2.logger = DataObjects::Logger.new(log_path, :debug)
39
+
40
+ at_exit { DataObjects.logger.flush }
41
+
42
+ Spec::Runner.configure do |config|
43
+ config.include(DataObjects::Spec::PendingHelpers)
44
+ end
45
+
46
+ CONFIG = OpenStruct.new
47
+ # CONFIG.scheme = 'h2'
48
+ # CONFIG.user = ENV['DO_H2_USER'] || 'h2'
49
+ # CONFIG.pass = ENV['DO_H2_PASS'] || ''
50
+ # CONFIG.host = ENV['DO_H2_HOST'] || ''
51
+ # CONFIG.port = ENV['DO_H2_PORT'] || ''
52
+ # CONFIG.database = ENV['DO_H2_DATABASE'] || "#{File.expand_path(File.dirname(__FILE__))}/testdb"
53
+
54
+ CONFIG.uri = ENV["DO_H2_SPEC_URI"] || "jdbc:h2:mem"
55
+
56
+ module DataObjectsSpecHelpers
57
+
58
+ def setup_test_environment
59
+ conn = DataObjects::Connection.new(CONFIG.uri)
60
+
61
+ conn.create_command(<<-EOF).execute_non_query
62
+ DROP TABLE IF EXISTS invoices
63
+ EOF
64
+
65
+ conn.create_command(<<-EOF).execute_non_query
66
+ DROP TABLE IF EXISTS users
67
+ EOF
68
+
69
+ conn.create_command(<<-EOF).execute_non_query
70
+ DROP TABLE IF EXISTS widgets
71
+ EOF
72
+
73
+ conn.create_command(<<-EOF).execute_non_query
74
+ CREATE TABLE users (
75
+ id INTEGER IDENTITY,
76
+ name VARCHAR(200) default 'Billy' NULL,
77
+ fired_at TIMESTAMP
78
+ )
79
+ EOF
80
+
81
+ conn.create_command(<<-EOF).execute_non_query
82
+ CREATE TABLE invoices (
83
+ id INTEGER IDENTITY,
84
+ invoice_number VARCHAR(50) NOT NULL
85
+ )
86
+ EOF
87
+
88
+ conn.create_command(<<-EOF).execute_non_query
89
+ CREATE TABLE widgets (
90
+ id INTEGER IDENTITY,
91
+ code CHAR(8) DEFAULT 'A14' NULL,
92
+ name VARCHAR(200) DEFAULT 'Super Widget' NULL,
93
+ shelf_location VARCHAR NULL,
94
+ description LONGVARCHAR NULL,
95
+ image_data VARBINARY NULL,
96
+ ad_description LONGVARCHAR NULL,
97
+ ad_image VARBINARY NULL,
98
+ whitepaper_text LONGVARCHAR NULL,
99
+ cad_drawing LONGVARBINARY NULL,
100
+ flags BOOLEAN DEFAULT 0,
101
+ number_in_stock SMALLINT DEFAULT 500,
102
+ number_sold INTEGER DEFAULT 0,
103
+ super_number BIGINT DEFAULT 9223372036854775807,
104
+ weight FLOAT DEFAULT 1.23,
105
+ cost1 REAL DEFAULT 10.23,
106
+ cost2 DECIMAL DEFAULT 50.23,
107
+ release_date DATE DEFAULT '2008-02-14',
108
+ release_datetime DATETIME DEFAULT '2008-02-14 00:31:12',
109
+ release_timestamp TIMESTAMP DEFAULT '2008-02-14 00:31:31'
110
+ )
111
+ EOF
112
+ # XXX: H2 has no ENUM
113
+ # status` enum('active','out of stock') NOT NULL default 'active'
114
+
115
+ 1.upto(16) do |n|
116
+ conn.create_command(<<-EOF).execute_non_query
117
+ INSERT INTO widgets(
118
+ code,
119
+ name,
120
+ shelf_location,
121
+ description,
122
+ image_data,
123
+ ad_description,
124
+ ad_image,
125
+ whitepaper_text,
126
+ cad_drawing,
127
+ super_number,
128
+ weight)
129
+ VALUES (
130
+ 'W#{n.to_s.rjust(7,"0")}',
131
+ 'Widget #{n}',
132
+ 'A14',
133
+ 'This is a description',
134
+ '4f3d4331434343434331',
135
+ 'Buy this product now!',
136
+ '4f3d4331434343434331',
137
+ 'String',
138
+ '4f3d4331434343434331',
139
+ 1234,
140
+ 13.4);
141
+ EOF
142
+
143
+ ## TODO: change the hexadecimal examples
144
+
145
+ conn.create_command(<<-EOF).execute_non_query
146
+ update widgets set flags = true where id = 2
147
+ EOF
148
+
149
+ conn.create_command(<<-EOF).execute_non_query
150
+ update widgets set ad_description = NULL where id = 3
151
+ EOF
152
+
153
+ conn.create_command(<<-EOF).execute_non_query
154
+ update widgets set flags = NULL where id = 4
155
+ EOF
156
+
157
+ conn.create_command(<<-EOF).execute_non_query
158
+ update widgets set cost1 = NULL where id = 5
159
+ EOF
160
+
161
+ conn.create_command(<<-EOF).execute_non_query
162
+ update widgets set cost2 = NULL where id = 6
163
+ EOF
164
+
165
+ conn.create_command(<<-EOF).execute_non_query
166
+ update widgets set release_date = NULL where id = 7
167
+ EOF
168
+
169
+ conn.create_command(<<-EOF).execute_non_query
170
+ update widgets set release_datetime = NULL where id = 8
171
+ EOF
172
+
173
+ conn.create_command(<<-EOF).execute_non_query
174
+ update widgets set release_timestamp = NULL where id = 9
175
+ EOF
176
+
177
+ conn.close
178
+ end
179
+
180
+ end
181
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/array_spec'
5
+
6
+ describe 'DataObjects::H2 with Array' do
7
+ it_should_behave_like 'supporting Array'
8
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/bigdecimal_spec'
5
+
6
+ describe 'DataObjects::H2 with BigDecimal' do
7
+ it_should_behave_like 'supporting BigDecimal'
8
+ it_should_behave_like 'supporting BigDecimal autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/boolean_spec'
5
+
6
+ describe 'DataObjects::H2 with Boolean' do
7
+ it_should_behave_like 'supporting Boolean'
8
+ it_should_behave_like 'supporting Boolean autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/byte_array_spec'
5
+
6
+ describe 'DataObjects::H2 with ByteArray' do
7
+ # We need to switch to using parameter binding for this to work with H2
8
+ # it_should_behave_like 'supporting ByteArray'
9
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/class_spec'
5
+
6
+ describe 'DataObjects::H2 with Class' do
7
+ it_should_behave_like 'supporting Class'
8
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/date_spec'
5
+
6
+ describe 'DataObjects::H2 with Date' do
7
+ it_should_behave_like 'supporting Date'
8
+ it_should_behave_like 'supporting Date autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/datetime_spec'
5
+
6
+ describe 'DataObjects::H2 with DateTime' do
7
+ it_should_behave_like 'supporting DateTime'
8
+ it_should_behave_like 'supporting DateTime autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/float_spec'
5
+
6
+ describe 'DataObjects::H2 with Float' do
7
+ it_should_behave_like 'supporting Float'
8
+ it_should_behave_like 'supporting Float autocasting'
9
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/integer_spec'
5
+
6
+ describe 'DataObjects::H2 with Integer' do
7
+ it_should_behave_like 'supporting Integer'
8
+ end
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/nil_spec'
5
+
6
+ describe 'DataObjects::H2 with Nil' do
7
+ it_should_behave_like 'supporting Nil'
8
+ it_should_behave_like 'supporting writing an Nil'
9
+ it_should_behave_like 'supporting Nil autocasting'
10
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/range_spec'
5
+
6
+ describe 'DataObjects::H2 with Range' do
7
+ it_should_behave_like 'supporting Range'
8
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/string_spec'
5
+
6
+ describe 'DataObjects::H2 with String' do
7
+ it_should_behave_like 'supporting String'
8
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/time_spec'
5
+
6
+ describe 'DataObjects::H2 with Time' do
7
+ it_should_behave_like 'supporting Time'
8
+ end
data/tasks/gem.rake ADDED
@@ -0,0 +1,8 @@
1
+ require 'rubygems/package_task'
2
+
3
+ GEM_SPEC = eval(File.read('do_h2.gemspec'))
4
+
5
+ gem_package = Gem::PackageTask.new(GEM_SPEC) do |pkg|
6
+ pkg.need_tar = false
7
+ pkg.need_zip = false
8
+ end
@@ -0,0 +1,15 @@
1
+ def sudo_gem(cmd)
2
+ sh "#{SUDO} #{RUBY} -S gem #{cmd}", :verbose => false
3
+ end
4
+
5
+ # Installation
6
+
7
+ desc "Install #{GEM_SPEC.name} #{GEM_SPEC.version}"
8
+ task :install => [ :package ] do
9
+ sudo_gem "install pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version} --no-update-sources"
10
+ end
11
+
12
+ desc "Uninstall #{GEM_SPEC.name} #{GEM_SPEC.version}"
13
+ task :uninstall => [ :clean ] do
14
+ sudo_gem "uninstall #{GEM_SPEC.name} -v#{GEM_SPEC.version} -I -x"
15
+ end
data/tasks/native.rake ADDED
@@ -0,0 +1,4 @@
1
+ if (tasks_dir = ROOT.parent + 'tasks').directory?
2
+ require tasks_dir + 'ext_helper_java'
3
+ setup_java_extension("#{GEM_SPEC.name}_ext", GEM_SPEC)
4
+ end
@@ -0,0 +1,75 @@
1
+ begin
2
+ gem 'rubyforge', '~> 1.0.1'
3
+ require 'rubyforge'
4
+ rescue Exception
5
+ nil
6
+ end
7
+
8
+ if defined?(RubyForge) then
9
+ if defined?(GEM_SPEC) then
10
+ desc 'Package and upload to RubyForge'
11
+ task :release do |t|
12
+ ver = ENV['VERSION'] or fail "Must supply VERSION (rake release VERSION=x.y.z)."
13
+
14
+ # compare versions to avoid mistakes
15
+ unless ver == GEM_SPEC.version.to_s then
16
+ fail "Version mismatch (supplied and specification versions differ)."
17
+ end
18
+
19
+ # no rubyforge project? no release for you!
20
+ if GEM_SPEC.rubyforge_project == 'TODO' or GEM_SPEC.rubyforge_project.nil? then
21
+ fail "Must define rubyforge_project in your gem specification."
22
+ end
23
+
24
+ # instantiate a RubyForge object
25
+ rf = RubyForge.new
26
+
27
+ # read project info and overview
28
+ notes = begin
29
+ r = File.read("README.markdown")
30
+ r.split(/^(.*\n\-+)/)[1..4].join.strip
31
+ rescue
32
+ warn "Missing README.markdown"
33
+ ''
34
+ end
35
+
36
+ # read changes
37
+ changes = begin
38
+ h = File.read("HISTORY.markdown")
39
+ h.split(/^(##+ .*)/)[1..2].join.strip
40
+ rescue
41
+ warn "Missing HISTORY.markdown"
42
+ ''
43
+ end
44
+
45
+ # build the configuration for the release
46
+ config = Hash.new
47
+ config["release_notes"] = notes
48
+ config["release_changes"] = changes
49
+ config["preformatted"] = true
50
+
51
+ # prepare configuration
52
+ rf.configure config
53
+
54
+ files = FileList["pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version}*.*"].to_a
55
+ fail "No files found for the release." if files.empty?
56
+
57
+ puts "Logging in RubyForge..."
58
+ rf.login
59
+
60
+ puts "Files to upload:"
61
+ files.each do |f|
62
+ puts " * #{f}"
63
+ end
64
+
65
+ puts "Releasing #{GEM_SPEC.name} version #{GEM_SPEC.version}..."
66
+ rf.add_release GEM_SPEC.rubyforge_project, GEM_SPEC.name, GEM_SPEC.version, *files
67
+ puts "Done."
68
+ end
69
+ #Rake::Task['release'].prerequisites.unshift('clean', 'cross', 'native')
70
+ else
71
+ warn "no GEM_SPEC is found or defined. 'release' task cannot work without it."
72
+ end
73
+ else
74
+ warn "rubyforge gem is required to generate releases, please install it (gem install rubyforge)."
75
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,19 @@
1
+ # Specs
2
+ require 'spec/rake/spectask'
3
+
4
+ desc 'Run specifications'
5
+ Spec::Rake::SpecTask.new(:spec => [ :clean, :compile ]) do |t|
6
+ t.spec_opts << '--options' << ROOT + 'spec/spec.opts'
7
+ t.spec_files = Pathname.glob(ENV['FILES'] || 'spec/**/*_spec.rb').map { |f| f.to_s }
8
+ t.libs << 'lib'
9
+
10
+ begin
11
+ # RCov is run by default, except on the JRuby platform
12
+ t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
13
+ t.rcov_opts << '--exclude' << 'spec'
14
+ t.rcov_opts << '--text-summary'
15
+ t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
16
+ rescue Exception
17
+ # rcov not installed
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ extensions: []
3
+
4
+ homepage: http://github.com/datamapper/do
5
+ executables: []
6
+
7
+ version: !ruby/object:Gem::Version
8
+ version: 0.10.0
9
+ post_install_message:
10
+ date: 2009-09-16 00:00:00 Z
11
+ files:
12
+ - lib/do_h2.rb
13
+ - lib/do_h2/version.rb
14
+ - spec/command_spec.rb
15
+ - spec/connection_spec.rb
16
+ - spec/encoding_spec.rb
17
+ - spec/reader_spec.rb
18
+ - spec/result_spec.rb
19
+ - spec/spec_helper.rb
20
+ - spec/lib/rspec_immediate_feedback_formatter.rb
21
+ - spec/typecast/array_spec.rb
22
+ - spec/typecast/bigdecimal_spec.rb
23
+ - spec/typecast/boolean_spec.rb
24
+ - spec/typecast/byte_array_spec.rb
25
+ - spec/typecast/class_spec.rb
26
+ - spec/typecast/date_spec.rb
27
+ - spec/typecast/datetime_spec.rb
28
+ - spec/typecast/float_spec.rb
29
+ - spec/typecast/integer_spec.rb
30
+ - spec/typecast/nil_spec.rb
31
+ - spec/typecast/range_spec.rb
32
+ - spec/typecast/string_spec.rb
33
+ - spec/typecast/time_spec.rb
34
+ - tasks/gem.rake
35
+ - tasks/install.rake
36
+ - tasks/native.rake
37
+ - tasks/release.rake
38
+ - tasks/spec.rake
39
+ - LICENSE
40
+ - Rakefile
41
+ - HISTORY.markdown
42
+ - README.markdown
43
+ - Manifest.txt
44
+ rubygems_version: 1.3.4
45
+ rdoc_options: []
46
+
47
+ signing_key:
48
+ cert_chain: []
49
+
50
+ name: do_h2
51
+ has_rdoc: false
52
+ platform: java
53
+ summary: DataObjects H2 Driver
54
+ default_executable:
55
+ bindir: bin
56
+ licenses: []
57
+
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
59
+ version:
60
+ requirements:
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ version:
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: "0"
70
+ require_paths:
71
+ - lib
72
+ specification_version: 3
73
+ test_files: []
74
+
75
+ dependencies:
76
+ - !ruby/object:Gem::Dependency
77
+ type: :runtime
78
+ name: addressable
79
+ version_requirement:
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ version:
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: "2.0"
86
+ - !ruby/object:Gem::Dependency
87
+ type: :runtime
88
+ name: extlib
89
+ version_requirement:
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ version:
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 0.9.12
96
+ - !ruby/object:Gem::Dependency
97
+ type: :runtime
98
+ name: data_objects
99
+ version_requirement:
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ version:
102
+ requirements:
103
+ - - "="
104
+ - !ruby/object:Gem::Version
105
+ version: 0.10.0
106
+ - !ruby/object:Gem::Dependency
107
+ type: :runtime
108
+ name: jdbc-h2
109
+ version_requirement:
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ version:
112
+ requirements:
113
+ - - ~>
114
+ - !ruby/object:Gem::Version
115
+ version: 1.1.107
116
+ - !ruby/object:Gem::Dependency
117
+ type: :runtime
118
+ name: do_jdbc
119
+ version_requirement:
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ version:
122
+ requirements:
123
+ - - "="
124
+ - !ruby/object:Gem::Version
125
+ version: 0.10.0
126
+ - !ruby/object:Gem::Dependency
127
+ type: :development
128
+ name: rspec
129
+ version_requirement:
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ version:
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ version: 1.2.0
136
+ description: Implements the DataObjects API for H2
137
+ email: alex@alexcolesportfolio.com
138
+ authors:
139
+ - Alex Coles
140
+ extra_rdoc_files: []
141
+
142
+ requirements: []
143
+
144
+ rubyforge_project: dorb
145
+ autorequire: