sbf-do_sqlite3 0.10.17
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.
- checksums.yaml +7 -0
- data/ChangeLog.markdown +119 -0
- data/LICENSE +20 -0
- data/README.markdown +94 -0
- data/Rakefile +21 -0
- data/ext/do_sqlite3/compat.h +55 -0
- data/ext/do_sqlite3/do_common.c +510 -0
- data/ext/do_sqlite3/do_common.h +132 -0
- data/ext/do_sqlite3/do_sqlite3.c +448 -0
- data/ext/do_sqlite3/do_sqlite3.h +22 -0
- data/ext/do_sqlite3/do_sqlite3_extension.c +87 -0
- data/ext/do_sqlite3/error.h +85 -0
- data/ext/do_sqlite3/extconf.rb +26 -0
- data/lib/do_sqlite3/transaction.rb +21 -0
- data/lib/do_sqlite3/version.rb +5 -0
- data/lib/do_sqlite3.rb +13 -0
- data/spec/command_spec.rb +6 -0
- data/spec/connection_spec.rb +26 -0
- data/spec/encoding_spec.rb +7 -0
- data/spec/error/sql_error_spec.rb +7 -0
- data/spec/reader_spec.rb +6 -0
- data/spec/result_spec.rb +17 -0
- data/spec/spec_helper.rb +138 -0
- data/spec/typecast/array_spec.rb +6 -0
- data/spec/typecast/bigdecimal_spec.rb +9 -0
- data/spec/typecast/boolean_spec.rb +9 -0
- data/spec/typecast/byte_array_spec.rb +6 -0
- data/spec/typecast/class_spec.rb +6 -0
- data/spec/typecast/date_spec.rb +9 -0
- data/spec/typecast/datetime_spec.rb +9 -0
- data/spec/typecast/float_spec.rb +10 -0
- data/spec/typecast/integer_spec.rb +6 -0
- data/spec/typecast/nil_spec.rb +18 -0
- data/spec/typecast/other_spec.rb +6 -0
- data/spec/typecast/range_spec.rb +6 -0
- data/spec/typecast/string_spec.rb +6 -0
- data/spec/typecast/time_spec.rb +7 -0
- data/tasks/compile.rake +23 -0
- data/tasks/release.rake +14 -0
- data/tasks/retrieve.rake +16 -0
- data/tasks/spec.rake +10 -0
- metadata +100 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/connection_spec'
|
3
|
+
|
4
|
+
describe DataObjects::Sqlite3::Connection do
|
5
|
+
before :all do
|
6
|
+
@driver = CONFIG.scheme
|
7
|
+
@user = CONFIG.user
|
8
|
+
@password = CONFIG.pass
|
9
|
+
@host = CONFIG.host
|
10
|
+
@port = CONFIG.port
|
11
|
+
@database = CONFIG.database
|
12
|
+
end
|
13
|
+
|
14
|
+
it_behaves_like 'a Connection'
|
15
|
+
|
16
|
+
describe 'connecting with busy timeout' do
|
17
|
+
it 'connects with a valid timeout' do
|
18
|
+
expect(DataObjects::Connection.new("#{CONFIG.uri}?busy_timeout=200")).not_to be_nil
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'raises an error when passed an invalid value' do
|
22
|
+
expect { DataObjects::Connection.new("#{CONFIG.uri}?busy_timeout=stuff") }
|
23
|
+
.to raise_error(ArgumentError)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/encoding_spec'
|
3
|
+
|
4
|
+
describe DataObjects::Sqlite3::Connection do
|
5
|
+
it_behaves_like 'returning correctly encoded strings for the default database encoding'
|
6
|
+
it_behaves_like 'returning correctly encoded strings for the default internal encoding'
|
7
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/error/sql_error_spec'
|
3
|
+
|
4
|
+
describe 'DataObjects::Sqlite3 raising SQLError' do
|
5
|
+
# This fails for now, need to think of a query that also exposes the issue on sqlite :S
|
6
|
+
# it_behaves_like 'raising a SQLError'
|
7
|
+
end
|
data/spec/reader_spec.rb
ADDED
data/spec/result_spec.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/result_spec'
|
3
|
+
|
4
|
+
# splitting the descibe into two separate declaration avoids
|
5
|
+
# concurrent execution of the "it_behaves_like ....." calls
|
6
|
+
# which would lock the database
|
7
|
+
|
8
|
+
# TODO
|
9
|
+
# the locked database created a deadlock which is worth exploring since
|
10
|
+
# such situation could appear in the wild too
|
11
|
+
describe DataObjects::Sqlite3::Result do
|
12
|
+
it_behaves_like 'a Result'
|
13
|
+
end
|
14
|
+
|
15
|
+
describe DataObjects::Sqlite3::Result do
|
16
|
+
it_behaves_like 'a Result which returns inserted key with sequences'
|
17
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
$TESTING = true
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rspec'
|
5
|
+
require 'date'
|
6
|
+
require 'ostruct'
|
7
|
+
require 'fileutils'
|
8
|
+
require 'win32console' if RUBY_PLATFORM =~ /mingw|mswin/
|
9
|
+
|
10
|
+
driver_lib = File.expand_path('../lib', __dir__)
|
11
|
+
$LOAD_PATH.unshift(driver_lib) unless $LOAD_PATH.include?(driver_lib)
|
12
|
+
|
13
|
+
# Prepend data_objects/do_jdbc in the repository to the load path.
|
14
|
+
# DO NOT USE installed gems, except when running the specs from gem.
|
15
|
+
repo_root = File.expand_path('../..', __dir__)
|
16
|
+
lib_path = "#{repo_root}/data_objects/lib"
|
17
|
+
$LOAD_PATH.unshift(lib_path) if File.directory?(lib_path) && !$LOAD_PATH.include?(lib_path)
|
18
|
+
|
19
|
+
require 'data_objects'
|
20
|
+
require 'data_objects/spec/setup'
|
21
|
+
require 'data_objects/spec/lib/pending_helpers'
|
22
|
+
require 'do_sqlite3'
|
23
|
+
|
24
|
+
CONFIG = OpenStruct.new
|
25
|
+
CONFIG.scheme = 'sqlite3'
|
26
|
+
CONFIG.database = ENV['DO_SQLITE3_DATABASE'] || ':memory:'
|
27
|
+
CONFIG.uri = ENV['DO_SQLITE3_SPEC_URI'] || "#{CONFIG.scheme}:#{CONFIG.database}"
|
28
|
+
CONFIG.driver = 'sqlite3'
|
29
|
+
|
30
|
+
module DataObjectsSpecHelpers
|
31
|
+
def setup_test_environment
|
32
|
+
conn = DataObjects::Connection.new(CONFIG.uri)
|
33
|
+
|
34
|
+
conn.create_command(<<-EOF).execute_non_query
|
35
|
+
DROP TABLE IF EXISTS "invoices"
|
36
|
+
EOF
|
37
|
+
|
38
|
+
conn.create_command(<<-EOF).execute_non_query
|
39
|
+
DROP TABLE IF EXISTS "users"
|
40
|
+
EOF
|
41
|
+
|
42
|
+
conn.create_command(<<-EOF).execute_non_query
|
43
|
+
DROP TABLE IF EXISTS "widgets"
|
44
|
+
EOF
|
45
|
+
|
46
|
+
conn.create_command(<<-EOF).execute_non_query
|
47
|
+
CREATE TABLE "users" (
|
48
|
+
"id" SERIAL,
|
49
|
+
"name" VARCHAR(200) default 'Billy' NULL,
|
50
|
+
"fired_at" timestamp,
|
51
|
+
PRIMARY KEY ("id")
|
52
|
+
);
|
53
|
+
EOF
|
54
|
+
|
55
|
+
conn.create_command(<<-EOF).execute_non_query
|
56
|
+
CREATE TABLE "invoices" (
|
57
|
+
"invoice_number" varchar(50) NOT NULL,
|
58
|
+
PRIMARY KEY ("invoice_number")
|
59
|
+
);
|
60
|
+
EOF
|
61
|
+
|
62
|
+
local_offset = Rational(Time.local(2008, 2, 14).utc_offset, 86_400)
|
63
|
+
t = DateTime.civil(2008, 2, 14, 0o0, 31, 12, local_offset)
|
64
|
+
conn.create_command(<<-EOF).execute_non_query
|
65
|
+
CREATE TABLE "widgets" (
|
66
|
+
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
|
67
|
+
"code" char(8) default 'A14' NULL,
|
68
|
+
"name" varchar(200) default 'Super Widget' NULL,
|
69
|
+
"shelf_location" text NULL,
|
70
|
+
"description" text NULL,
|
71
|
+
"image_data" blob NULL,
|
72
|
+
"ad_description" text NULL,
|
73
|
+
"ad_image" blob NULL,
|
74
|
+
"whitepaper_text" text NULL,
|
75
|
+
"cad_drawing" blob,
|
76
|
+
"flags" boolean default 'f',
|
77
|
+
"number_in_stock" smallint default 500,
|
78
|
+
"number_sold" integer default 0,
|
79
|
+
"super_number" bigint default 9223372036854775807,
|
80
|
+
"weight" float default 1.23,
|
81
|
+
"cost1" double precision default 10.23,
|
82
|
+
"cost2" decimal(8,2) default 50.23,
|
83
|
+
"release_date" date default '2008-02-14',
|
84
|
+
"release_datetime" timestamp default '#{t}',
|
85
|
+
"release_timestamp" timestamp with time zone default '2008-02-14 00:31:31'
|
86
|
+
);
|
87
|
+
EOF
|
88
|
+
|
89
|
+
1.upto(16) do |n|
|
90
|
+
conn.create_command(<<-EOF).execute_non_query
|
91
|
+
insert into widgets(code, name, shelf_location, description, image_data, ad_description, ad_image, whitepaper_text, cad_drawing, super_number, weight) VALUES ('W#{n.to_s.rjust(7, '0')}', 'Widget #{n}', 'A14', 'This is a description', 'IMAGE DATA', 'Buy this product now!', 'AD IMAGE DATA', 'String', X'434144200120002044524157494e47', 1234, 13.4);
|
92
|
+
EOF
|
93
|
+
end
|
94
|
+
|
95
|
+
conn.create_command(<<-EOF).execute_non_query
|
96
|
+
update widgets set flags = 't' where id = 2
|
97
|
+
EOF
|
98
|
+
|
99
|
+
conn.create_command(<<-EOF).execute_non_query
|
100
|
+
update widgets set ad_description = NULL where id = 3
|
101
|
+
EOF
|
102
|
+
|
103
|
+
conn.create_command(<<-EOF).execute_non_query
|
104
|
+
update widgets set flags = NULL where id = 4
|
105
|
+
EOF
|
106
|
+
|
107
|
+
conn.create_command(<<-EOF).execute_non_query
|
108
|
+
update widgets set cost1 = NULL where id = 5
|
109
|
+
EOF
|
110
|
+
|
111
|
+
conn.create_command(<<-EOF).execute_non_query
|
112
|
+
update widgets set cost2 = NULL where id = 6
|
113
|
+
EOF
|
114
|
+
|
115
|
+
conn.create_command(<<-EOF).execute_non_query
|
116
|
+
update widgets set release_date = NULL where id = 7
|
117
|
+
EOF
|
118
|
+
|
119
|
+
conn.create_command(<<-EOF).execute_non_query
|
120
|
+
update widgets set release_datetime = NULL where id = 8
|
121
|
+
EOF
|
122
|
+
|
123
|
+
conn.create_command(<<-EOF).execute_non_query
|
124
|
+
update widgets set release_timestamp = NULL where id = 9
|
125
|
+
EOF
|
126
|
+
|
127
|
+
conn.create_command(<<-EOF).execute_non_query
|
128
|
+
update widgets set release_datetime = '2008-07-14 00:31:12' where id = 10
|
129
|
+
EOF
|
130
|
+
|
131
|
+
conn.close
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
RSpec.configure do |config|
|
136
|
+
config.include(DataObjectsSpecHelpers)
|
137
|
+
config.include(DataObjects::Spec::PendingHelpers)
|
138
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/bigdecimal_spec'
|
3
|
+
|
4
|
+
# Sqlite3 doesn't support decimals natively, so autocasting is not available:
|
5
|
+
# http://www.sqlite.org/datatype3.html
|
6
|
+
|
7
|
+
describe 'DataObjects::Sqlite3 with BigDecimal' do
|
8
|
+
it_behaves_like 'supporting BigDecimal'
|
9
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/boolean_spec'
|
3
|
+
|
4
|
+
# Sqlite3 doesn't support booleans natively, so autocasting is not available:
|
5
|
+
# http://www.sqlite.org/datatype3.html
|
6
|
+
|
7
|
+
describe 'DataObjects::Sqlite3 with Boolean' do
|
8
|
+
it_behaves_like 'supporting Boolean'
|
9
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/date_spec'
|
3
|
+
|
4
|
+
# Sqlite3 doesn't support dates natively, so autocasting is not available:
|
5
|
+
# http://www.sqlite.org/datatype3.html
|
6
|
+
|
7
|
+
describe 'DataObjects::Sqlite3 with Date' do
|
8
|
+
it_behaves_like 'supporting Date'
|
9
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/datetime_spec'
|
3
|
+
|
4
|
+
# Sqlite3 doesn't support datetimes natively, so autocasting is not available:
|
5
|
+
# http://www.sqlite.org/datatype3.html
|
6
|
+
|
7
|
+
describe 'DataObjects::Sqlite3 with DateTime' do
|
8
|
+
it_behaves_like 'supporting DateTime'
|
9
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/float_spec'
|
3
|
+
|
4
|
+
describe 'DataObjects::Sqlite3 with Float' do
|
5
|
+
it_behaves_like 'supporting Float'
|
6
|
+
end
|
7
|
+
|
8
|
+
describe 'DataObjects::Sqlite3 with Float' do
|
9
|
+
it_behaves_like 'supporting Float autocasting'
|
10
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/nil_spec'
|
3
|
+
|
4
|
+
# splitting the descibe into two separate declaration avoids
|
5
|
+
# concurrent execution of the "it_behaves_like ....." calls
|
6
|
+
# which would lock the database
|
7
|
+
|
8
|
+
describe 'DataObjects::Sqlite3 with Nil' do
|
9
|
+
it_behaves_like 'supporting Nil'
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'DataObjects::Sqlite3 with Nil' do
|
13
|
+
it_behaves_like 'supporting writing an Nil'
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'DataObjects::Sqlite3 with Nil' do
|
17
|
+
it_behaves_like 'supporting Nil autocasting'
|
18
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
require 'data_objects/spec/shared/typecast/time_spec'
|
3
|
+
|
4
|
+
describe 'DataObjects::Sqlite3 with Time' do
|
5
|
+
it_behaves_like 'supporting Time'
|
6
|
+
it_behaves_like 'supporting sub second Time'
|
7
|
+
end
|
data/tasks/compile.rake
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
begin
|
2
|
+
gem 'rake-compiler', '~>1.2'
|
3
|
+
require 'rake/extensiontask'
|
4
|
+
|
5
|
+
def gemspec
|
6
|
+
@gemspec ||= Gem::Specification.load(File.expand_path('../do_sqlite3.gemspec', __dir__))
|
7
|
+
end
|
8
|
+
|
9
|
+
Rake::ExtensionTask.new('do_sqlite3', gemspec) do |ext|
|
10
|
+
sqlite3_lib = File.expand_path(File.join(File.dirname(__FILE__), '..', 'vendor', 'sqlite3'))
|
11
|
+
|
12
|
+
ext.lib_dir = "lib/#{gemspec.name}"
|
13
|
+
|
14
|
+
ext.cross_config_options << "--with-sqlite3-dir=#{sqlite3_lib}"
|
15
|
+
ext.cross_config_options << "--with-sqlite3-include=#{sqlite3_lib}/include"
|
16
|
+
ext.cross_config_options << "--with-sqlite3-lib=#{sqlite3_lib}/lib"
|
17
|
+
|
18
|
+
|
19
|
+
# automatically add build options to avoid need of manual input
|
20
|
+
end
|
21
|
+
rescue LoadError
|
22
|
+
warn 'To compile, install rake-compiler (gem install rake-compiler)'
|
23
|
+
end
|
data/tasks/release.rake
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
desc 'Builds all gems (native, binaries for JRuby and Windows)'
|
2
|
+
task :build_all do
|
3
|
+
`rake clean`
|
4
|
+
`rake build`
|
5
|
+
end
|
6
|
+
|
7
|
+
desc 'Release all gems (native, binaries for JRuby and Windows)'
|
8
|
+
task release_all: :build_all do
|
9
|
+
Dir.children("pkg").each do |gem_path|
|
10
|
+
command = "gem push pkg/#{gem_path}"
|
11
|
+
puts "Executing #{command.inspect}:"
|
12
|
+
sh command
|
13
|
+
end
|
14
|
+
end
|
data/tasks/retrieve.rake
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
begin
|
2
|
+
gem 'rake-compiler', '~>1.2'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/extensioncompiler'
|
5
|
+
|
6
|
+
# required folder structure for --with-sqlite3-dir (include + lib)
|
7
|
+
directory 'vendor/sqlite3/lib'
|
8
|
+
directory 'vendor/sqlite3/include'
|
9
|
+
|
10
|
+
# clobber vendored packages
|
11
|
+
CLOBBER.include('vendor')
|
12
|
+
|
13
|
+
# vendor:sqlite3
|
14
|
+
task 'vendor:sqlite3' => %w[vendor/sqlite3/lib/sqlite3.lib vendor/sqlite3/include/sqlite3.h]
|
15
|
+
rescue LoadError
|
16
|
+
end
|
data/tasks/spec.rake
ADDED
metadata
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sbf-do_sqlite3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.10.17
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dirkjan Bussink
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-10-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sbf-data_objects
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.10.17
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.10.17
|
27
|
+
description: Implements the DataObjects API for Sqlite3
|
28
|
+
email: d.bussink@gmail.com
|
29
|
+
executables: []
|
30
|
+
extensions:
|
31
|
+
- ext/do_sqlite3/extconf.rb
|
32
|
+
extra_rdoc_files:
|
33
|
+
- ChangeLog.markdown
|
34
|
+
- LICENSE
|
35
|
+
- README.markdown
|
36
|
+
files:
|
37
|
+
- ChangeLog.markdown
|
38
|
+
- LICENSE
|
39
|
+
- README.markdown
|
40
|
+
- Rakefile
|
41
|
+
- ext/do_sqlite3/compat.h
|
42
|
+
- ext/do_sqlite3/do_common.c
|
43
|
+
- ext/do_sqlite3/do_common.h
|
44
|
+
- ext/do_sqlite3/do_sqlite3.c
|
45
|
+
- ext/do_sqlite3/do_sqlite3.h
|
46
|
+
- ext/do_sqlite3/do_sqlite3_extension.c
|
47
|
+
- ext/do_sqlite3/error.h
|
48
|
+
- ext/do_sqlite3/extconf.rb
|
49
|
+
- lib/do_sqlite3.rb
|
50
|
+
- lib/do_sqlite3/transaction.rb
|
51
|
+
- lib/do_sqlite3/version.rb
|
52
|
+
- spec/command_spec.rb
|
53
|
+
- spec/connection_spec.rb
|
54
|
+
- spec/encoding_spec.rb
|
55
|
+
- spec/error/sql_error_spec.rb
|
56
|
+
- spec/reader_spec.rb
|
57
|
+
- spec/result_spec.rb
|
58
|
+
- spec/spec_helper.rb
|
59
|
+
- spec/typecast/array_spec.rb
|
60
|
+
- spec/typecast/bigdecimal_spec.rb
|
61
|
+
- spec/typecast/boolean_spec.rb
|
62
|
+
- spec/typecast/byte_array_spec.rb
|
63
|
+
- spec/typecast/class_spec.rb
|
64
|
+
- spec/typecast/date_spec.rb
|
65
|
+
- spec/typecast/datetime_spec.rb
|
66
|
+
- spec/typecast/float_spec.rb
|
67
|
+
- spec/typecast/integer_spec.rb
|
68
|
+
- spec/typecast/nil_spec.rb
|
69
|
+
- spec/typecast/other_spec.rb
|
70
|
+
- spec/typecast/range_spec.rb
|
71
|
+
- spec/typecast/string_spec.rb
|
72
|
+
- spec/typecast/time_spec.rb
|
73
|
+
- tasks/compile.rake
|
74
|
+
- tasks/release.rake
|
75
|
+
- tasks/retrieve.rake
|
76
|
+
- tasks/spec.rake
|
77
|
+
homepage: https://github.com/firespring/datamapper-do/do_do_sqlite3
|
78
|
+
licenses:
|
79
|
+
- Nonstandard
|
80
|
+
metadata: {}
|
81
|
+
post_install_message:
|
82
|
+
rdoc_options: []
|
83
|
+
require_paths:
|
84
|
+
- lib
|
85
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.7.8
|
90
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
requirements: []
|
96
|
+
rubygems_version: 3.4.10
|
97
|
+
signing_key:
|
98
|
+
specification_version: 4
|
99
|
+
summary: DataObjects Sqlite3 Driver
|
100
|
+
test_files: []
|