pathname2 1.6.2 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,9 @@
1
+ == 1.6.3 - 2-Oct-2009
2
+ * Updated Windows platform handling code to include mingw and cygwin.
3
+ * Added the :gem rake task.
4
+ * Minor gemspec updates.
5
+ * Some minor test suite updates.
6
+
1
7
  == 1.6.2 - 4-Aug-2009
2
8
  * Now compatible with Ruby 1.9.x.
3
9
  * License changed to Artistic 2.0.
data/Rakefile ADDED
@@ -0,0 +1,41 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/testtask'
4
+
5
+ desc 'Install pathname2 library (non-gem)'
6
+ task :install do
7
+ cp 'lib/pathname2.rb', Config::CONFIG['sitelibdir']
8
+ end
9
+
10
+ desc 'Build the pathname2 gem'
11
+ task :gem do
12
+ spec = eval(IO.read('pathname2.gemspec'))
13
+ Gem::Builder.new(spec).build
14
+ end
15
+
16
+ desc "Install the pathname2 libarary as a gem"
17
+ task :install_gem => [:gem] do
18
+ file = Dir["*.gem"].first
19
+ sh "gem install #{file}"
20
+ end
21
+
22
+ desc 'Run the test suite for the pure Ruby version'
23
+ Rake::TestTask.new('test') do |t|
24
+ t.warning = true
25
+ t.verbose = true
26
+
27
+ if Config::CONFIG['host_os'] =~ /mswin|win32|dos|cygwin|mingw/i
28
+ t.test_files = FileList['test/test_pathname_windows.rb']
29
+ else
30
+ t.test_files = FileList['test/test_pathname.rb']
31
+ end
32
+ end
33
+
34
+ desc 'Run the Pathname benchmark suite'
35
+ task :benchmark do
36
+ sh 'ruby -Ilib benchmarks/bench_pathname.rb'
37
+ end
38
+
39
+ desc 'Run the benchmark suite for Pathname#+ vs File.join'
40
+ task :benchmark_plus do
41
+ sh 'ruby -Ilib benchmarks/bench_plus.rb'
data/lib/pathname2.rb CHANGED
@@ -41,7 +41,7 @@ require 'facade'
41
41
  require 'fileutils'
42
42
  require 'rbconfig'
43
43
 
44
- if Config::CONFIG['host_os'].match('mswin')
44
+ if Config::CONFIG['host_os'] =~ /mswin|win32|dos|cygwin|mingw/i
45
45
  require 'windows/path'
46
46
  require 'windows/file'
47
47
  require 'windows/error'
@@ -70,7 +70,7 @@ class Pathname < String
70
70
 
71
71
  alias :_plus_ :+ # Used to prevent infinite loops in some cases
72
72
 
73
- if Config::CONFIG['host_os'].match('mswin')
73
+ if Config::CONFIG['host_os'] =~ /mswin|win32|dos|cygwin|mingw/i
74
74
  include Windows::Path
75
75
  include Windows::File
76
76
  include Windows::Error
@@ -79,8 +79,8 @@ class Pathname < String
79
79
 
80
80
  public
81
81
 
82
- # The version of this library
83
- VERSION = '1.6.2'
82
+ # The version of the pathname2 library
83
+ VERSION = '1.6.3'
84
84
 
85
85
  # The maximum length of a path
86
86
  MAXPATH = 1024 unless defined? MAXPATH # Yes, I willfully violate POSIX
@@ -121,7 +121,7 @@ class Pathname < String
121
121
  end
122
122
 
123
123
  @sep = File::ALT_SEPARATOR || File::SEPARATOR
124
- @win = Config::CONFIG['host_os'].match('mswin')
124
+ @win = Config::CONFIG['host_os'] =~ /mswin|win32|dos|cygwin|mingw/i
125
125
 
126
126
  # Handle File URL's. The separate methods for Windows are necessary
127
127
  # because Ruby's URI class does not (currently) parse absolute file URL's
