naturalsorter 0.3.7 → 0.4.7

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.
data/README.markdown CHANGED
@@ -20,8 +20,6 @@ This fork contains some special algorithms to sort version numbers in a natural
20
20
 
21
21
  ## API
22
22
 
23
- This GEM has 10 methods
24
-
25
23
  This 2 methods are sorting a simple array of Strings. The name of the methods and the parameters are self explained.
26
24
 
27
25
  `Naturalsorter::Sorter.sort(array, caseinsesitive)`
@@ -50,6 +48,22 @@ Get the newest version from the both given.
50
48
 
51
49
  `Naturalsorter::Sorter.get_newest_version(first, second)`
52
50
 
51
+ Is a bigger than b?
52
+
53
+ `Naturalsorter::Sorter.bigger?(a, b)`
54
+
55
+ Is a bigger than b or equal?
56
+
57
+ `Naturalsorter::Sorter.bigger_or_equal?(a, b)`
58
+
59
+ Is a smaller than b?
60
+
61
+ `Naturalsorter::Sorter.smaller?(a, b)`
62
+
63
+ Is a smaller than b or equal?
64
+
65
+ `Naturalsorter::Sorter.smaller_or_equal?(a, b)`
66
+
53
67
  This is for the Ruby GEM notaiton '~>'. For example '~>1.1' fits '1.2' and '1.9' and '1.14'. But not 2.0.
54
68
  The parameter version would be for example '~>1.1' and the parameter newest_version would be the
55
69
  current newest version of the GEM, for example "2.0". The method will return false in this case
@@ -62,7 +76,7 @@ because '~>1.1' doesn't fit anymore the newest version.
62
76
 
63
77
  You should add this line to your Gemfile
64
78
 
65
- `gem 'naturalsorter', '0.3.7'`
79
+ `gem 'naturalsorter', '0.4.7'`
66
80
 
67
81
  and run this command in your app root directory
68
82
 
@@ -1,3 +1,3 @@
1
1
  module Naturalsorter
2
- VERSION = "0.3.7"
2
+ VERSION = "0.4.7"
3
3
  end
data/lib/naturalsorter.rb CHANGED
@@ -90,6 +90,31 @@ module Naturalsorter
90
90
  array.last
91
91
  end
92
92
 
93
+ def self.bigger?(a, b)
94
+ return false if a.eql?(b)
95
+ newest = Sorter.get_newest_version(a, b)
96
+ newest.eql?(a)
97
+ end
98
+
99
+ def self.bigger_or_equal?(a, b)
100
+ return true if a.eql?(b)
101
+ newest = Sorter.get_newest_version(a, b)
102
+ newest.eql?(a)
103
+ end
104
+
105
+ def self.smaller?(a, b)
106
+ return false if a.eql?(b)
107
+ newest = Sorter.get_newest_version(a, b)
108
+ newest.eql?(b)
109
+ end
110
+
111
+ def self.smaller_or_equal?(a, b)
112
+ return true if a.eql?(b)
113
+ newest = Sorter.get_newest_version(a, b)
114
+ newest.eql?(b)
115
+ end
116
+
117
+
93
118
  # This is for the GEM notaiton ~>
94
119
  # For example ~>1.1 fits 1.2 and 1.9 and 1.14
95
120
  # But not 2.0
@@ -126,8 +126,87 @@ describe Naturalsorter::Sorter do
126
126
  end
127
127
  it "returns 1.10" do
128
128
  Naturalsorter::Sorter.get_newest_version("1.10", "1.8").should eql("1.10")
129
+ end
130
+
131
+ end
132
+
133
+ describe "bigger?" do
134
+
135
+ it "returns true" do
136
+ Naturalsorter::Sorter.bigger?("1.1", "1.0").should be_true
137
+ end
138
+ it "returns true" do
139
+ Naturalsorter::Sorter.bigger?("2.0", "1.0").should be_true
140
+ end
141
+ it "returns true" do
142
+ Naturalsorter::Sorter.bigger?("2.20", "2.9").should be_true
143
+ end
144
+ it "returns false" do
145
+ Naturalsorter::Sorter.bigger?("2.20", "2.20").should be_false
146
+ end
147
+ it "returns false" do
148
+ Naturalsorter::Sorter.bigger?("2.20", "3.0").should be_false
149
+ end
150
+
151
+ end
152
+
153
+ describe "bigger_or_equal?" do
154
+
155
+ it "returns true" do
156
+ Naturalsorter::Sorter.bigger_or_equal?("1.1", "1.0").should be_true
157
+ end
158
+ it "returns true" do
159
+ Naturalsorter::Sorter.bigger_or_equal?("2.0", "1.0").should be_true
160
+ end
161
+ it "returns true" do
162
+ Naturalsorter::Sorter.bigger_or_equal?("2.20", "2.9").should be_true
163
+ end
164
+ it "returns true" do
165
+ Naturalsorter::Sorter.bigger_or_equal?("2.20", "2.20").should be_true
166
+ end
167
+ it "returns false" do
168
+ Naturalsorter::Sorter.bigger_or_equal?("2.20", "3.0").should be_false
129
169
  end
170
+
171
+ end
172
+
173
+ describe "smaller?" do
130
174
 
175
+ it "returns false" do
176
+ Naturalsorter::Sorter.smaller?("1.1", "1.0").should be_false
177
+ end
178
+ it "returns false" do
179
+ Naturalsorter::Sorter.smaller?("2.0", "1.0").should be_false
180
+ end
181
+ it "returns false" do
182
+ Naturalsorter::Sorter.smaller?("2.20", "2.9").should be_false
183
+ end
184
+ it "returns false" do
185
+ Naturalsorter::Sorter.smaller?("2.20", "2.20").should be_false
186
+ end
187
+ it "returns true" do
188
+ Naturalsorter::Sorter.smaller?("2.20", "3.0").should be_true
189
+ end
190
+
191
+ end
192
+
193
+ describe "smaller_or_equal?" do
194
+
195
+ it "returns false" do
196
+ Naturalsorter::Sorter.smaller_or_equal?("1.1", "1.0").should be_false
197
+ end
198
+ it "returns false" do
199
+ Naturalsorter::Sorter.smaller_or_equal?("2.0", "1.0").should be_false
200
+ end
201
+ it "returns false" do
202
+ Naturalsorter::Sorter.smaller_or_equal?("2.20", "2.9").should be_false
203
+ end
204
+ it "returns true" do
205
+ Naturalsorter::Sorter.smaller_or_equal?("2.20", "2.20").should be_true
206
+ end
207
+ it "returns true" do
208
+ Naturalsorter::Sorter.smaller_or_equal?("2.20", "3.0").should be_true
209
+ end
131
210
 
132
211
  end
133
212
 
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: 0.3.7
4
+ version: 0.4.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-06-24 00:00:00.000000000Z
13
+ date: 2012-09-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
17
- requirement: &70249509911580 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,7 +22,12 @@ dependencies:
22
22
  version: '2.6'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *70249509911580
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '2.6'
26
31
  description: This GEM is sorting Arrays in a natural order. a2 < a10
27
32
  email:
28
33
  - robert.reiz@gmx.com
@@ -61,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
66
  version: '0'
62
67
  requirements: []
63
68
  rubyforge_project: naturalsorter
64
- rubygems_version: 1.8.17
69
+ rubygems_version: 1.8.24
65
70
  signing_key:
66
71
  specification_version: 3
67
72
  summary: Sorting arrays in natural order