naturalsorter 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -76,7 +76,7 @@ because '~>1.1' doesn't fit anymore the newest version.
76
76
 
77
77
  You should add this line to your Gemfile
78
78
 
79
- `gem 'naturalsorter', '2.0.1'`
79
+ `gem 'naturalsorter', '2.0.2'`
80
80
 
81
81
  and run this command in your app root directory
82
82
 
@@ -1,3 +1,3 @@
1
1
  module Naturalsorter
2
- VERSION = "2.0.1"
2
+ VERSION = "2.0.2"
3
3
  end
data/lib/naturalsorter.rb CHANGED
@@ -34,30 +34,28 @@ module Naturalsorter
34
34
  if (array.nil? || array.empty?)
35
35
  return nil
36
36
  end
37
- array.sort { |a,b| Natcmp.natcmp(a,b,caseinsesitive) }
37
+ array.sort { |a,b| Natcmp.natcmp(a, b, caseinsesitive) }
38
38
  end
39
39
 
40
40
  def self.sort_desc(array, caseinsesitive)
41
41
  if (array.nil? || array.empty?)
42
42
  return nil
43
43
  end
44
- array.sort { |a, b| Natcmp.natcmp(b,a,caseinsesitive) }
44
+ array.sort { |a, b| Natcmp.natcmp(b, a, caseinsesitive) }
45
45
  end
46
46
 
47
47
 
48
48
  # 'Natural order' sort for an array of objects.
49
49
  def self.sort_by_method(array, method, caseinsesitive)
50
- if (array.nil? || array.empty?)
51
- return nil
52
- end
53
- array.sort { |a,b| Natcmp.natcmp(a.send(method),b.send(method),caseinsesitive) }
50
+ return nil if (array.nil? || array.empty?)
51
+ return nil if array.length == 1
52
+ array.sort { |a,b| Natcmp.natcmp( a.send(method), b.send(method), caseinsesitive) }
54
53
  end
55
54
 
56
55
  def self.sort_by_method_desc(array, method, caseinsesitive)
57
- if (array.nil? || array.empty?)
58
- return nil
59
- end
60
- array.sort { |a, b| Natcmp.natcmp(b.send(method),a.send(method),caseinsesitive) }
56
+ return nil if (array.nil? || array.empty?)
57
+ return nil if array.length == 1
58
+ array.sort { |a, b| Natcmp.natcmp(b.send(method), a.send(method), caseinsesitive) }
61
59
  end
62
60
 
63
61
 
@@ -75,11 +73,13 @@ module Naturalsorter
75
73
 
76
74
  def self.sort_version_by_method(array, method)
77
75
  return nil if (array.nil? || array.empty?)
76
+ return nil if array.length == 1
78
77
  array.sort { |a,b| Versioncmp.compare(a.send(method), b.send(method)) }
79
78
  end
80
79
 
81
80
  def self.sort_version_by_method_desc(array, method)
82
81
  return nil if (array.nil? || array.empty?)
82
+ return nil if array.length == 1
83
83
  array.sort { |a,b| Versioncmp.compare(b.send(method), a.send(method)) }
84
84
  end
85
85
 
@@ -32,6 +32,10 @@ describe Naturalsorter::Sorter do
32
32
 
33
33
 
34
34
  describe "sort_version" do
35
+
36
+ it "1.1 is 1.1" do
37
+ Naturalsorter::Sorter.sort_version(["1.1"]).should eql(["1.1"])
38
+ end
35
39
 
36
40
  it "1.1, 1.0 is 1.0, 1.1" do
37
41
  Naturalsorter::Sorter.sort_version(["1.1", "1.0"]).should eql(["1.0", "1.1"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: naturalsorter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-03-26 00:00:00.000000000 Z
13
+ date: 2013-04-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec