rm-digest 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -3,6 +3,10 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
+ .build
7
+ .repl_history
8
+ build
9
+ build-*
6
10
  Gemfile.lock
7
11
  InstalledFiles
8
12
  _yardoc
data/Rakefile CHANGED
@@ -1,2 +1,15 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+ $:.unshift("/Library/RubyMotion/lib")
4
+ require 'motion/project'
5
+
6
+ #Bundler.setup
7
+ #Bundler.require
8
+
9
+ Motion::Project::App.setup do |app|
10
+ app.name = 'spec'
11
+ app.files += Dir.glob(File.join(app.project_dir, 'lib/rm-digest/*.rb'))
12
+
13
+ digest_vendor = File.expand_path(File.join(File.dirname(__FILE__), 'vendor/MD5SHA1Digest'))
14
+ app.vendor_project(digest_vendor, :xcode, headers_dir: 'MD5SHA1Digest')
15
+ end
@@ -0,0 +1,9 @@
1
+ class AppDelegate
2
+
3
+ def application(application, didFinishLaunchingWithOptions:launchOptions)
4
+ true
5
+ end
6
+
7
+ end
8
+
9
+
@@ -3,17 +3,17 @@ unless defined?(Motion::Project::Config)
3
3
  end
4
4
 
5
5
  Motion::Project::App.setup do |app|
6
+ #app.files.unshift Dir.glob(File.join(app.project_dir, 'app/lib/**/*.rb'))
7
+
6
8
  Dir.glob(File.join(File.dirname(__FILE__), 'rm-digest/*.rb')).each do |file|
7
9
  app.files.unshift(file)
8
10
  end
11
+
9
12
  digest_vendor = File.expand_path(File.join(File.dirname(__FILE__), '../vendor/MD5SHA1Digest'))
10
13
  app.vendor_project(digest_vendor, :xcode, headers_dir: 'MD5SHA1Digest')
11
14
  end
12
15
 
13
16
  require "rm-digest/version"
14
- require File.expand_path('../rm-digest/util', __FILE__)
15
- require File.expand_path('../rm-digest/sha1', __FILE__)
16
- require File.expand_path('../rm-digest/md5', __FILE__)
17
17
 
18
18
  module RmDigest
19
19
 
@@ -1,13 +1,15 @@
1
1
  module RmDigest
2
- module MD5
2
+ class MD5
3
3
 
4
4
  class << self
5
5
 
6
6
  def hexdigest(string, encoding = NSUTF8StringEncoding)
7
+ return nil if string.nil?
7
8
  RmDigest::Util.toNSData(string, encoding).MD5HexDigest
8
9
  end
9
10
 
10
11
  def digest(string, encoding = NSUTF8StringEncoding)
12
+ return nil if string.nil?
11
13
  RmDigest::Util.toNSData(string, encoding).MD5Digest
12
14
  end
13
15
 
@@ -1,13 +1,15 @@
1
1
  module RmDigest
2
- module SHA1
2
+ class SHA1
3
3
 
4
4
  class << self
5
5
 
6
6
  def hexdigest(string, encoding = NSUTF8StringEncoding)
7
+ return nil if string.nil?
7
8
  RmDigest::Util.toNSData(string, encoding).SHA1HexDigest
8
9
  end
9
10
 
10
11
  def digest(string, encoding = NSUTF8StringEncoding)
12
+ return nil if string.nil?
11
13
  RmDigest::Util.toNSData(string, encoding).SHA1Digest
12
14
  end
13
15
 
@@ -1,14 +1,11 @@
1
1
  module RmDigest
2
2
 
3
- module Util
3
+ class Util
4
4
 
5
- class << self
6
-
7
- def toNSData(string, encoding = NSUTF8StringEncoding)
8
- string.dataUsingEncoding(encoding)
9
- end
10
-
5
+ def self.toNSData(string, encoding = NSUTF8StringEncoding)
6
+ string.dataUsingEncoding(encoding)
11
7
  end
8
+
12
9
  end
13
10
 
14
11
  end
@@ -1,3 +1,3 @@
1
1
  module RmDigest
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["tomas@meinlschmidt.com"]
7
7
  gem.description = %q{MD5 and SHA1 Digest}
8
8
  gem.summary = %q{MD5 and SHA1 Digest}
