version_sorter 1.0.0

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.
@@ -0,0 +1,30 @@
1
+ require 'test/unit'
2
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
3
+ require 'version_sorter'
4
+
5
+ class VersionSorterTest < Test::Unit::TestCase
6
+ include VersionSorter
7
+
8
+ def test_sorts_verisons_correctly
9
+ versions = %w(1.0.9 1.0.10 2.0 3.1.4.2 1.0.9a)
10
+ sorted_versions = %w( 1.0.9 1.0.9a 1.0.10 2.0 3.1.4.2 )
11
+
12
+ assert_equal sorted_versions, sort(versions)
13
+ end
14
+
15
+ def test_reverse_sorts_verisons_correctly
16
+ versions = %w(1.0.9 1.0.10 2.0 3.1.4.2 1.0.9a)
17
+ sorted_versions = %w( 3.1.4.2 2.0 1.0.10 1.0.9a 1.0.9 )
18
+
19
+ assert_equal sorted_versions, rsort(versions)
20
+ end
21
+ end
22
+
23
+ require 'benchmark'
24
+ versions = IO.read(File.dirname(__FILE__) + '/tags.txt').split("\n")
25
+ count = 10
26
+ Benchmark.bm(20) do |x|
27
+ x.report("sort") { count.times { VersionSorter.sort(versions) } }
28
+ x.report("rsot") { count.times { VersionSorter.rsort(versions) } }
29
+ end
30
+ puts
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: version_sorter
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Chris Wanstrath
8
+ - K. Adam Christensen
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-10-13 00:00:00 -07:00
14
+ default_executable:
15
+ dependencies: []
16
+
17
+ description: Fast sorting of version strings
18
+ email: chris@ozmm.org
19
+ executables: []
20
+
21
+ extensions:
22
+ - ext/version_sorter/extconf.rb
23
+ extra_rdoc_files:
24
+ - README.markdown
25
+ files:
26
+ - .gitattributes
27
+ - .gitignore
28
+ - README.markdown
29
+ - Rakefile
30
+ - ext/version_sorter/extconf.rb
31
+ - ext/version_sorter/rb_version_sorter.c
32
+ - ext/version_sorter/test/main.c
33
+ - ext/version_sorter/version_sorter.c
34
+ - ext/version_sorter/version_sorter.h
35
+ - ext/version_sorter/version_sorter.xcodeproj/project.pbxproj
36
+ - test/tags.rb
37
+ - test/tags.txt
38
+ - test/version_sorter_test.rb
39
+ has_rdoc: true
40
+ homepage: http://github.com/defunkt/version_sorter
41
+ licenses: []
42
+
43
+ post_install_message:
44
+ rdoc_options:
45
+ - --charset=UTF-8
46
+ require_paths:
47
+ - lib
48
+ - ext
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: "0"
60
+ version:
61
+ requirements: []
62
+
63
+ rubyforge_project:
64
+ rubygems_version: 1.3.5
65
+ signing_key:
66
+ specification_version: 3
67
+ summary: Fast sorting of version strings
68
+ test_files:
69
+ - test/tags.rb
70
+ - test/version_sorter_test.rb