-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.rb
48 lines (47 loc) · 1.16 KB
/
database.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env ruby
# $Id$
module Fuwatto
class Database
DATABASE_NAME = "md.db"
CREATE_TABLE = <<-EOF
CREATE TABLE IF NOT EXISTS md (
indexed INTEGER,
identifier TEXT,
description TEXT,
title TEXT,
jtitle TEXT,
creator TEXT,
alternative TEXT,
subject TEXT,
NIIsubject TEXT,
publisher TEXT,
contributor TEXT,
type TEXT,
source TEXT
);
EOF
def initialize( klass )
@klass = klass
if @klass.name == "DBI"
@db = @klass.connect(DATABASE_NAME)
elsif @klass.name == "SQLite3::Database"
@db = @klass.new(DATABASE_NAME)
else
raise "unknown dbtype: #{klass}"
end
@db.execute( CREATE_TABLE )
#STDERR.puts "INFO: #{ DATABASE_NAME.inspect } not found. New database is created."
end
def method_missing( name, args = nil, &block )
if @db.respond_to?( name )
if args.nil?
@db.send( name, &block )
else
@db.send( name, *args, &block )
end
else
raise NameError::new( "method_missing: #{name}: #{args}" )
end
end
end
end