data/pathname2.gemspec ADDED
@@ -0,0 +1,37 @@
1
+ require 'rubygems'
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.name = 'pathname2'
5
+ gem.version = '1.6.3'
6
+ gem.author = 'Daniel J. Berger'
7
+ gem.license = 'Artistic 2.0'
8
+ gem.email = 'djberg96@gmail.com'
9
+ gem.homepage = 'http://www.rubyforge.org/projects/shards'
10
+ gem.summary = 'An alternate implementation of the Pathname class'
11
+ gem.has_rdoc = true
12
+ gem.files = Dir['**/*'].reject{ |f| f.include?('CVS') }
13
+
14
+ gem.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
15
+ gem.rubyforge_project = 'shards'
16
+
17
+ gem.add_dependency('facade', '>= 1.0.4')
18
+ gem.add_development_dependency('test-unit', '>= 2.0.3')
19
+
20
+ if Config::CONFIG['host_os'] =~ /mswin|win32|dos|cygwin|mingw/i
21
+ gem.test_file = 'test/test_pathname_windows.rb'
22
+ gem.add_dependency('windows-pr', '>= 0.8.6')
23
+ gem.platform = Gem::Platform::CURRENT
24
+ else
25
+ gem.test_file = 'test/test_pathname.rb'
26
+ end
27
+
28
+ gem.description = <<-EOF
29
+ The pathname2 library provides an implementation of the Pathname
30
+ class different from the one that ships as part of the Ruby standard
31
+ library. It is a subclass of String, though several methods have been
32
+ overridden to better fit a path context. In addition, it supports file
33
+ URL's as paths, provides additional methods for Windows paths, and
34
+ handles UNC paths on Windows properly. See the README file for more
35
+ details.
36
+ EOF
37
+ end
@@ -72,7 +72,7 @@ class TC_Pathname < Test::Unit::TestCase
72
72
  end
73
73
 
74
74
  def test_version
75
- assert_equal('1.6.2', Pathname::VERSION)
75
+ assert_equal('1.6.3', Pathname::VERSION)
76
76
  end
77
77
 
78
78
  def test_file_url_path
@@ -60,7 +60,7 @@ class TC_Pathname_MSWin < Test::Unit::TestCase
60
60
  end
61
61
 
62
62
  def test_version
63
- assert_equal('1.6.2', Pathname::VERSION)
63
+ assert_equal('1.6.3', Pathname::VERSION)
64
64
  end
65
65
 
66
66
  # Convenience method for test_plus
@@ -594,9 +594,9 @@ class TC_Pathname_MSWin < Test::Unit::TestCase
594
594
 
595
595
  assert_equal(
596
596
  [
597
+ Dir.pwd + "/benchmarks",
597
598
  Dir.pwd + "/CHANGES",
598
599
  Dir.pwd + "/examples",
599
- Dir.pwd + "/ext",
600
600
  Dir.pwd + "/lib",
601
601
  Dir.pwd + "/MANIFEST",
602
602
  Dir.pwd + "/pathname2.gemspec",
@@ -616,7 +616,7 @@ class TC_Pathname_MSWin < Test::Unit::TestCase
616
616
 
617
617
  assert_equal(
618
618
  [
619
- "CHANGES", "examples", "ext", "lib", "MANIFEST",
619
+ "benchmarks", "CHANGES", "examples", "lib", "MANIFEST",
620
620
  "pathname2.gemspec", "Rakefile", "README", "test"
621
621
  ],
622
622
  children
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pathname2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.2
4
+ version: 1.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-04 00:00:00 -06:00
12
+ date: 2009-10-02 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -45,13 +45,15 @@ extra_rdoc_files:
45
45
  files:
46
46
  - benchmarks/bench_pathname.rb
47
47
  - benchmarks/bench_plus.rb
48
+ - CHANGES
48
49
  - examples/example_pathname.rb
49
50
  - lib/pathname2.rb
51
+ - MANIFEST
52
+ - pathname2.gemspec
53
+ - Rakefile
54
+ - README
50
55
  - test/test_pathname.rb
51
56
  - test/test_pathname_windows.rb
52
- - README
53
- - CHANGES
54
- - MANIFEST
55
57
  has_rdoc: true
56
58
  homepage: http://www.rubyforge.org/projects/shards
57
59
  licenses: