human_digest 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  .rvmrc
2
+ .rspec
2
3
  .DS_Store
3
4
  Gemfile.lock
4
5
  human_digest-*.gem
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ ## v0.1.0
2
+
3
+ * handle BSON ObjectIds in addition to plain strings
4
+
5
+ ## v0.0.3
6
+
7
+ * initial release
data/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ require "bundler/gem_tasks"
1
2
  require 'rspec/core/rake_task'
2
3
 
3
4
  task :default => :spec
data/human_digest.gemspec CHANGED
@@ -23,4 +23,5 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.add_development_dependency "rake"
25
25
  s.add_development_dependency "rspec"
26
+ s.add_development_dependency 'bson', '~> 1.6.0'
26
27
  end
data/lib/human_digest.rb CHANGED
@@ -53,6 +53,7 @@ module HumanDigest
53
53
  # separator: (String)
54
54
 
55
55
  def self.humanize(hexdigest, words=4, separator='-')
56
+ hexdigest = hexdigest.to_s unless hexdigest.respond_to?(:length) and hexdigest.respond_to?(:unpack)
56
57
  limit = hexdigest.length / 2
57
58
  unpack_format = 'A2' * limit
58
59
  bytes = hexdigest.unpack(unpack_format).collect { |x| x.hex }
@@ -1,3 +1,3 @@
1
1
  module HumanDigest
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require 'human_digest'
2
+ require 'bson'
2
3
 
3
4
  describe HumanDigest do
4
5
  it "should generate a human digest" do
@@ -29,5 +30,10 @@ describe HumanDigest do
29
30
 
30
31
  separator = ' '
31
32
  HumanDigest.humanize(digest, words, separator).should eq('sodium magnesium nineteen hydrogen')
32
- end
33
+ end
34
+
35
+ it "should humanize a BSON::ObjectId" do
36
+ digest = BSON::ObjectId('4f501caf73e5ecb2c3000003')
37
+ HumanDigest.humanize(digest).should eq('alaska-echo-nitrogen-alaska')
38
+ end
33
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: human_digest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70307781222500 !ruby/object:Gem::Requirement
16
+ requirement: &70338361950740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70307781222500
24
+ version_requirements: *70338361950740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70307781222080 !ruby/object:Gem::Requirement
27
+ requirement: &70338361950320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,18 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70307781222080
35
+ version_requirements: *70338361950320
36
+ - !ruby/object:Gem::Dependency
37
+ name: bson
38
+ requirement: &70338361949820 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.6.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70338361949820
36
47
  description: Human-readable digests
37
48
  email: matt@vanderpol.net
38
49
  executables: []
@@ -40,6 +51,7 @@ extensions: []
40
51
  extra_rdoc_files: []
41
52
  files:
42
53
  - .gitignore
54
+ - CHANGELOG.md
43
55
  - Gemfile
44
56
  - LICENSE
45
57
  - README.md