Narnach-md5_wrapper 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,4 +28,18 @@ Check the correct md5 hexdigest against a file.
28
28
  Check an incorrect md5 hexdigest against a file.
29
29
  Md5Wrapper.check_md5sum('foo.txt', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') #=> false
30
30
 
31
+ == Changelog
32
+
33
+ == Version 0.3.1
34
+ * Made Md5Wrapper work with filenames with spaces.
35
+
36
+ == Version 0.3.0
37
+ * Md5Wrapper is now available as RubyGem as well as Rails plugin
38
+ * Added a simple test for each method on Md5Wrapper.
39
+ * Renamed generated code to use Md5Wrapper instead of Md5sumWrapper.
40
+ * Added plugin.
41
+
42
+ == Contributors
43
+ * Filip 'FiXato' Slagter
44
+
31
45
  Copyright (c) 2008 Wes Oldenbeuving, released under the MIT license
@@ -5,23 +5,23 @@ class Md5Wrapper
5
5
  def check_md5sum(filename, md5sum)
6
6
  raise ArgumentError, "Invalid md5sum" unless md5sum.size == 32
7
7
  raise ArgumentError, "Invalid file" unless File.exist? filename and File.file? filename and File.readable? filename
8
-
8
+
9
9
  if RUBY_PLATFORM =~ /darwin/
10
- md5 = `md5 #{filename} 2>&1`.strip[-32,32]
10
+ md5 = `md5 "#{filename}" 2>&1`.strip[-32,32]
11
11
  return md5 == md5sum
12
12
  else # linux
13
13
  cmd = "echo \"#{md5sum} *#{filename}\" | md5sum -c --status 2>&1"
14
14
  return system(cmd)
15
15
  end
16
16
  end
17
-
17
+
18
18
  # Extract the md5 hexdigest from a file.
19
19
  def get_md5sum(filename)
20
20
  raise ArgumentError, "Invalid file" unless File.exist? filename and File.file? filename and File.readable? filename
21
21
  if RUBY_PLATFORM =~ /darwin/
22
- return `md5 #{filename} 2>&1`.strip[-32,32]
22
+ return `md5 "#{filename}" 2>&1`.strip[-32,32]
23
23
  else # linux
24
- return `md5sum -b #{filename} 2>&1`[0,32]
24
+ return `md5sum -b "#{filename}" 2>&1`[0,32]
25
25
  end
26
26
  end
27
27
  end
@@ -3,7 +3,7 @@ Gem::Specification.new do |s|
3
3
  s.name = 'md5_wrapper'
4
4
  s.summary = "Md5Wrapper wraps the command line utilities md5sum (Linux) and md5 (Mac)."
5
5
  s.description = "It allows obtaining the md5 hexdigest of a file and checking that a file has a specific md5 hexdigest."
6
- s.version = '0.3.0'
6
+ s.version = '0.3.1'
7
7
  s.date = '2008-08-05'
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Wes Oldenbeuving"]
@@ -1,17 +1,38 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+
1
3
  require 'test/unit'
2
4
  require 'md5_wrapper'
5
+ require 'tempfile'
3
6
 
4
7
  class Md5WrapperTest < Test::Unit::TestCase
5
8
  def setup
6
9
  @fixture = File.expand_path(File.join(File.dirname(__FILE__),'fixtures','test.txt'))
7
10
  @md5sum = 'd8e8fca2dc0f896fd7cb4cb0031ba249'
8
11
  end
9
-
12
+
10
13
  def test_get_md5sum
11
14
  assert_equal @md5sum, Md5Wrapper.get_md5sum(@fixture)
12
15
  end
13
-
16
+
14
17
  def test_check_md5sum
15
18
  assert Md5Wrapper.check_md5sum(@fixture, @md5sum)
16
19
  end
20
+
21
+ def test_get_md5sum_for_filenames_with_spaces
22
+ Tempfile.open('text file with spaces.txt') do |f|
23
+ File.open(f.path,'w') do |fp|
24
+ fp.puts 'test'
25
+ end
26
+ assert_equal @md5sum, Md5Wrapper.get_md5sum(f.path)
27
+ end
28
+ end
29
+
30
+ def test_check_md5sum_for_filenames_with_spaces
31
+ Tempfile.open('text file with spaces.txt') do |f|
32
+ File.open(f.path,'w') do |fp|
33
+ fp.puts 'test'
34
+ end
35
+ assert Md5Wrapper.check_md5sum(f.path,@md5sum)
36
+ end
37
+ end
17
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Narnach-md5_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wes Oldenbeuving