ydbi 0.5.9 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.envrc +3 -0
- data/.github/workflows/ruby.yml +65 -0
- data/.gitignore +19 -0
- data/ChangeLog +9 -0
- data/Gemfile +5 -0
- data/Rakefile +14 -0
- data/TODO +44 -0
- data/bench/bench.rb +79 -0
- data/build/rake_task_lib.rb +186 -0
- data/devenv.lock +228 -0
- data/devenv.nix +55 -0
- data/devenv.yaml +8 -0
- data/doc/DBD_SPEC.rdoc +88 -0
- data/doc/DBI_SPEC.rdoc +157 -0
- data/doc/homepage/contact.html +62 -0
- data/doc/homepage/development.html +124 -0
- data/doc/homepage/index.html +83 -0
- data/doc/homepage/ruby-dbi.css +91 -0
- data/lib/dbd/Mysql.rb +137 -0
- data/lib/dbd/ODBC.rb +89 -0
- data/lib/dbd/Pg.rb +189 -0
- data/lib/dbd/SQLite.rb +97 -0
- data/lib/dbd/SQLite3.rb +124 -0
- data/lib/dbd/mysql/database.rb +405 -0
- data/lib/dbd/mysql/driver.rb +125 -0
- data/lib/dbd/mysql/statement.rb +188 -0
- data/lib/dbd/odbc/database.rb +128 -0
- data/lib/dbd/odbc/driver.rb +38 -0
- data/lib/dbd/odbc/statement.rb +137 -0
- data/lib/dbd/pg/database.rb +508 -0
- data/lib/dbd/pg/exec.rb +47 -0
- data/lib/dbd/pg/statement.rb +160 -0
- data/lib/dbd/pg/tuples.rb +121 -0
- data/lib/dbd/pg/type.rb +209 -0
- data/lib/dbd/sqlite/database.rb +151 -0
- data/lib/dbd/sqlite/statement.rb +125 -0
- data/lib/dbd/sqlite3/database.rb +201 -0
- data/lib/dbd/sqlite3/statement.rb +78 -0
- data/lib/dbi/version.rb +1 -1
- data/prototypes/types2.rb +237 -0
- data/setup.rb +1585 -0
- data/test/DBD_TESTS +50 -0
- data/test/TESTING +16 -0
- data/test/dbd/general/test_database.rb +206 -0
- data/test/dbd/general/test_statement.rb +325 -0
- data/test/dbd/general/test_types.rb +295 -0
- data/test/dbd/mysql/base.rb +26 -0
- data/test/dbd/mysql/down.sql +19 -0
- data/test/dbd/mysql/test_blob.rb +18 -0
- data/test/dbd/mysql/test_new_methods.rb +7 -0
- data/test/dbd/mysql/test_patches.rb +111 -0
- data/test/dbd/mysql/up.sql +28 -0
- data/test/dbd/odbc/base.rb +30 -0
- data/test/dbd/odbc/down.sql +19 -0
- data/test/dbd/odbc/test_new_methods.rb +12 -0
- data/test/dbd/odbc/test_ping.rb +10 -0
- data/test/dbd/odbc/test_statement.rb +44 -0
- data/test/dbd/odbc/test_transactions.rb +58 -0
- data/test/dbd/odbc/up.sql +33 -0
- data/test/dbd/postgresql/base.rb +31 -0
- data/test/dbd/postgresql/down.sql +31 -0
- data/test/dbd/postgresql/test_arrays.rb +179 -0
- data/test/dbd/postgresql/test_async.rb +121 -0
- data/test/dbd/postgresql/test_blob.rb +37 -0
- data/test/dbd/postgresql/test_bytea.rb +88 -0
- data/test/dbd/postgresql/test_ping.rb +10 -0
- data/test/dbd/postgresql/test_timestamp.rb +77 -0
- data/test/dbd/postgresql/test_transactions.rb +58 -0
- data/test/dbd/postgresql/testdbipg.rb +307 -0
- data/test/dbd/postgresql/up.sql +60 -0
- data/test/dbd/sqlite/base.rb +32 -0
- data/test/dbd/sqlite/test_database.rb +30 -0
- data/test/dbd/sqlite/test_driver.rb +68 -0
- data/test/dbd/sqlite/test_statement.rb +112 -0
- data/test/dbd/sqlite/up.sql +25 -0
- data/test/dbd/sqlite3/base.rb +32 -0
- data/test/dbd/sqlite3/test_database.rb +77 -0
- data/test/dbd/sqlite3/test_driver.rb +67 -0
- data/test/dbd/sqlite3/test_statement.rb +88 -0
- data/test/dbd/sqlite3/up.sql +33 -0
- data/test/dbi/tc_dbi.rb +1 -1
- data/test/ts_dbd.rb +136 -0
- data/ydbi.gemspec +25 -0
- metadata +150 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80455e3ec5f80b4e8539b22d58879b7012f70b83c29bc9784bb82427566aa91b
|
4
|
+
data.tar.gz: 18c776985c1edd563dc5783e6515f1b2653e80ab884272c084fdaad8b59e502e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aa52a52781a15e92afb3707a326880aebbf42fe732133614bb8aebcb643b3403dd3075fe96589b2704f053048120e7672df3d6ba6687d1eb5c64624b1095fdf
|
7
|
+
data.tar.gz: ab575de5db9ed153350a8305e72757378380731b8bcb9e6adc1ffcc5b25aa4f1596ffd7bd4100579ed5d417dedf83fe70c27f8f97077999c2bc5c0d39aab676f
|
data/.envrc
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
# Service containers to run with `runner-job`
|
20
|
+
services:
|
21
|
+
# Label used to access the service container
|
22
|
+
postgres:
|
23
|
+
# Docker Hub image
|
24
|
+
image: postgres
|
25
|
+
# Provide the password for postgres
|
26
|
+
env:
|
27
|
+
# POSTGRES_PASSWORD: pg_password
|
28
|
+
POSTGRES_HOST_AUTH_METHOD: trust
|
29
|
+
POSTGRES_USER: ydbi_pg
|
30
|
+
# Set health checks to wait until postgres has started
|
31
|
+
options: >-
|
32
|
+
--health-cmd pg_isready
|
33
|
+
--health-interval 10s
|
34
|
+
--health-timeout 5s
|
35
|
+
--health-retries 5
|
36
|
+
ports:
|
37
|
+
# Maps tcp port 5432 on service container to the host
|
38
|
+
- 5432:5432
|
39
|
+
|
40
|
+
strategy:
|
41
|
+
fail-fast: false
|
42
|
+
matrix:
|
43
|
+
ruby-version: ['2.6', '2.7', '3.0', '3.1', 3.2, 3.3]
|
44
|
+
|
45
|
+
steps:
|
46
|
+
- uses: actions/checkout@v4
|
47
|
+
- name: Set up Ruby
|
48
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
49
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
50
|
+
# uses: ruby/setup-ruby@v1
|
51
|
+
uses: ruby/setup-ruby@v1
|
52
|
+
with:
|
53
|
+
ruby-version: ${{ matrix.ruby-version }}
|
54
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
55
|
+
- name: Run tests
|
56
|
+
env:
|
57
|
+
PGDATABASE: ydbi_pg
|
58
|
+
PGHOST: localhost
|
59
|
+
PGPORT: 5432
|
60
|
+
PGUSER: ydbi_pg
|
61
|
+
PGPASSWORD: postgres
|
62
|
+
|
63
|
+
run: |
|
64
|
+
psql --version
|
65
|
+
bundle exec rake test
|
data/.gitignore
ADDED
data/ChangeLog
CHANGED
@@ -1,6 +1,15 @@
|
|
1
|
+
## 0.6.0 - 30/01/2024
|
2
|
+
* fix running under postgresql 12 and later
|
3
|
+
* run tests for ydbi-pg via test/dbd/postgresql and add them to the github workflow
|
4
|
+
* Added support for https://devenv.sh
|
5
|
+
|
1
6
|
## 0.5.9 - 15/12/2022
|
2
7
|
* fix issue with tty, see https://github.com/zdavatz/oddb.org/issues/183
|
3
8
|
|
9
|
+
## 0.5.8 - 11/03/2021
|
10
|
+
|
11
|
+
* removed fixed dependency to pg (is now optional like mysql)
|
12
|
+
|
4
13
|
## 0.5.7 - 18/01/2021
|
5
14
|
|
6
15
|
* Fixed and cleaned Unit Tests
|
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
$:.unshift 'build'
|
2
|
+
found = false;
|
3
|
+
if File.exist? 'lib/dbi'
|
4
|
+
require 'Rakefile.dbi'
|
5
|
+
end
|
6
|
+
if File.exist? 'lib/dbd'
|
7
|
+
require 'rake_task_lib'
|
8
|
+
build_dbd_tasks(File.basename(Dir['lib/dbd/*.rb'][0], '.rb').downcase)
|
9
|
+
found = true;
|
10
|
+
end
|
11
|
+
unless found
|
12
|
+
abort "Well, this is odd; No DBI or DBD found."
|
13
|
+
end
|
14
|
+
require 'bundler/gem_tasks'
|
data/TODO
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
0.4.0:
|
2
|
+
x Work
|
3
|
+
x Postgres quoting toggles
|
4
|
+
x Postgres binding toggles
|
5
|
+
x Test for #20489
|
6
|
+
* Release checklist:
|
7
|
+
x Update ChangeLog
|
8
|
+
x rake
|
9
|
+
x remove all related gems, install all DBI/DBD gems (check prereqs)
|
10
|
+
x write a few test scripts to make sure drivers are loading
|
11
|
+
x Update homepage (irc channel, git, other changes)
|
12
|
+
* tag as 0.4.0
|
13
|
+
* upload rdoc
|
14
|
+
* upload packages
|
15
|
+
* release announcement (rf, ruby-talk, dbi lists, other places?)
|
16
|
+
* rebase master from development
|
17
|
+
* BEER
|
18
|
+
0.6.0:
|
19
|
+
* Cleanup:
|
20
|
+
* Arrays:
|
21
|
+
* Find some way to get the extents of an array type
|
22
|
+
* checked pg_type, pg_attribute and pg_class, can't find anything.
|
23
|
+
* I don't think this is possible, but let's slate it for 0.6.0 anyways.
|
24
|
+
* Tracing
|
25
|
+
* WTH do we want to do with this
|
26
|
+
* Wow, this module has *serious issues*. Crashes DBI without warning. Redo this completely.
|
27
|
+
* 0.6.0
|
28
|
+
* Re-institute drivers
|
29
|
+
* Proxy
|
30
|
+
* Slated for 0.6.0
|
31
|
+
* Finish type management system
|
32
|
+
* Unify ColumnInfo
|
33
|
+
* Should we enforce ColumnInfo requirements at the DBI level?
|
34
|
+
* At least test the result of statement colinfo uniformly
|
35
|
+
* 0.6.0
|
36
|
+
* Cleanup core
|
37
|
+
* Require code is a mess
|
38
|
+
* Just remove the case-sensitivity from the DBDs in general
|
39
|
+
* 0.6.0
|
40
|
+
* Find a good clean way to enumerate drivers in separate gems
|
41
|
+
* Some registration-on-require would be cleaner and safer
|
42
|
+
* 0.6.0
|
43
|
+
* Scripts
|
44
|
+
* bin/dbd_proxy seems to have never worked; slate it for 0.6.0
|
data/bench/bench.rb
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
$:.unshift File.dirname(__FILE__) + '/../lib'
|
3
|
+
require 'dbi'
|
4
|
+
|
5
|
+
class DbiBenchmark
|
6
|
+
attr_reader :db
|
7
|
+
|
8
|
+
def initialize db, quiet=false
|
9
|
+
@db = db
|
10
|
+
@quiet = quiet
|
11
|
+
end
|
12
|
+
|
13
|
+
def puts(*args)
|
14
|
+
super unless @quiet
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
times = {}
|
19
|
+
%w[create_test_table selecting_floats selecting_datetimes].each do |name|
|
20
|
+
t = Time.now
|
21
|
+
puts "* #{name.tr('_', ' ').capitalize}"
|
22
|
+
send name
|
23
|
+
took = Time.now - t
|
24
|
+
puts " (took #{took} seconds)"
|
25
|
+
puts
|
26
|
+
times[name] = took
|
27
|
+
end
|
28
|
+
times
|
29
|
+
ensure
|
30
|
+
db.do 'drop table data'
|
31
|
+
end
|
32
|
+
|
33
|
+
def create_test_table
|
34
|
+
db.do <<-end
|
35
|
+
create table data (
|
36
|
+
date timestamp,
|
37
|
+
value float
|
38
|
+
)
|
39
|
+
end
|
40
|
+
db.do 'begin'
|
41
|
+
today = Date.today
|
42
|
+
5_000.times do
|
43
|
+
db.do "insert into data values ('#{today + rand(100) - 50}', #{10 + rand * 30})"
|
44
|
+
end
|
45
|
+
db.do 'commit'
|
46
|
+
end
|
47
|
+
|
48
|
+
def selecting_floats
|
49
|
+
strs = db.select_all('select value from data').map { |v| v.to_s }
|
50
|
+
puts *strs[0, 5]
|
51
|
+
puts '...'
|
52
|
+
end
|
53
|
+
|
54
|
+
def selecting_datetimes
|
55
|
+
strs = db.select_all('select date from data').map { |v| v.to_s }
|
56
|
+
puts *strs[0, 5]
|
57
|
+
puts '...'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def bench
|
62
|
+
dbiurls = [
|
63
|
+
'DBI:Mysql:dbitest:localhost',
|
64
|
+
'DBI:ODBC:MYDBITEST',
|
65
|
+
'DBI:Pg:dbitest:localhost',
|
66
|
+
'DBI:ODBC:PGDBITEST',
|
67
|
+
]
|
68
|
+
order = %w[create_test_table selecting_floats selecting_datetimes]
|
69
|
+
dbiurls.map do |url|
|
70
|
+
# assume all dbs have the same credentials
|
71
|
+
DBI.connect(url, *ARGV) do |db|
|
72
|
+
[url.first.sub('DBI:', ''), *DbiBenchmark.new(db, true).run.values_at(*order)]
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
puts 'Running benchmark:'
|
78
|
+
DBI::Utils::TableFormatter.ascii(%w[db insert float datetime], bench, nil, nil, nil, nil, 30)
|
79
|
+
|
@@ -0,0 +1,186 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
require 'rake'
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rubygems/package_task'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rdoc/task'
|
7
|
+
|
8
|
+
|
9
|
+
DEFAULT_TASKS = [:clobber_package, :package, :gem]
|
10
|
+
|
11
|
+
DBD_GEM_DEP_MAP = {
|
12
|
+
'pg' => 'pg',
|
13
|
+
# 'mysql' => 'mysql',
|
14
|
+
# 'sqlite' => 'sqlite-ruby',
|
15
|
+
# 'sqlite3' => 'sqlite3-ruby'
|
16
|
+
}
|
17
|
+
|
18
|
+
#
|
19
|
+
# Packaging
|
20
|
+
#
|
21
|
+
|
22
|
+
PACKAGE_FILES = %w(Rakefile build/rake_task_lib.rb setup.rb)
|
23
|
+
DOC_FILES = %w(readme.md LICENSE ChangeLog)
|
24
|
+
EXCLUSIONS = %w(test/sql.log)
|
25
|
+
DBD_FILES = %w(test/DBD_TESTS)
|
26
|
+
|
27
|
+
#
|
28
|
+
# some inlines
|
29
|
+
#
|
30
|
+
|
31
|
+
def gem_files(code_files)
|
32
|
+
(code_files + DOC_FILES).collect { |x| Dir[x] }.reject { |x| EXCLUSIONS.include? x }.flatten
|
33
|
+
end
|
34
|
+
|
35
|
+
def package_files(code_files)
|
36
|
+
code_files + DOC_FILES + PACKAGE_FILES
|
37
|
+
end
|
38
|
+
|
39
|
+
def build_package_tasks(spec, code_files)
|
40
|
+
Gem::PackageTask.new(spec) do |s|
|
41
|
+
end
|
42
|
+
|
43
|
+
Rake::PackageTask.new('y'+spec.name, spec.version) do |p|
|
44
|
+
p.need_tar_gz = true
|
45
|
+
p.need_zip = true
|
46
|
+
|
47
|
+
package_files(code_files).each do |x|
|
48
|
+
p.package_files.include(x)
|
49
|
+
end
|
50
|
+
|
51
|
+
EXCLUSIONS.each do |x|
|
52
|
+
p.package_files.exclude(x)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def boilerplate_spec
|
58
|
+
gem = Gem::Specification.new
|
59
|
+
gem.authors = ['Erik Hollensbe', 'Christopher Maujean']
|
60
|
+
gem.email = 'zdavatz@ywesee.com'
|
61
|
+
gem.homepage = 'https://github.com/zdavatz/ydbi'
|
62
|
+
gem.platform = Gem::Platform::RUBY
|
63
|
+
gem.extra_rdoc_files = DOC_FILES
|
64
|
+
gem.required_ruby_version = '>= 1.8.0'
|
65
|
+
gem.rubyforge_project = 'ydbi'
|
66
|
+
return gem
|
67
|
+
end
|
68
|
+
|
69
|
+
# builds a dbd namespace from the DBD_PACKAGES hash
|
70
|
+
def dbd_namespace(dbd)
|
71
|
+
"ydbd-" + dbd.to_s.downcase
|
72
|
+
end
|
73
|
+
|
74
|
+
def dbd_code_files(dbd)
|
75
|
+
code_files = [
|
76
|
+
"test/dbd/general/**",
|
77
|
+
File.join("test", "dbd", dbd.downcase == "pg" ? "postgresql" : dbd.downcase, "*"),
|
78
|
+
File.join("lib", "dbd", dbd + ".rb"),
|
79
|
+
"lib/dbd/#{dbd.downcase}/*.rb",
|
80
|
+
] + DBD_FILES
|
81
|
+
end
|
82
|
+
|
83
|
+
def dbd_gem_files(code_files)
|
84
|
+
DBD_FILES + gem_files(code_files)
|
85
|
+
end
|
86
|
+
|
87
|
+
def dbd_package_files(code_files)
|
88
|
+
DBD_FILES + package_files(code_files)
|
89
|
+
end
|
90
|
+
|
91
|
+
def dbd_gem_spec(dbd, dbd_const, code_files)
|
92
|
+
spec = boilerplate_spec
|
93
|
+
spec.name = dbd_namespace(dbd)
|
94
|
+
spec.version = dbd_version(dbd_const)
|
95
|
+
spec.test_file = 'test/ts_dbd.rb'
|
96
|
+
spec.files = gem_files(code_files)
|
97
|
+
spec.summary = dbd_description(dbd_const)
|
98
|
+
spec.description = dbd_description(dbd_const)
|
99
|
+
spec.add_dependency 'ydbi', DBI::VERSION
|
100
|
+
|
101
|
+
dcdbd = dbd.downcase
|
102
|
+
|
103
|
+
if DBD_GEM_DEP_MAP[dcdbd]
|
104
|
+
spec.add_dependency DBD_GEM_DEP_MAP[dcdbd]
|
105
|
+
end
|
106
|
+
|
107
|
+
return spec
|
108
|
+
end
|
109
|
+
|
110
|
+
def dbd_version(const)
|
111
|
+
DBI::DBD.const_get(const).const_get("VERSION")
|
112
|
+
end
|
113
|
+
|
114
|
+
def dbd_description(const)
|
115
|
+
DBI::DBD.const_get(const).const_get("DESCRIPTION")
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
def build_dbd_tasks(dbd)
|
120
|
+
task :default => DEFAULT_TASKS
|
121
|
+
|
122
|
+
begin
|
123
|
+
done = false
|
124
|
+
dbd_const = nil
|
125
|
+
Dir["lib/dbd/*.rb"].each do |dbd_file|
|
126
|
+
if File.basename(dbd_file.downcase, '.rb') == dbd.to_s.downcase
|
127
|
+
dbd_const = File.basename(dbd_file, '.rb')
|
128
|
+
require "dbd/#{dbd_const}"
|
129
|
+
done = true
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
abort "No DBD found even though we asked to make tasks for it" unless done
|
134
|
+
|
135
|
+
code_files = dbd_code_files(dbd_const)
|
136
|
+
|
137
|
+
spec = dbd_gem_spec(dbd, dbd_const, code_files)
|
138
|
+
|
139
|
+
build_package_tasks(spec, code_files)
|
140
|
+
|
141
|
+
# FIXME: convert to a rake_test_loader sooner or later
|
142
|
+
task :test do
|
143
|
+
ENV["DBTYPES"] = dbd
|
144
|
+
ruby "test/ts_dbd.rb"
|
145
|
+
end
|
146
|
+
rescue LoadError => e
|
147
|
+
DEFAULT_TASKS.each do |x|
|
148
|
+
task x do
|
149
|
+
end
|
150
|
+
end
|
151
|
+
warn "Skipping #{dbd_namespace(dbd)} because we can't require DBD"
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
def build_dbi_tasks
|
156
|
+
end
|
157
|
+
|
158
|
+
#
|
159
|
+
# basic tasks
|
160
|
+
#
|
161
|
+
|
162
|
+
task :dist => [:distclean, :package, :rdoc]
|
163
|
+
task :distclean => [:clobber_package, :clobber_rdoc]
|
164
|
+
task :clean => [:distclean]
|
165
|
+
task :default => [:test, :dist]
|
166
|
+
|
167
|
+
task :to_blog => [:clobber_rdoc, :rdoc] do
|
168
|
+
sh "rm -r $git/blog/content/docs/ruby-dbi && mv rdoc $git/blog/content/docs/ruby-dbi"
|
169
|
+
end
|
170
|
+
|
171
|
+
#
|
172
|
+
# Documentation
|
173
|
+
#
|
174
|
+
|
175
|
+
RDoc::Task.new do |rd|
|
176
|
+
rd.rdoc_dir = "rdoc"
|
177
|
+
rd.main = "readme.md"
|
178
|
+
rd.rdoc_files.include("./readme.md")
|
179
|
+
rd.rdoc_files.include("./ChangeLog")
|
180
|
+
rd.rdoc_files.include("./LICENSE")
|
181
|
+
rd.rdoc_files.include("./doc/**/*.rdoc")
|
182
|
+
rd.rdoc_files.include("./lib/**/*.rb")
|
183
|
+
rd.rdoc_files.include("./ext/**/*.c")
|
184
|
+
rd.options = %w(-a)
|
185
|
+
end
|
186
|
+
|
data/devenv.lock
ADDED
@@ -0,0 +1,228 @@
|
|
1
|
+
{
|
2
|
+
"nodes": {
|
3
|
+
"devenv": {
|
4
|
+
"locked": {
|
5
|
+
"dir": "src/modules",
|
6
|
+
"lastModified": 1705399223,
|
7
|
+
"narHash": "sha256-2nhAJ/9LMlwaEZDnoDIhnhQ0pEC/YIIt09WD7FmTp6g=",
|
8
|
+
"owner": "cachix",
|
9
|
+
"repo": "devenv",
|
10
|
+
"rev": "ff37923d4ba9e220b9826594e83fc29e1a4f4338",
|
11
|
+
"type": "github"
|
12
|
+
},
|
13
|
+
"original": {
|
14
|
+
"dir": "src/modules",
|
15
|
+
"owner": "cachix",
|
16
|
+
"repo": "devenv",
|
17
|
+
"type": "github"
|
18
|
+
}
|
19
|
+
},
|
20
|
+
"flake-compat": {
|
21
|
+
"flake": false,
|
22
|
+
"locked": {
|
23
|
+
"lastModified": 1696426674,
|
24
|
+
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
25
|
+
"owner": "edolstra",
|
26
|
+
"repo": "flake-compat",
|
27
|
+
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
28
|
+
"type": "github"
|
29
|
+
},
|
30
|
+
"original": {
|
31
|
+
"owner": "edolstra",
|
32
|
+
"repo": "flake-compat",
|
33
|
+
"type": "github"
|
34
|
+
}
|
35
|
+
},
|
36
|
+
"flake-compat_2": {
|
37
|
+
"flake": false,
|
38
|
+
"locked": {
|
39
|
+
"lastModified": 1696426674,
|
40
|
+
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
41
|
+
"owner": "edolstra",
|
42
|
+
"repo": "flake-compat",
|
43
|
+
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
44
|
+
"type": "github"
|
45
|
+
},
|
46
|
+
"original": {
|
47
|
+
"owner": "edolstra",
|
48
|
+
"repo": "flake-compat",
|
49
|
+
"type": "github"
|
50
|
+
}
|
51
|
+
},
|
52
|
+
"flake-utils": {
|
53
|
+
"inputs": {
|
54
|
+
"systems": "systems"
|
55
|
+
},
|
56
|
+
"locked": {
|
57
|
+
"lastModified": 1694529238,
|
58
|
+
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
59
|
+
"owner": "numtide",
|
60
|
+
"repo": "flake-utils",
|
61
|
+
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
62
|
+
"type": "github"
|
63
|
+
},
|
64
|
+
"original": {
|
65
|
+
"owner": "numtide",
|
66
|
+
"repo": "flake-utils",
|
67
|
+
"type": "github"
|
68
|
+
}
|
69
|
+
},
|
70
|
+
"flake-utils_2": {
|
71
|
+
"inputs": {
|
72
|
+
"systems": "systems_2"
|
73
|
+
},
|
74
|
+
"locked": {
|
75
|
+
"lastModified": 1701680307,
|
76
|
+
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
77
|
+
"owner": "numtide",
|
78
|
+
"repo": "flake-utils",
|
79
|
+
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
80
|
+
"type": "github"
|
81
|
+
},
|
82
|
+
"original": {
|
83
|
+
"owner": "numtide",
|
84
|
+
"repo": "flake-utils",
|
85
|
+
"type": "github"
|
86
|
+
}
|
87
|
+
},
|
88
|
+
"gitignore": {
|
89
|
+
"inputs": {
|
90
|
+
"nixpkgs": [
|
91
|
+
"pre-commit-hooks",
|
92
|
+
"nixpkgs"
|
93
|
+
]
|
94
|
+
},
|
95
|
+
"locked": {
|
96
|
+
"lastModified": 1703887061,
|
97
|
+
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
|
98
|
+
"owner": "hercules-ci",
|
99
|
+
"repo": "gitignore.nix",
|
100
|
+
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
|
101
|
+
"type": "github"
|
102
|
+
},
|
103
|
+
"original": {
|
104
|
+
"owner": "hercules-ci",
|
105
|
+
"repo": "gitignore.nix",
|
106
|
+
"type": "github"
|
107
|
+
}
|
108
|
+
},
|
109
|
+
"nixpkgs": {
|
110
|
+
"locked": {
|
111
|
+
"lastModified": 1705331948,
|
112
|
+
"narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=",
|
113
|
+
"owner": "NixOS",
|
114
|
+
"repo": "nixpkgs",
|
115
|
+
"rev": "b8dd8be3c790215716e7c12b247f45ca525867e2",
|
116
|
+
"type": "github"
|
117
|
+
},
|
118
|
+
"original": {
|
119
|
+
"owner": "NixOS",
|
120
|
+
"ref": "nixos-23.11",
|
121
|
+
"repo": "nixpkgs",
|
122
|
+
"type": "github"
|
123
|
+
}
|
124
|
+
},
|
125
|
+
"nixpkgs-ruby": {
|
126
|
+
"inputs": {
|
127
|
+
"flake-compat": "flake-compat",
|
128
|
+
"flake-utils": "flake-utils",
|
129
|
+
"nixpkgs": [
|
130
|
+
"nixpkgs"
|
131
|
+
]
|
132
|
+
},
|
133
|
+
"locked": {
|
134
|
+
"lastModified": 1705118282,
|
135
|
+
"narHash": "sha256-9FUnVSPjF+xV2a7tfai8fxi9Ek538mdkEjaFJnWRk9Y=",
|
136
|
+
"owner": "bobvanderlinden",
|
137
|
+
"repo": "nixpkgs-ruby",
|
138
|
+
"rev": "1a4b0055af39b2d0756d5a117589b8ccddbce4f8",
|
139
|
+
"type": "github"
|
140
|
+
},
|
141
|
+
"original": {
|
142
|
+
"owner": "bobvanderlinden",
|
143
|
+
"repo": "nixpkgs-ruby",
|
144
|
+
"type": "github"
|
145
|
+
}
|
146
|
+
},
|
147
|
+
"nixpkgs-stable": {
|
148
|
+
"locked": {
|
149
|
+
"lastModified": 1704874635,
|
150
|
+
"narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=",
|
151
|
+
"owner": "NixOS",
|
152
|
+
"repo": "nixpkgs",
|
153
|
+
"rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356",
|
154
|
+
"type": "github"
|
155
|
+
},
|
156
|
+
"original": {
|
157
|
+
"owner": "NixOS",
|
158
|
+
"ref": "nixos-23.11",
|
159
|
+
"repo": "nixpkgs",
|
160
|
+
"type": "github"
|
161
|
+
}
|
162
|
+
},
|
163
|
+
"pre-commit-hooks": {
|
164
|
+
"inputs": {
|
165
|
+
"flake-compat": "flake-compat_2",
|
166
|
+
"flake-utils": "flake-utils_2",
|
167
|
+
"gitignore": "gitignore",
|
168
|
+
"nixpkgs": [
|
169
|
+
"nixpkgs"
|
170
|
+
],
|
171
|
+
"nixpkgs-stable": "nixpkgs-stable"
|
172
|
+
},
|
173
|
+
"locked": {
|
174
|
+
"lastModified": 1705229514,
|
175
|
+
"narHash": "sha256-itILy0zimR/iyUGq5Dgg0fiW8plRDyxF153LWGsg3Cw=",
|
176
|
+
"owner": "cachix",
|
177
|
+
"repo": "pre-commit-hooks.nix",
|
178
|
+
"rev": "ffa9a5b90b0acfaa03b1533b83eaf5dead819a05",
|
179
|
+
"type": "github"
|
180
|
+
},
|
181
|
+
"original": {
|
182
|
+
"owner": "cachix",
|
183
|
+
"repo": "pre-commit-hooks.nix",
|
184
|
+
"type": "github"
|
185
|
+
}
|
186
|
+
},
|
187
|
+
"root": {
|
188
|
+
"inputs": {
|
189
|
+
"devenv": "devenv",
|
190
|
+
"nixpkgs": "nixpkgs",
|
191
|
+
"nixpkgs-ruby": "nixpkgs-ruby",
|
192
|
+
"pre-commit-hooks": "pre-commit-hooks"
|
193
|
+
}
|
194
|
+
},
|
195
|
+
"systems": {
|
196
|
+
"locked": {
|
197
|
+
"lastModified": 1681028828,
|
198
|
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
199
|
+
"owner": "nix-systems",
|
200
|
+
"repo": "default",
|
201
|
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
202
|
+
"type": "github"
|
203
|
+
},
|
204
|
+
"original": {
|
205
|
+
"owner": "nix-systems",
|
206
|
+
"repo": "default",
|
207
|
+
"type": "github"
|
208
|
+
}
|
209
|
+
},
|
210
|
+
"systems_2": {
|
211
|
+
"locked": {
|
212
|
+
"lastModified": 1681028828,
|
213
|
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
214
|
+
"owner": "nix-systems",
|
215
|
+
"repo": "default",
|
216
|
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
217
|
+
"type": "github"
|
218
|
+
},
|
219
|
+
"original": {
|
220
|
+
"owner": "nix-systems",
|
221
|
+
"repo": "default",
|
222
|
+
"type": "github"
|
223
|
+
}
|
224
|
+
}
|
225
|
+
},
|
226
|
+
"root": "root",
|
227
|
+
"version": 7
|
228
|
+
}
|