sys-filesystem 0.3.4-x86-mingw32 → 1.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,45 +1,49 @@
1
- == 0.3.4 - 19-Nov-2010
2
- * Fixed a bug where negative block counts were happening on very large
3
- hard drives. Thanks go to Jonas Pfenniger for the spot.
4
- * Refactored the clean task in the Rakefile.
5
- * Some cosmetic source code changes.
6
-
7
- == 0.3.3 - 21-May-2010
8
- * Added a workaround for the Sys::Filesystem#block_size member to deal with
9
- a bug in OS X. Thanks go to Josh Pasqualetto for the spot.
10
-
11
- == 0.3.2 - 29-Dec-2009
12
- * Source has been moved to github.
13
- * Added the 'gem' task and removed build logic from the gemspec.
14
- * Updated the install task.
15
- * Minor correction to the manifest.
16
- * Removed some junk build files that were inadvertently included in
17
- the last gem.
18
-
19
- == 0.3.1 - 5-Aug-2009
20
- * Now compatible with Ruby 1.9.x.
21
- * Changed license to Artistic 2.0
22
- * Updated the gemspec, including the explicit addition of a license and
23
- test-unit as a development dependency, as well as an updated description.
24
-
25
- == 0.3.0 - 26-Feb-2009
26
- * Added support for OS X and FreeBSD thanks to an awesome patch by Nobuyoshi
27
- Miyokawa.
28
- * Added the Filesystem.mount_point method that takes a file and returns
29
- the mount point it's sitting on.
30
-
31
- == 0.2.0 - 30-Dec-2008
32
- * Added the Filesystem.mounts method for iterating over mount or volume
33
- information.
34
-
35
- == 0.1.1 - 28-Mar-2007
36
- * Bug fix for BSD flavors. Thanks go to Jeremy Kemper and Ole Christian
37
- Rynning for the spot.
38
- * Bug fix for OS X (along the same lines as the BSD fix). Thanks go to
39
- Aurelian Dehay for the spot.
40
- * Some Rdoc improvements for the C extension.
41
- * Tweaks to the gemspec.
42
- * Added synopsis to the README.
43
-
44
- == 0.1.0 - 17-Nov-2006
45
- * Initial release. Alpha. Code is stable, but API is not.
1
+ == 1.0.0 - ???
2
+ * Converted everything from C to FFI for the Unix flavors. The Windows
3
+ source code remains untouched.
4
+
5
+ == 0.3.4 - 19-Nov-2010
6
+ * Fixed a bug where negative block counts were happening on very large
7
+ hard drives. Thanks go to Jonas Pfenniger for the spot.
8
+ * Refactored the clean task in the Rakefile.
9
+ * Some cosmetic source code changes.
10
+
11
+ == 0.3.3 - 21-May-2010
12
+ * Added a workaround for the Sys::Filesystem#block_size member to deal with
13
+ a bug in OS X. Thanks go to Josh Pasqualetto for the spot.
14
+
15
+ == 0.3.2 - 29-Dec-2009
16
+ * Source has been moved to github.
17
+ * Added the 'gem' task and removed build logic from the gemspec.
18
+ * Updated the install task.
19
+ * Minor correction to the manifest.
20
+ * Removed some junk build files that were inadvertently included in
21
+ the last gem.
22
+
23
+ == 0.3.1 - 5-Aug-2009
24
+ * Now compatible with Ruby 1.9.x.
25
+ * Changed license to Artistic 2.0
26
+ * Updated the gemspec, including the explicit addition of a license and
27
+ test-unit as a development dependency, as well as an updated description.
28
+
29
+ == 0.3.0 - 26-Feb-2009
30
+ * Added support for OS X and FreeBSD thanks to an awesome patch by Nobuyoshi
31
+ Miyokawa.
32
+ * Added the Filesystem.mount_point method that takes a file and returns
33
+ the mount point it's sitting on.
34
+
35
+ == 0.2.0 - 30-Dec-2008
36
+ * Added the Filesystem.mounts method for iterating over mount or volume
37
+ information.
38
+
39
+ == 0.1.1 - 28-Mar-2007
40
+ * Bug fix for BSD flavors. Thanks go to Jeremy Kemper and Ole Christian
41
+ Rynning for the spot.
42
+ * Bug fix for OS X (along the same lines as the BSD fix). Thanks go to
43
+ Aurelian Dehay for the spot.
44
+ * Some Rdoc improvements for the C extension.
45
+ * Tweaks to the gemspec.
46
+ * Added synopsis to the README.
47
+
48
+ == 0.1.0 - 17-Nov-2006
49
+ * Initial release. Alpha. Code is stable, but API is not.
data/MANIFEST CHANGED
@@ -1,13 +1,12 @@
1
- * MANIFEST
2
- * CHANGES
3
- * Rakefile
4
- * README
5
- * sys-fileystem.gemspec
6
- * examples/example_stat.rb
7
- * doc/sys-filesystem.txt
8
- * ext/extconf.rb
9
- * ext/sys/filesystem.c
10
- * lib/sys/filesystem.rb
11
- * test/test_sys_filesystem.rb
12
- * test/test_sys_filesystem_unix
13
- * test/test_sys_filesystem_windows
1
+ * MANIFEST
2
+ * CHANGES
3
+ * Rakefile
4
+ * README
5
+ * sys-fileystem.gemspec
6
+ * examples/example_stat.rb
7
+ * lib/sys/filesystem.rb
8
+ * lib/unix/sys/filesystem.rb
9
+ * lib/windows/sys/filesystem.rb
10
+ * test/test_sys_filesystem.rb
11
+ * test/test_sys_filesystem_unix
12
+ * test/test_sys_filesystem_windows
data/README CHANGED
@@ -1,83 +1,83 @@
1
- = Description
2
- A Ruby interface for getting file system information.
3
-
4
- = Installation
5
- gem install sys-filesystem
6
-
7
- == Windows
8
- If the installation command above doesn't work try this:
9
-
10
- gem install sys-filesystem --platform x86-mingw32
11
-
12
- = Synopsis
13
- require 'sys/filesystem'
14
- include Sys
15
-
16
- # Display information about a particular filesystem.
17
- p Filesystem.stat('/')
18
-
19
- # Sample output
20
-
21
- #<Sys::Filesystem::Stat:0x517440
22
- @base_type = "ufs",
23
- @flags = 4,
24
- @files_available = 3817457,
25
- @block_size = 8192,
26
- @blocks_available = 19957633,
27
- @blocks = 34349612,
28
- @name_max = 255,
29
- @path = "/",
30
- @filesystem_id = 35651592,
31
- @files = 4135040,
32
- @fragment_size = 1024,
33
- @files_free = 3817457,
34
- @blocks_free = 20301129
35
- >
36
-
37
- # Describe all mount points on the system
38
- Filesystem.mounts{ |mount| p mount }
39
-
40
- # Find the mount point of any particular file
41
- puts Filesystem.mount_point('/home/djberge/some_file.txt') => '/home'
42
-
43
- = Notes
44
- === MS Windows
45
- This is a pure Ruby implementation using the windows-pr library, which in
46
- turn wraps native Windows functions.
47
-
48
- === UNIX
49
- This is a C extension that wraps statvfs, etc.
50
-
51
- = Sample code
52
- Run 'rake example' if you want to see a basic sample run. The actual code
53
- is 'example_stat.rb' in the 'examples' directory. Modify it as you see fit.
54
-
55
- = Known Bugs
56
- None that I'm aware of. Please report bugs on the project page at
57
- http://www.rubyforge.org/projects/sysutils.
58
-
59
- = Future Plans
60
- Suggestions welcome.
61
-
62
- = Acknowledgements
63
- Mike Hall, for ideas and code that I borrowed from his 'filesystem'
64
- library.
65
-
66
- Park Heesob, for implementation and API ideas for the MS Windows version.
67
-
68
- Nobuyoshi Miyokawa, for adding FreeBSD and OS X support.
69
-
70
- = License
71
- Artistic 2.0
72
-
73
- = Copyright
74
- (C) 2003-2010 Daniel J. Berger
75
- All Rights Reserved
76
-
77
- = Warranty
78
- This library is provided "as is" and without any express or
79
- implied warranties, including, without limitation, the implied
80
- warranties of merchantability and fitness for a particular purpose.
81
-
82
- = Author
83
- Daniel J. Berger
1
+ = Description
2
+ A Ruby interface for getting file system information.
3
+
4
+ = Installation
5
+ gem install sys-filesystem
6
+
7
+ == Windows
8
+ If the installation command above doesn't work try this:
9
+
10
+ gem install sys-filesystem --platform x86-mingw32
11
+
12
+ = Synopsis
13
+ require 'sys/filesystem'
14
+ include Sys
15
+
16
+ # Display information about a particular filesystem.
17
+ p Filesystem.stat('/')
18
+
19
+ # Sample output
20
+
21
+ #<Sys::Filesystem::Stat:0x517440
22
+ @base_type = "ufs",
23
+ @flags = 4,
24
+ @files_available = 3817457,
25
+ @block_size = 8192,
26
+ @blocks_available = 19957633,
27
+ @blocks = 34349612,
28
+ @name_max = 255,
29
+ @path = "/",
30
+ @filesystem_id = 35651592,
31
+ @files = 4135040,
32
+ @fragment_size = 1024,
33
+ @files_free = 3817457,
34
+ @blocks_free = 20301129
35
+ >
36
+
37
+ # Describe all mount points on the system
38
+ Filesystem.mounts{ |mount| p mount }
39
+
40
+ # Find the mount point of any particular file
41
+ puts Filesystem.mount_point('/home/djberge/some_file.txt') => '/home'
42
+
43
+ = Notes
44
+ === MS Windows
45
+ This is a pure Ruby implementation using the windows-pr library, which in
46
+ turn wraps native Windows functions.
47
+
48
+ === UNIX
49
+ This is a C extension that wraps statvfs, etc.
50
+
51
+ = Sample code
52
+ Run 'rake example' if you want to see a basic sample run. The actual code
53
+ is 'example_stat.rb' in the 'examples' directory. Modify it as you see fit.
54
+
55
+ = Known Bugs
56
+ None that I'm aware of. Please report bugs on the project page at
57
+ http://www.rubyforge.org/projects/sysutils.
58
+
59
+ = Future Plans
60
+ Suggestions welcome.
61
+
62
+ = Acknowledgements
63
+ Mike Hall, for ideas and code that I borrowed from his 'filesystem'
64
+ library.
65
+
66
+ Park Heesob, for implementation and API ideas for the MS Windows version.
67
+
68
+ Nobuyoshi Miyokawa, for adding FreeBSD and OS X support.
69
+
70
+ = License
71
+ Artistic 2.0
72
+
73
+ = Copyright
74
+ (C) 2003-2010 Daniel J. Berger
75
+ All Rights Reserved
76
+
77
+ = Warranty
78
+ This library is provided "as is" and without any express or
79
+ implied warranties, including, without limitation, the implied
80
+ warranties of merchantability and fitness for a particular purpose.
81
+
82
+ = Author
83
+ Daniel J. Berger
data/Rakefile CHANGED
@@ -1,83 +1,49 @@
1
- require 'rake'
2
- require 'rake/clean'
3
- require 'rake/testtask'
4
- include Config
5
-
6
- CLEAN.include(
7
- '**/*.gem', # Gem files
8
- '**/*.rbc', # Rubinius
9
- '**/*.o', # C object file
10
- '**/*.log', # Ruby extension build log
11
- '**/Makefile', # C Makefile
12
- '**/conftest.dSYM', # OS X build directory
13
- "**/*.#{CONFIG['DLEXT']}" # C shared object
14
- )
15
-
16
- desc "Build the sys-filesystem library on UNIX systems (but don't install it)"
17
- task :build => [:clean] do
18
- unless CONFIG['host_os'] =~ /mswin32|mingw|cygwin|windows|dos/i
19
- file = 'filesystem.' + CONFIG['DLEXT']
20
- Dir.chdir('ext') do
21
- ruby 'extconf.rb'
22
- sh 'make'
23
- mv file, 'sys'
24
- end
25
- end
26
- end
27
-
28
- desc "Run the test suite"
29
- Rake::TestTask.new("test") do |t|
30
- unless CONFIG['host_os'] =~ /mswin32|mingw|cygwin|windows|dos/i
31
- task :test => :build
32
- t.libs << 'ext'
33
- t.libs.delete('lib')
34
- end
35
-
36
- t.warning = true
37
- t.verbose = true
38
- t.test_files = FileList['test/test_sys_filesystem.rb']
39
- end
40
-
41
- task :test do
42
- Rake.application[:clean].execute
43
- end
44
-
45
- desc "Run the example program"
46
- task :example => [:build] do |t|
47
- Dir.chdir('examples') do
48
- Dir.mkdir('sys') unless File.exists?('sys')
49
- end
50
-
51
- FileUtils.cp('ext/sys/filesystem.' + CONFIG['DLEXT'], 'examples/sys')
52
-
53
- Dir.chdir('examples') do
54
- ruby 'example_stat.rb'
55
- end
56
- end
57
-
58
- namespace :gem do
59
- desc "Build the sys-filesystem gem"
60
- task :create => [:clean] do |t|
61
- spec = eval(IO.read('sys-filesystem.gemspec'))
62
-
63
- if Config::CONFIG['host_os'] =~ /mswin32|mingw|cygwin|windows|dos/i
64
- spec.files -= Dir['ext/**/*']
65
- spec.platform = Gem::Platform::CURRENT
66
- spec.add_dependency('windows-pr', '>= 1.0.5')
67
- else
68
- spec.extensions = ['ext/extconf.rb']
69
- spec.files -= Dir['lib/**/*']
70
- spec.extra_rdoc_files << 'ext/sys/filesystem.c'
71
- end
72
-
73
- Gem::Builder.new(spec).build
74
- end
75
-
76
- desc "Install the sys-filesystem gem"
77
- task :install => [:create] do
78
- file = Dir['*.gem'].first
79
- sh "gem install #{file}"
80
- end
81
- end
82
-
83
- task :default => :test
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/testtask'
4
+
5
+ CLEAN.include('**/*.gem', '**/*.rbc', '**/*.rbx')
6
+
7
+ desc "Run the test suite"
8
+ Rake::TestTask.new("test") do |t|
9
+ if File::ALT_SEPARATOR
10
+ t.libs << 'lib/windows'
11
+ else
12
+ t.libs << 'lib/unix'
13
+ end
14
+
15
+ t.warning = true
16
+ t.verbose = true
17
+ t.test_files = FileList['test/test_sys_filesystem.rb']
18
+ end
19
+
20
+ desc "Run the example program"
21
+ task :example do |t|
22
+ sh "ruby -Ilib -Ilib/unix -Ilib/windows examples/example_stat.rb"
23
+ end
24
+
25
+ namespace :gem do
26
+ desc "Build the sys-filesystem gem"
27
+ task :create do |t|
28
+ spec = eval(IO.read('sys-filesystem.gemspec'))
29
+
30
+ if File::ALT_SEPARATOR
31
+ spec.add_dependency('windows-pr', '>= 1.0.5')
32
+ spec.platform = Gem::Platform::CURRENT
33
+ spec.platform.cpu = 'universal'
34
+ spec.platform.version = nil
35
+ else
36
+ spec.add_dependency('ffi', '>= 1.0.0')
37
+ end
38
+
39
+ Gem::Builder.new(spec).build
40
+ end
41
+
42
+ desc "Install the sys-filesystem gem"
43
+ task :install => [:create] do
44
+ file = Dir['*.gem'].first
45
+ sh "gem install #{file}"
46
+ end
47
+ end
48
+
49
+ task :default => :test
@@ -1,24 +1,24 @@
1
- ######################################################################
2
- # example_stat.rb
3
- #
4
- # Example program that demonstrates the FileSystem.stat method.
5
- # Use the 'rake example' task to run this program.
6
- ######################################################################
7
- require 'sys/filesystem'
8
- include Sys
9
-
10
- p Filesystem::VERSION
11
-
12
- stat = Filesystem.stat("/")
13
- puts "Path: " + stat.path
14
- puts "Block size: " + stat.block_size.to_s
15
- puts "Fragment size: " + stat.fragment_size.to_s
16
- puts "Blocks free: " + stat.blocks_free.to_s
17
- puts "Blocks available: " + stat.blocks_available.to_s
18
- puts "Files/Inodes: " + stat.files.to_s
19
- puts "Files/Inodes free: " + stat.files_free.to_s
20
- puts "Files/Inodes available: " + stat.files_available.to_s
21
- puts "File system id: " + stat.filesystem_id.to_s
22
- puts "Base type: " + stat.base_type if stat.base_type
23
- puts "Flags: " + stat.flags.to_s
24
- puts "Name max: " + stat.name_max.to_s
1
+ ######################################################################
2
+ # example_stat.rb
3
+ #
4
+ # Example program that demonstrates the FileSystem.stat method.
5
+ # Use the 'rake example' task to run this program.
6
+ ######################################################################
7
+ require 'sys/filesystem'
8
+ include Sys
9
+
10
+ p Filesystem::VERSION
11
+
12
+ stat = Filesystem.stat("/")
13
+ puts "Path: " + stat.path
14
+ puts "Block size: " + stat.block_size.to_s
15
+ puts "Fragment size: " + stat.fragment_size.to_s
16
+ puts "Blocks free: " + stat.blocks_free.to_s
17
+ puts "Blocks available: " + stat.blocks_available.to_s
18
+ puts "Files/Inodes: " + stat.files.to_s
19
+ puts "Files/Inodes free: " + stat.files_free.to_s
20
+ puts "Files/Inodes available: " + stat.files_available.to_s
21
+ puts "File system id: " + stat.filesystem_id.to_s
22
+ puts "Base type: " + stat.base_type if stat.base_type
23
+ puts "Flags: " + stat.flags.to_s
24
+ puts "Name max: " + stat.name_max.to_s