version_compare 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ffcd0d56b6b7f030f3021bae075a475cf8c5073
4
- data.tar.gz: 8be8c9d13a5ebc97be66ee2b3841259ea3655761
3
+ metadata.gz: bb866c1ed445858b022983875066a98b0875dcac
4
+ data.tar.gz: fff6ce85b9bb3f11bb9bd9ae352f24789dd040ee
5
5
  SHA512:
6
- metadata.gz: 7daa0dd6f3c4ea8917ef54cfcd46152f6e85ecd97157c7c471c5f03e1a1e7386f0c7d5563b3ca880370ee19ab49c969eb03ac2623624846635baab6a3739722a
7
- data.tar.gz: 31bc14355f927875899dc7ac3070622e75344e81408fe609c91bf8aa7564d194a796b7fd4a38e7bfa152485e4f62cb8c2696fcd9416ab8458d2f22fe886a1514
6
+ metadata.gz: 974085d3d812048c6aa7d6435381750c488bec4fab4d00d203ecd88f586f57af4b5f50d28b67d4543f5596edabe68998c2278204f34b4528cf29d59583c6ef27
7
+ data.tar.gz: 6fad959c52815eccf38476c136d90ef40fec1b909f0c3e9edd7551a69ebec521c728a1f8968fc48e683eb85ff66915f352c8db9c14ffac967fb1de8e65f7ebb5
data/README.md CHANGED
@@ -2,24 +2,26 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/version_compare.png)](http://badge.fury.io/rb/version_compare)
4
4
 
5
- Version Compare allows you to easily compare if one Version is >, >=, ==, !=, <,
6
- or <= to another Version. It aims to be as light and flexible as possible. Inputs
7
- can be a String, Integer, Float, Array, or any object that defines `#to_version`
8
- to return one of the aforementioned types.
5
+ Version Compare allows you to easily compare if one Version (string) to another
6
+ Version (string). It aims to be as light and flexible as possible. Inputs can be
7
+ a String, Integer, Float, Array, or any object that defines `#to_version`.
9
8
 
10
- In an effort to remain simple, Version Compare only works with up to four
11
- numeric values separated by periods:
9
+ For simplicity's sake, Version Compare only works with up to four numeric
10
+ values:
12
11
 
13
12
  ```ruby
14
13
  "<major>.<minor>.<tiny>.<patch>"
14
+ [<major>, <minor>, <tiny>, <patch>]
15
15
  ```
16
16
 
17
+
17
18
  ## Compatibility
18
19
 
19
20
  Tested with:
20
21
 
21
22
  * Ruby: MRI 1.9.3
22
- * Ruby: MRI 2.0.0 +
23
+ * Ruby: MRI 2+
24
+
23
25
 
24
26
  ## Installation
25
27
 
@@ -35,6 +37,7 @@ And then execute:
35
37
  bundle
36
38
  ```
37
39
 
40
+
38
41
  ## Usage
39
42
 
40
43
  To get started, you can either use `Version.new(<value>)` or `Version(<value>)`.
@@ -59,7 +62,7 @@ Or, to test on the Rails Console:
59
62
  [2] pry(main)> Version(1.0) > Version(1)
60
63
  => false
61
64
 
62
- # - OR (without using `include`) -
65
+ # - OR (without using `include ::Conversions`) -
63
66
 
64
67
  [1] pry(main)> Conversions.Version(1.0) > Conversions.Version(1)
65
68
  => false
@@ -76,8 +79,11 @@ Version("1.2.3.4") <= Version("1.2.3.4") # => true
76
79
  Version([1, 2]) == Version(["1", "2"]) # => true
77
80
  Version("1.2.0.0") == Version(1.2) # => true
78
81
  Version("1.0.0.0") != Version(1) # => false
82
+ [Version(1), Version("1.0.0.1"), Version(0.1)].sort # => ["0.1", "1", "1.0.0.1"]
83
+ [Version(1), Version("1.0.0.1"), Version(0.1)].sort { |a, b| b <=> a } # => ["1.0.0.1", "1", "0.1"]
79
84
  ```
80
85
 
86
+
81
87
  ### Wait, so what exactly is this `Version` ... constant?
82
88
 
83
89
  `Version()` is actually a conversion function. It follows the Ruby convention of
@@ -97,11 +103,11 @@ version. For example:
97
103
  Version.new(OpenStruct.new(a: 1)).to_s # => "0"
98
104
  ```
99
105
 
106
+
100
107
  ### Can I pass my own custom objects into `Version()`?
101
108
 
102
109
  Yes! All you have to do is define a `#to_version` implicit conversion method in
103
- your object. Just have it return either a String, an Integer, a Float, or an
104
- Array.
110
+ your object that creates a new Version object in the usual fashion.
105
111
 
106
112
  ```ruby
107
113
  class MyObject
@@ -114,7 +120,8 @@ end
114
120
  Version(MyObject.new) > Version(2.0) # => false
115
121
  ```
116
122
 
117
- ### Why do you seem to excited about the custom object thing?
123
+
124
+ ### Why do you seem so excited about the custom object thing?
118
125
 
119
126
  Because, it opens up the world! Here's an example:
120
127
 
@@ -138,7 +145,8 @@ end
138
145
  Version(Rails.application) > Version(1.0) # => true
139
146
  ```
140
147
 
141
- So you see, the sky is the limit...
148
+ So you see... the sky is the limit!
149
+
142
150
 
143
151
  ## Author
144
152
 
@@ -1,20 +1,22 @@
1
1
  # Conversions is meant to be a common module used to define standard conversion
2
2
  # methods. Anytime one of the standard conversion methods are needed, the
3
3
  # Conversions module can be included and then used freely.
4
- #
5
4
  module Conversions
6
5
  require_relative "version"
7
6
 
8
7
  # The `Version()` conversion method is defined as a module_function so that it
9
8
  # may also be called directly without needing to include the Conversions module
10
9
  # if so desired.
10
+ #
11
11
  # @example
12
12
  # Conversions.Version(1.2).to_s # => "1.2"
13
13
  module_function
14
14
 
15
15
  # Strict conversion method for creating a `Version` object out of anything
16
16
  # that sensibly is a Version.
17
+ #
17
18
  # @param [Object] value the object to be converted
19
+ #
18
20
  # @example
19
21
  # Version(1) # => #<Version:0x007fd8144ea658 @major=1, @minor=nil, @tiny=nil, @patch=nil>
20
22
  # Version(1.2) # => #<Version:0x007fd8144ea658 @major=1, @minor=2, @tiny=nil, @patch=nil>
@@ -6,34 +6,18 @@ class Version
6
6
 
7
7
  attr_accessor *NAMES
8
8
 
9
- def initialize(value)
10
- @major, @minor, @tiny, @patch = begin
11
- if value.respond_to?(:to_ary)
12
- value.to_ary.map(&:to_i)
13
- elsif value.respond_to?(:to_version)
14
- value.to_version.to_a
15
- else
16
- value.to_s.split('.').map(&:to_i)
17
- end
18
- end
19
- end
20
-
21
9
  # Implicit conversion method
22
10
  def to_version
23
11
  self
24
12
  end
25
13
 
26
14
  def to_s
27
- [major, minor, tiny, patch].compact.join('.')
15
+ NAMES.map { |name| public_send(name) }.compact.join('.')
28
16
  end
29
17
  alias :to_str :to_s
30
18
 
31
- def to_f
32
- to_s.to_f
33
- end
34
-
35
19
  def to_a
36
- NAMES.map { |name| send(name) }.compact
20
+ NAMES.map { |name| public_send(name) }.compact
37
21
  end
38
22
  alias :to_ary :to_a
39
23
 
@@ -53,4 +37,17 @@ class Version
53
37
  end
54
38
  0
55
39
  end
40
+
41
+ private
42
+
43
+ def initialize(value)
44
+ @major, @minor, @tiny, @patch =
45
+ if value.respond_to?(:to_ary)
46
+ value.to_ary.map(&:to_i)
47
+ elsif value.respond_to?(:to_version)
48
+ value.to_version.to_a
49
+ else
50
+ value.to_s.split('.').map(&:to_i)
51
+ end
52
+ end
56
53
  end
@@ -3,79 +3,60 @@ require 'test_helper'
3
3
  describe Conversions do
4
4
  describe "conversion function" do
5
5
  it "works on integers" do
6
- assert { Version(1).class == Version }
6
+ Version(1).class.must_equal Version
7
7
  end
8
8
 
9
9
  it "works on floats" do
10
- assert { Version(1.2).class == Version }
10
+ Version(1.2).class.must_equal Version
11
11
  end
12
12
 
13
13
  it "works on strings" do
14
- assert { Version("1.2.3.4").class == Version }
14
+ Version("1.2.3.4").class.must_equal Version
15
15
  end
16
16
 
17
17
  it "works on arrays" do
18
- assert { Version([1, 2, 3, 4]).instance_of?(Version) }
19
- assert { Version([1, 2, 3, 4]) == Version("1.2.3.4") }
20
- assert { Version(["1", "2", "3", "4"]) == Version("1.2.3.4") }
18
+ Version([1, 2, 3, 4]).must_be_instance_of Version
19
+ Version([1, 2, 3, 4]).must_equal Version("1.2.3.4")
20
+ Version(["1", "2", "3", "4"]).must_equal Version("1.2.3.4")
21
21
  end
22
22
 
23
23
  it "works on Versions" do
24
- assert { Version(Version(1.2)).instance_of?(Version) }
25
- assert { Version(Version(1.2)) == Version(1.2) }
24
+ Version(Version(1.2)).must_be_instance_of Version
25
+ Version(Version(1.2)).must_equal Version(1.2)
26
26
  end
27
27
  end
28
28
 
29
29
  describe "explicit conversions" do
30
30
  describe "#to_s" do
31
31
  it "returns string regardless of input" do
32
- assert { Version(1).to_s == "1" }
33
- assert { Version(1.2).to_s == "1.2" }
34
- assert { Version("1.2.3").to_s == "1.2.3" }
35
- end
36
- end
37
-
38
- describe "#to_f" do
39
- it "returns float when major only" do
40
- assert { Version(1).to_f == 1.0 }
41
- end
42
-
43
- it "returns float when major and minor" do
44
- assert { Version(1.0).to_f == 1.0 }
45
- assert { Version(1.2).to_f == 1.2 }
46
- end
47
-
48
- it "returns truncated float when more than just major and minor" do
49
- assert { Version("1.0.0").to_f == 1.0 }
50
- assert { Version("1.1.9").to_f == 1.1 }
51
- assert { Version("1.0.0.0").to_f == 1.0 }
52
- assert { Version("1.1.9.9").to_f == 1.1 }
32
+ Version(1).to_s.must_equal "1"
33
+ Version(1.2).to_s.must_equal "1.2"
34
+ Version("1.2.3").to_s.must_equal "1.2.3"
53
35
  end
54
36
  end
55
37
 
56
38
  describe "#to_a" do
57
39
  it "returns an array of integers" do
58
- assert { Version(1).to_a == [1] }
59
- assert { Version(1.0).to_a == [1, 0] }
60
- assert { Version("1.2.3").to_a == [1, 2, 3] }
61
- assert { Version("1.2.3.4").to_a == [1, 2, 3, 4] }
62
- assert { Version(["1", "2", "3", "4"]).to_a == [1, 2, 3, 4] }
40
+ Version(1).to_a.must_equal [1]
41
+ Version(1.0).to_a.must_equal [1, 0]
42
+ Version("1.2.3").to_a.must_equal [1, 2, 3]
43
+ Version("1.2.3.4").to_a.must_equal [1, 2, 3, 4]
44
+ Version(["1", "2", "3", "4"]).to_a.must_equal [1, 2, 3, 4]
63
45
  end
64
46
  end
65
47
  end
66
48
 
67
49
  describe "implicit conversions" do
68
- describe "string concatination" do
69
- it "concatinates" do
70
- assert { ("version: " + Version("1.2.3.4")) == "version: 1.2.3.4" }
50
+ describe "string concatenation" do
51
+ it "concatenates" do
52
+ ("version: " + Version("1.2.3.4")).must_equal "version: 1.2.3.4"
71
53
  end
72
54
  end
73
55
 
74
56
  describe "CustomObjects" do
75
57
  describe "without #to_version" do
76
58
  it "raises TypeError when attempting to convert custom objects that don't implement #to_version" do
77
- assert { rescuing { Version(Object.new) }.instance_of?(TypeError) }
78
- deny { rescuing { Version.new(Object.new) }.is_a?(StandardError) }
59
+ -> { Version(Object.new) }.must_raise TypeError
79
60
  end
80
61
  end
81
62
 
@@ -87,13 +68,13 @@ describe Conversions do
87
68
  Version.new(VERSION.to_s)
88
69
  end
89
70
  end
90
-
91
- @obj = CustomObject.new
92
71
  end
93
72
 
73
+ subject { CustomObject.new }
74
+
94
75
  it "returns a Version object" do
95
- assert { Version(@obj).instance_of?(Version) }
96
- assert { Version.new(@obj).instance_of?(Version) }
76
+ Version(subject).must_be_instance_of Version
77
+ Version.new(subject).must_be_instance_of Version
97
78
  end
98
79
  end
99
80
  end
@@ -4,15 +4,10 @@ ENV["RAILS_ENV"] = "test"
4
4
  require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
5
  require "rails/test_help"
6
6
  require "minitest/rails"
7
- require "minitest/ansi"
8
- require "wrong/adapters/minitest"
9
7
 
10
8
  include ::Conversions
11
9
 
12
- MiniTest::ANSI.use!
13
- Wrong.config.color
14
-
15
10
  Rails.backtrace_cleaner.remove_silencers!
16
11
 
17
12
  # Load support files
18
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
13
+ Dir[Rails.root.join("test/support/**/*.rb")].each { |f| require f }
@@ -2,180 +2,180 @@ require 'test_helper'
2
2
 
3
3
  describe VersionCompare do
4
4
  describe "#>" do
5
- it "returns true when left-side is greater than right-side" do
6
- assert { Version(2) > Version(1) }
7
- assert { Version(2) > Version(1.2) }
8
- assert { Version(2) > Version("1.2.3") }
9
- assert { Version(2) > Version("1.2.3.4") }
10
-
11
- assert { Version(2.0) > Version(1) }
12
- assert { Version(2.0) > Version(1.0) }
13
- assert { Version(2.1) > Version("2.0.3") }
14
- assert { Version(2.1) > Version("2.0.3.4") }
15
-
16
- assert { Version("2.0.0") > Version(1) }
17
- assert { Version("2.1.0") > Version(1.2) }
18
- assert { Version("2.1.0") > Version("1.2.0") }
19
- assert { Version("2.1.1") > Version("2.1.0.4") }
20
-
21
- assert { Version("2.0.0.0") > Version(1) }
22
- assert { Version("2.1.0.0") > Version(2.0) }
23
- assert { Version("2.1.1.0") > Version("2.1.0") }
24
- assert { Version("2.1.3.0") > Version("2.1.2.4") }
25
-
26
- assert { Version(2) > Version(1.99) }
27
- assert { Version(1.3) > Version("1.2.99") }
28
- assert { Version("1.2.4") > Version("1.2.3.99") }
5
+ it "returns true when lvalue is greater than rvalue" do
6
+ Version(2).must_be :>, Version(1)
7
+ Version(2).must_be :>, Version(1.2)
8
+ Version(2).must_be :>, Version("1.2.3")
9
+ Version(2).must_be :>, Version("1.2.3.4")
10
+
11
+ Version(2.0).must_be :>, Version(1)
12
+ Version(2.0).must_be :>, Version(1.0)
13
+ Version(2.1).must_be :>, Version("2.0.3")
14
+ Version(2.1).must_be :>, Version("2.0.3.4")
15
+
16
+ Version("2.0.0").must_be :>, Version(1)
17
+ Version("2.1.0").must_be :>, Version(1.2)
18
+ Version("2.1.0").must_be :>, Version("1.2.0")
19
+ Version("2.1.1").must_be :>, Version("2.1.0.4")
20
+
21
+ Version("2.0.0.0").must_be :>, Version(1)
22
+ Version("2.1.0.0").must_be :>, Version(2.0)
23
+ Version("2.1.1.0").must_be :>, Version("2.1.0")
24
+ Version("2.1.3.0").must_be :>, Version("2.1.2.4")
25
+
26
+ Version(2).must_be :>, Version(1.99)
27
+ Version(1.3).must_be :>, Version("1.2.99")
28
+ Version("1.2.4").must_be :>, Version("1.2.3.99")
29
29
  end
30
30
 
31
- it "returns false when left-side is less than right-side" do
32
- deny { Version(1) > Version(2) }
33
- deny { Version(1.2) > Version(2) }
34
- deny { Version("1.2.3") > Version(2) }
35
- deny { Version("1.2.3.4") > Version(2) }
36
-
37
- deny { Version(1) > Version(2.0) }
38
- deny { Version(2.0) > Version(2.1) }
39
- deny { Version("2.0.3") > Version(2.1) }
40
- deny { Version("2.0.3.4") > Version(2.1) }
41
-
42
- deny { Version(1) > Version("2.0.0") }
43
- deny { Version(1.2) > Version("2.1.0") }
44
- deny { Version("2.1.0") > Version("2.1.1") }
45
- deny { Version("2.1.0.4") > Version("2.1.1") }
46
-
47
- deny { Version(1) > Version("2.0.0.0") }
48
- deny { Version(2.0) > Version("2.1.0.0") }
49
- deny { Version("2.1.0") > Version("2.1.1.0") }
50
- deny { Version("2.1.0.4") > Version("2.1.1.0") }
51
-
52
- deny { Version(1.99) > Version(2) }
53
- deny { Version("1.2.99") > Version(1.3) }
54
- deny { Version("1.2.3.99") > Version("1.2.4") }
31
+ it "returns false when lvalue is less than rvalue" do
32
+ Version(1).wont_be :>, Version(2)
33
+ Version(1.2).wont_be :>, Version(2)
34
+ Version("1.2.3").wont_be :>, Version(2)
35
+ Version("1.2.3.4").wont_be :>, Version(2)
36
+
37
+ Version(1).wont_be :>, Version(2.0)
38
+ Version(2.0).wont_be :>, Version(2.1)
39
+ Version("2.0.3").wont_be :>, Version(2.1)
40
+ Version("2.0.3.4").wont_be :>, Version(2.1)
41
+
42
+ Version(1).wont_be :>, Version("2.0.0")
43
+ Version(1.2).wont_be :>, Version("2.1.0")
44
+ Version("2.1.0").wont_be :>, Version("2.1.1")
45
+ Version("2.1.0.4").wont_be :>, Version("2.1.1")
46
+
47
+ Version(1).wont_be :>, Version("2.0.0.0")
48
+ Version(2.0).wont_be :>, Version("2.1.0.0")
49
+ Version("2.1.0").wont_be :>, Version("2.1.1.0")
50
+ Version("2.1.0.4").wont_be :>, Version("2.1.1.0")
51
+
52
+ Version(1.99).wont_be :>, Version(2)
53
+ Version("1.2.99").wont_be :>, Version(1.3)
54
+ Version("1.2.3.99").wont_be :>, Version("1.2.4")
55
55
  end
56
56
 
57
- it "returns false when left-side is equal to right-side" do
58
- deny { Version(1) > Version(1.0) }
59
- deny { Version(1.2) > Version("1.2.0") }
60
- deny { Version("1.2.3") > Version("1.2.3.0") }
61
- deny { Version("1.2.3.4") > Version("1.2.3.4") }
57
+ it "returns false when lvalue is equal to rvalue" do
58
+ Version(1).wont_be :>, Version(1.0)
59
+ Version(1.2).wont_be :>, Version("1.2.0")
60
+ Version("1.2.3").wont_be :>, Version("1.2.3.0")
61
+ Version("1.2.3.4").wont_be :>, Version("1.2.3.4")
62
62
 
63
- deny { Version(1.0) > Version(1) }
64
- deny { Version("1.2.0") > Version(1.2) }
65
- deny { Version("1.2.3") > Version("1.2.3.0") }
66
- deny { Version("1.2.3.4") > Version("1.2.3.4") }
63
+ Version(1.0).wont_be :>, Version(1)
64
+ Version("1.2.0").wont_be :>, Version(1.2)
65
+ Version("1.2.3").wont_be :>, Version("1.2.3.0")
66
+ Version("1.2.3.4").wont_be :>, Version("1.2.3.4")
67
67
  end
68
68
  end
69
69
 
70
70
  describe "#==" do
71
- it "returns false when left-side is less than right-side" do
72
- deny { Version(1.2) == Version(2) }
73
- deny { Version("1.2.3") == Version(2) }
74
- deny { Version("1.2.3.4") == Version(2) }
75
-
76
- deny { Version(1) == Version(2.0) }
77
- deny { Version("2.0.3") == Version(2.1) }
78
- deny { Version("2.0.3.4") == Version(2.1) }
79
-
80
- deny { Version(1) == Version("2.0.0") }
81
- deny { Version(1.2) == Version("2.1.0") }
82
- deny { Version("2.1.0.4") == Version("2.1.1") }
83
-
84
- deny { Version(1) == Version("2.0.0.0") }
85
- deny { Version(2.0) == Version("2.1.0.0") }
86
- deny { Version("2.1.0") == Version("2.1.1.0") }
87
-
88
- deny { Version(1.99) == Version(2) }
89
- deny { Version("1.2.99") == Version(1.3) }
90
- deny { Version("1.2.3.99") == Version("1.2.4") }
71
+ it "returns false when lvalue is less than rvalue" do
72
+ Version(1.2).wont_equal Version(2)
73
+ Version("1.2.3").wont_equal Version(2)
74
+ Version("1.2.3.4").wont_equal Version(2)
75
+
76
+ Version(1).wont_equal Version(2.0)
77
+ Version("2.0.3").wont_equal Version(2.1)
78
+ Version("2.0.3.4").wont_equal Version(2.1)
79
+
80
+ Version(1).wont_equal Version("2.0.0")
81
+ Version(1.2).wont_equal Version("2.1.0")
82
+ Version("2.1.0.4").wont_equal Version("2.1.1")
83
+
84
+ Version(1).wont_equal Version("2.0.0.0")
85
+ Version(2.0).wont_equal Version("2.1.0.0")
86
+ Version("2.1.0").wont_equal Version("2.1.1.0")
87
+
88
+ Version(1.99).wont_equal Version(2)
89
+ Version("1.2.99").wont_equal Version(1.3)
90
+ Version("1.2.3.99").wont_equal Version("1.2.4")
91
91
  end
92
92
 
93
- it "returns false when left-side is greater than right-side" do
94
- deny { Version(2) == Version(1.2) }
95
- deny { Version(2) == Version("1.2.3") }
96
- deny { Version(2) == Version("1.2.3.4") }
93
+ it "returns false when lvalue is greater than rvalue" do
94
+ Version(2).wont_equal Version(1.2)
95
+ Version(2).wont_equal Version("1.2.3")
96
+ Version(2).wont_equal Version("1.2.3.4")
97
97
 
98
- deny { Version(2.0) == Version(1) }
99
- deny { Version(2.1) == Version("2.0.3") }
100
- deny { Version(2.1) == Version("2.0.3.4") }
98
+ Version(2.0).wont_equal Version(1)
99
+ Version(2.1).wont_equal Version("2.0.3")
100
+ Version(2.1).wont_equal Version("2.0.3.4")
101
101
 
102
- deny { Version("2.0.0") == Version(1) }
103
- deny { Version("2.1.0") == Version(1.2) }
104
- deny { Version("2.1.1") == Version("2.1.0.4") }
102
+ Version("2.0.0").wont_equal Version(1)
103
+ Version("2.1.0").wont_equal Version(1.2)
104
+ Version("2.1.1").wont_equal Version("2.1.0.4")
105
105
 
106
- deny { Version("2.0.0.0") == Version(1) }
107
- deny { Version("2.1.0.0") == Version(2.0) }
108
- deny { Version("2.1.1.0") == Version("2.1.0") }
106
+ Version("2.0.0.0").wont_equal Version(1)
107
+ Version("2.1.0.0").wont_equal Version(2.0)
108
+ Version("2.1.1.0").wont_equal Version("2.1.0")
109
109
 
110
- deny { Version(2) == Version(1.99) }
111
- deny { Version(1.3) == Version("1.2.99") }
112
- deny { Version("1.2.4") == Version("1.2.3.99") }
110
+ Version(2).wont_equal Version(1.99)
111
+ Version(1.3).wont_equal Version("1.2.99")
112
+ Version("1.2.4").wont_equal Version("1.2.3.99")
113
113
  end
114
114
 
115
- it "returns true when left-side is equal to right-side" do
116
- assert { Version(1.0) == Version(1) }
117
- assert { Version("1.2.0") == Version(1.2) }
118
- assert { Version("1.2.3.0") == Version("1.2.3") }
115
+ it "returns true when lvalue is equal to rvalue" do
116
+ Version(1.0).must_equal Version(1)
117
+ Version("1.2.0").must_equal Version(1.2)
118
+ Version("1.2.3.0").must_equal Version("1.2.3")
119
119
 
120
- assert { Version(1) == Version(1.0) }
121
- assert { Version(1.2) == Version("1.2.0") }
122
- assert { Version("1.2.3") == Version("1.2.3.0") }
120
+ Version(1).must_equal Version(1.0)
121
+ Version(1.2).must_equal Version("1.2.0")
122
+ Version("1.2.3").must_equal Version("1.2.3.0")
123
123
  end
124
124
  end
125
125
 
126
126
  describe "#<" do
127
- it "returns true when left-side is less than right-side" do
128
- assert { Version(1.2) < Version(2) }
129
- assert { Version("1.2.3") < Version(2) }
130
- assert { Version("1.2.3.4") < Version(2) }
131
-
132
- assert { Version(1) < Version(2.0) }
133
- assert { Version("2.0.3") < Version(2.1) }
134
- assert { Version("2.0.3.4") < Version(2.1) }
135
-
136
- assert { Version(1) < Version("2.0.0") }
137
- assert { Version(1.2) < Version("2.1.0") }
138
- assert { Version("2.1.0.4") < Version("2.1.1") }
139
-
140
- assert { Version(1) < Version("2.0.0.0") }
141
- assert { Version(2.0) < Version("2.1.0.0") }
142
- assert { Version("2.1.0") < Version("2.1.1.0") }
143
-
144
- assert { Version(1.99) < Version(2) }
145
- assert { Version("1.2.99") < Version(1.3) }
146
- assert { Version("1.2.3.99") < Version("1.2.4") }
127
+ it "returns true when lvalue is less than rvalue" do
128
+ Version(1.2).must_be :<, Version(2)
129
+ Version("1.2.3").must_be :<, Version(2)
130
+ Version("1.2.3.4").must_be :<, Version(2)
131
+
132
+ Version(1).must_be :<, Version(2.0)
133
+ Version("2.0.3").must_be :<, Version(2.1)
134
+ Version("2.0.3.4").must_be :<, Version(2.1)
135
+
136
+ Version(1).must_be :<, Version("2.0.0")
137
+ Version(1.2).must_be :<, Version("2.1.0")
138
+ Version("2.1.0.4").must_be :<, Version("2.1.1")
139
+
140
+ Version(1).must_be :<, Version("2.0.0.0")
141
+ Version(2.0).must_be :<, Version("2.1.0.0")
142
+ Version("2.1.0").must_be :<, Version("2.1.1.0")
143
+
144
+ Version(1.99).must_be :<, Version(2)
145
+ Version("1.2.99").must_be :<, Version(1.3)
146
+ Version("1.2.3.99").must_be :<, Version("1.2.4")
147
147
  end
148
148
 
149
- it "returns false when left-side is greater than right-side" do
150
- deny { Version(2) < Version(1.2) }
151
- deny { Version(2) < Version("1.2.3") }
152
- deny { Version(2) < Version("1.2.3.4") }
149
+ it "returns false when lvalue is greater than rvalue" do
150
+ Version(2).wont_be :<, Version(1.2)
151
+ Version(2).wont_be :<, Version("1.2.3")
152
+ Version(2).wont_be :<, Version("1.2.3.4")
153
153
 
154
- deny { Version(2.0) < Version(1) }
155
- deny { Version(2.1) < Version("2.0.3") }
156
- deny { Version(2.1) < Version("2.0.3.4") }
154
+ Version(2.0).wont_be :<, Version(1)
155
+ Version(2.1).wont_be :<, Version("2.0.3")
156
+ Version(2.1).wont_be :<, Version("2.0.3.4")
157
157
 
158
- deny { Version("2.0.0") < Version(1) }
159
- deny { Version("2.1.0") < Version(1.2) }
160
- deny { Version("2.1.1") < Version("2.1.0.4") }
158
+ Version("2.0.0").wont_be :<, Version(1)
159
+ Version("2.1.0").wont_be :<, Version(1.2)
160
+ Version("2.1.1").wont_be :<, Version("2.1.0.4")
161
161
 
162
- deny { Version("2.0.0.0") < Version(1) }
163
- deny { Version("2.1.0.0") < Version(2.0) }
164
- deny { Version("2.1.1.0") < Version("2.1.0") }
162
+ Version("2.0.0.0").wont_be :<, Version(1)
163
+ Version("2.1.0.0").wont_be :<, Version(2.0)
164
+ Version("2.1.1.0").wont_be :<, Version("2.1.0")
165
165
 
166
- deny { Version(2) < Version(1.99) }
167
- deny { Version(1.3) < Version("1.2.99") }
168
- deny { Version("1.2.4") < Version("1.2.3.99") }
166
+ Version(2).wont_be :<, Version(1.99)
167
+ Version(1.3).wont_be :<, Version("1.2.99")
168
+ Version("1.2.4").wont_be :<, Version("1.2.3.99")
169
169
  end
170
170
 
171
- it "returns false when left-side is equal to right-side" do
172
- deny { Version(1.0) < Version(1) }
173
- deny { Version("1.2.0") < Version(1.2) }
174
- deny { Version("1.2.3.0") < Version("1.2.3") }
171
+ it "returns false when lvalue is equal to rvalue" do
172
+ Version(1.0).wont_be :<, Version(1)
173
+ Version("1.2.0").wont_be :<, Version(1.2)
174
+ Version("1.2.3.0").wont_be :<, Version("1.2.3")
175
175
 
176
- deny { Version(1) < Version(1.0) }
177
- deny { Version(1.2) < Version("1.2.0") }
178
- deny { Version("1.2.3") < Version("1.2.3.0") }
176
+ Version(1).wont_be :<, Version(1.0)
177
+ Version(1.2).wont_be :<, Version("1.2.0")
178
+ Version("1.2.3").wont_be :<, Version("1.2.3.0")
179
179
  end
180
180
  end
181
181
  end
metadata CHANGED
@@ -1,83 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: version_compare
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Dobbins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-07 00:00:00.000000000 Z
11
+ date: 2014-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.0.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sqlite3
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest-ansi
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: wrong
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
52
+ - - ">="
81
53
  - !ruby/object:Gem::Version
82
54
  version: '0'
83
55
  description: Version Compare allows you to easily compare if one Version is >, >=,
@@ -88,13 +60,15 @@ executables: []
88
60
  extensions: []
89
61
  extra_rdoc_files: []
90
62
  files:
91
- - lib/version_compare/conversions.rb
92
- - lib/version_compare/version.rb
93
- - lib/version_compare.rb
94
63
  - MIT-LICENSE
95
- - Rakefile
96
64
  - README.md
65
+ - Rakefile
66
+ - lib/version_compare.rb
67
+ - lib/version_compare/conversions.rb
68
+ - lib/version_compare/version.rb
97
69
  - test/conversions_test.rb
70
+ - test/dummy/README.rdoc
71
+ - test/dummy/Rakefile
98
72
  - test/dummy/app/assets/javascripts/application.js
99
73
  - test/dummy/app/assets/stylesheets/application.css
100
74
  - test/dummy/app/controllers/application_controller.rb
@@ -103,6 +77,7 @@ files:
103
77
  - test/dummy/bin/bundle
104
78
  - test/dummy/bin/rails
105
79
  - test/dummy/bin/rake
80
+ - test/dummy/config.ru
106
81
  - test/dummy/config/application.rb
107
82
  - test/dummy/config/boot.rb
108
83
  - test/dummy/config/database.yml
@@ -119,15 +94,12 @@ files:
119
94
  - test/dummy/config/initializers/wrap_parameters.rb
120
95
  - test/dummy/config/locales/en.yml
121
96
  - test/dummy/config/routes.rb
122
- - test/dummy/config.ru
123
97
  - test/dummy/log/development.log
124
98
  - test/dummy/log/test.log
125
99
  - test/dummy/public/404.html
126
100
  - test/dummy/public/422.html
127
101
  - test/dummy/public/500.html
128
102
  - test/dummy/public/favicon.ico
129
- - test/dummy/Rakefile
130
- - test/dummy/README.rdoc
131
103
  - test/test_helper.rb
132
104
  - test/version_compare_test.rb
133
105
  homepage: https://github.com/pdobb/version_compare
@@ -140,17 +112,17 @@ require_paths:
140
112
  - lib
141
113
  required_ruby_version: !ruby/object:Gem::Requirement
142
114
  requirements:
143
- - - '>='
115
+ - - ">="
144
116
  - !ruby/object:Gem::Version
145
117
  version: '0'
146
118
  required_rubygems_version: !ruby/object:Gem::Requirement
147
119
  requirements:
148
- - - '>='
120
+ - - ">="
149
121
  - !ruby/object:Gem::Version
150
122
  version: '0'
151
123
  requirements: []
152
124
  rubyforge_project:
153
- rubygems_version: 2.1.11
125
+ rubygems_version: 2.4.1
154
126
  signing_key:
155
127
  specification_version: 4
156
128
  summary: Compare versions
@@ -191,3 +163,4 @@ test_files:
191
163
  - test/dummy/README.rdoc
192
164
  - test/test_helper.rb
193
165
  - test/version_compare_test.rb
166
+ has_rdoc: