Skip to content

Commit f1ffca5

Browse files
committed
move db_filename to be private, expose filename with default params
1 parent 793a121 commit f1ffca5

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

ext/sqlite3/database.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ void init_sqlite3_database()
840840
rb_define_method(cSqlite3Database, "busy_handler", busy_handler, -1);
841841
rb_define_method(cSqlite3Database, "busy_timeout=", set_busy_timeout, 1);
842842
rb_define_method(cSqlite3Database, "transaction_active?", transaction_active_p, 0);
843-
rb_define_method(cSqlite3Database, "db_filename", db_filename, 1);
843+
rb_define_private_method(cSqlite3Database, "db_filename", db_filename, 1);
844844

845845
#ifdef HAVE_SQLITE3_LOAD_EXTENSION
846846
rb_define_method(cSqlite3Database, "load_extension", load_extension, 1);

lib/sqlite3/database.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ def prepare sql
9898
end
9999
end
100100

101+
# Returns the filename for the database named +db_name+. +db_name+ defaults
102+
# to "main". Main return `nil` or an empty string if the database is
103+
# temporary or in-memory.
104+
def filename db_name = 'main'
105+
db_filename db_name
106+
end
107+
101108
# Executes the given SQL statement. If additional parameters are given,
102109
# they are treated as bind variables, and are bound to the placeholders in
103110
# the query.

test/test_database.rb

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,19 @@ def test_segv
1515
end
1616

1717
def test_db_filename
18-
assert_equal '', @db.db_filename('main')
18+
assert_equal '', @db.filename('main')
1919
tf = Tempfile.new
2020
@db = SQLite3::Database.new tf.path
21-
assert_equal tf.path, @db.db_filename('main')
21+
assert_equal tf.path, @db.filename('main')
22+
ensure
23+
tf.unlink
24+
end
25+
26+
def test_filename
27+
assert_equal '', @db.filename
28+
tf = Tempfile.new
29+
@db = SQLite3::Database.new tf.path
30+
assert_equal tf.path, @db.filename
2231
ensure
2332
tf.unlink
2433
end

0 commit comments

Comments
 (0)