9
- gem.homepage = ""
9
+ gem.homepage = "https://github.com/tmeinlschmidt/rm-digest"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
@@ -0,0 +1,29 @@
1
+ describe "MD5 hash" do
2
+
3
+ it 'should be true' do
4
+ true.should == true
5
+ end
6
+
7
+ it 'should compute empty md5 hexdigest' do
8
+ hash = RmDigest::MD5.hexdigest('')
9
+ hash.should == 'd41d8cd98f00b204e9800998ecf8427e'
10
+ end
11
+
12
+ it 'should compute md5 nil hexdigest' do
13
+ hash = RmDigest::MD5.hexdigest(nil)
14
+ hash.should == nil
15
+ end
16
+
17
+
18
+ it 'should compute md5 hexdigest' do
19
+ hash = RmDigest::MD5.hexdigest('testhash')
20
+ hash.should == '082949a8dfacccda185a135db425377b'
21
+ end
22
+
23
+ it 'should compute md5 digest' do
24
+ hash = RmDigest::MD5.digest('testhash')
25
+ byte_arr = hash.to_str.each_byte.map{|l| l}
26
+ byte_arr.should == [8, 41, 73, 168, 223, 172, 204, 218, 24, 90, 19, 93, 180, 37, 55, 123]
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ describe "SHA1 hash" do
2
+
3
+ it 'should be true' do
4
+ true.should == true
5
+ end
6
+
7
+ it 'should compute empty sha1 hexdigest' do
8
+ hash = RmDigest::SHA1.hexdigest('')
9
+ hash.should == 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
10
+ end
11
+
12
+ it 'should compute sha1 nil hexdigest' do
13
+ hash = RmDigest::SHA1.hexdigest(nil)
14
+ hash.should == nil
15
+ end
16
+
17
+
18
+ it 'should compute sha1 hexdigest' do
19
+ hash = RmDigest::SHA1.hexdigest('testhash')
20
+ hash.should == 'f4e5afd5b5449242481ebff8635cf129de2b9b22'
21
+ end
22
+
23
+ it 'should compute sha1 digest' do
24
+ hash = RmDigest::SHA1.digest('testhash')
25
+ byte_arr = hash.to_str.each_byte.map{|l| l}
26
+ byte_arr.should == [244, 229, 175, 213, 181, 68, 146, 66, 72, 30, 191, 248, 99, 92, 241, 41, 222, 43, 155, 34]
27
+ end
28
+
29
+ end
@@ -0,0 +1,8 @@
1
+ describe 'simple util' do
2
+
3
+ it "should create NSData" do
4
+ data = RmDigest::Util.toNSData('test')
5
+ data.class.should == NSConcreteMutableData
6
+ end
7
+
8
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rm-digest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-28 00:00:00.000000000 Z
12
+ date: 2013-03-01 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: MD5 and SHA1 Digest
15
15
  email:
@@ -23,12 +23,16 @@ files:
23
23
  - LICENSE
24
24
  - README.md
25
25
  - Rakefile
26
+ - app/app_delegate.rb
26
27
  - lib/rm-digest.rb
27
28
  - lib/rm-digest/md5.rb
28
29
  - lib/rm-digest/sha1.rb
29
30
  - lib/rm-digest/util.rb
30
31
  - lib/rm-digest/version.rb
31
32
  - rm-digest.gemspec
33
+ - spec/md5_spec.rb
34
+ - spec/sha1_spec.rb
35
+ - spec/util_spec.rb
32
36
  - vendor/MD5SHA1Digest/MD5SHA1Digest.bridgesupport
33
37
  - vendor/MD5SHA1Digest/MD5SHA1Digest.xcodeproj/project.pbxproj
34
38
  - vendor/MD5SHA1Digest/MD5SHA1Digest/MD5SHA1Digest-Prefix.pch
@@ -36,7 +40,7 @@ files:
36
40
  - vendor/MD5SHA1Digest/MD5SHA1Digest/NSData+MD5Digest.m
37
41
  - vendor/MD5SHA1Digest/MD5SHA1Digest/NSData+SHA1Digest.h
38
42
  - vendor/MD5SHA1Digest/MD5SHA1Digest/NSData+SHA1Digest.m
39
- homepage: ''
43
+ homepage: https://github.com/tmeinlschmidt/rm-digest
40
44
  licenses: []
41
45
  post_install_message:
42
46
  rdoc_options: []
@@ -60,4 +64,7 @@ rubygems_version: 1.8.10
60
64
  signing_key:
61
65
  specification_version: 3
62
66
  summary: MD5 and SHA1 Digest
63
- test_files: []
67
+ test_files:
68
+ - spec/md5_spec.rb
69
+ - spec/sha1_spec.rb
70
+ - spec/util_spec.rb