torquebox-vfs 1.1-java → 1.1.1-java
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/torquebox-vfs.jar +0 -0
- data/lib/torquebox-vfs.rb +2 -2
- data/lib/torquebox/vfs/ext/file_test.rb +4 -0
- data/lib/torquebox/vfs/ext/jdbc.rb +3 -1
- data/lib/torquebox/vfs/ext/pathname.rb +5 -0
- data/lib/torquebox/vfs/glob_filter.rb +1 -1
- data/lib/torquebox/vfs/glob_translator.rb +3 -3
- data/spec/dir_spec.rb +8 -1
- data/spec/file_test_spec.rb +4 -0
- data/spec/pathname_spec.rb +15 -0
- metadata +5 -4
data/lib/torquebox-vfs.jar
CHANGED
Binary file
|
data/lib/torquebox-vfs.rb
CHANGED
@@ -21,7 +21,9 @@ class Java::java.sql::DriverManager
|
|
21
21
|
alias_method :register_driver_without_vfs, :registerDriver
|
22
22
|
|
23
23
|
# Monkey patch getConnection so we can sort out local filesystem url's for
|
24
|
-
# SQLite (we need to remove the 'vfs:' from the url)
|
24
|
+
# SQLite (we need to remove the 'vfs:' from the url). This works
|
25
|
+
# for activerecord-jdbc-adapter v1.1.2 and under. For v1.1.3 and
|
26
|
+
# up, see web/web-core/src/main/java/org/torquebox/rails/core/boot.rb
|
25
27
|
def getConnection(url, *params)
|
26
28
|
|
27
29
|
# Remove any VFS prefix from the url (for SQLite)
|
@@ -20,6 +20,7 @@ require 'pathname'
|
|
20
20
|
class Pathname
|
21
21
|
|
22
22
|
alias_method :realpath_without_vfs, :realpath
|
23
|
+
alias_method :relative_without_vfs, :relative?
|
23
24
|
|
24
25
|
def realpath
|
25
26
|
vfs_path? ? expand_path : realpath_without_vfs
|
@@ -28,4 +29,8 @@ class Pathname
|
|
28
29
|
def vfs_path?
|
29
30
|
@path.to_s =~ /^vfs:/
|
30
31
|
end
|
32
|
+
|
33
|
+
def relative?
|
34
|
+
vfs_path? ? false : relative_without_vfs
|
35
|
+
end
|
31
36
|
end
|
@@ -71,10 +71,10 @@ module TorqueBox
|
|
71
71
|
result = double_splat()
|
72
72
|
else
|
73
73
|
if ( cur() == 0 || lb() == '/' )
|
74
|
-
result = '(?<=/|^)[^.][^/]*'
|
74
|
+
result = '((?<=/|^)[^.][^/]*)*'
|
75
75
|
# result = '[^/.][^/]*'
|
76
76
|
else
|
77
|
-
result = '[^/]
|
77
|
+
result = '[^/]*'
|
78
78
|
end
|
79
79
|
|
80
80
|
consume('*')
|
@@ -87,7 +87,7 @@ module TorqueBox
|
|
87
87
|
#puts "enter double_splat()"
|
88
88
|
if la(2) == '/'
|
89
89
|
# result = '([^.][^/]+/){0,}'
|
90
|
-
result = '([^/.][^/]*/)
|
90
|
+
result = '([^/.][^/]*/)*'
|
91
91
|
else
|
92
92
|
result = '([^/.][^/]*)'
|
93
93
|
end
|
data/spec/dir_spec.rb
CHANGED
@@ -248,6 +248,13 @@ describe "Dir extensions for VFS" do
|
|
248
248
|
items.should include( "#{prefix}/sound of music" )
|
249
249
|
end
|
250
250
|
|
251
|
+
it "should allow for multiple single-star globbing" do
|
252
|
+
items = Dir.glob( "#{prefix}/home/**/*file*.txt" )
|
253
|
+
items.should_not be_empty
|
254
|
+
items.should include( "#{prefix}/home/larry/file1.txt" )
|
255
|
+
items.should include( "#{prefix}/home/larry/file2.txt" )
|
256
|
+
end
|
257
|
+
|
251
258
|
it "should allow globbing of multiple patterns via []" do
|
252
259
|
items = []
|
253
260
|
lambda {
|
@@ -309,7 +316,7 @@ describe "Dir extensions for VFS" do
|
|
309
316
|
pwd.should == Dir.pwd
|
310
317
|
end
|
311
318
|
|
312
|
-
|
319
|
+
it "should work for home dirs" do
|
313
320
|
pwd = Dir.pwd
|
314
321
|
dir = Dir.chdir { Dir.pwd }
|
315
322
|
dir.downcase.should == ENV['HOME'].downcase
|
data/spec/file_test_spec.rb
CHANGED
@@ -26,6 +26,10 @@ describe "File extensions for VFS" do
|
|
26
26
|
delegate_to_file(:writable?, 'file')
|
27
27
|
end
|
28
28
|
|
29
|
+
it "should delegate to File.size" do
|
30
|
+
delegate_to_file(:size, 'file')
|
31
|
+
end
|
32
|
+
|
29
33
|
def delegate_to_file(*args)
|
30
34
|
method = args.shift
|
31
35
|
File.should_receive(method).with(*args).and_return('value')
|
data/spec/pathname_spec.rb
CHANGED
@@ -16,5 +16,20 @@ describe "Pathname extensions for VFS" do
|
|
16
16
|
pathname.should_receive(:realpath_without_vfs).and_return(Pathname.new("/real/path"))
|
17
17
|
pathname.realpath.to_s.should == "/real/path"
|
18
18
|
end
|
19
|
+
|
20
|
+
it "should not find vfs paths to be relative" do
|
21
|
+
pathname = Pathname.new("vfs:/tmp/test")
|
22
|
+
pathname.relative?.should_not be_true
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should find real relative paths to be relative" do
|
26
|
+
pathname = Pathname.new("../tmp/test")
|
27
|
+
pathname.relative?.should be_true
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should find real absolute paths to not be relative" do
|
31
|
+
pathname = Pathname.new("/tmp/test")
|
32
|
+
pathname.relative?.should_not be_true
|
33
|
+
end
|
19
34
|
end
|
20
35
|
end
|
metadata
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
name: torquebox-vfs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version:
|
5
|
+
version: 1.1.1
|
6
6
|
platform: java
|
7
|
-
authors:
|
8
|
-
|
7
|
+
authors:
|
8
|
+
- The TorqueBox Team
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-08-09 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -37,6 +37,7 @@ dependencies:
|
|
37
37
|
version_requirements: *id002
|
38
38
|
description: ""
|
39
39
|
email:
|
40
|
+
- torquebox-dev@torquebox.org
|
40
41
|
executables: []
|
41
42
|
|
42
43
|
extensions: []
|