ydbi 0.5.8 → 0.6.0
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 +4 -4
- data/.envrc +3 -0
- data/.github/workflows/ruby.yml +65 -0
- data/.gitignore +19 -0
- data/ChangeLog +8 -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/readme.md +3 -4
- 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 +148 -12
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,3 +1,11 @@
|
|
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
|
+
|
6
|
+
## 0.5.9 - 15/12/2022
|
7
|
+
* fix issue with tty, see https://github.com/zdavatz/oddb.org/issues/183
|
8
|
+
|
1
9
|
## 0.5.8 - 11/03/2021
|
2
10
|
|
3
11
|
* removed fixed dependency to pg (is now optional like mysql)
|
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
|
+
}
|