versionub 0.0.2.2 → 0.0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/versionub/types/standard.rb +68 -34
  2. metadata +1 -1
@@ -53,20 +53,24 @@ Versionub.register :standard do
53
53
  end
54
54
 
55
55
  def major
56
- @data[:major].to_s if @data[:major]
56
+ @data[:major].to_s if @data[:major] && !@data[:major].is_a?(Array)
57
57
  end
58
58
 
59
59
  def minor
60
- @data[:minor].to_s if @data[:minor]
60
+ @data[:minor].to_s if @data[:minor] && !@data[:minor].is_a?(Array)
61
61
  end
62
62
 
63
63
  def tiny
64
- @data[:tiny].to_s if @data[:tiny]
64
+ @data[:tiny].to_s if @data[:tiny] && !@data[:tiny].is_a?(Array)
65
65
  end
66
66
 
67
67
  def bugfix
68
- @data[:bugfix].to_s if @data[:bugfix]
69
- end
68
+ @data[:bugfix].to_s if @data[:bugfix] && !@data[:bugfix].is_a?(Array)
69
+ end; alias tiny2 bugfix
70
+
71
+ def patch
72
+ @data[:patch].to_s if @data[:patch] && !@data[:patch].is_a?(Array)
73
+ end; alias p patch
70
74
 
71
75
  def release_candidate
72
76
  @data[:rc].is_a?(Array) ? '0' : @data[:rc].to_s
@@ -84,53 +88,83 @@ Versionub.register :standard do
84
88
  @data[:beta].is_a?(Array) ? '0' : @data[:beta].to_s
85
89
  end; alias b beta
86
90
 
87
- def release_candidate?
88
- !!@data[:rc]
89
- end
90
-
91
- def development?
92
- !!@data[:development]
93
- end
94
-
95
- def alpha?
96
- !!@data[:alpha]
97
- end
98
-
99
- def beta?
100
- !!@data[:beta]
101
- end
91
+ def major?; !!major; end
92
+ def minor?; !!minor; end
93
+ def tiny?; !!tiny; end
94
+ def bugfix?; !!bugfix; end
95
+ def patch?; !!patch; end
96
+ def release_candidate?; !!rc; end
97
+ def development?; !!development; end
98
+ def alpha?; !!alpha; end
99
+ def beta?; !!beta; end
102
100
 
103
101
  include Comparable
104
102
 
105
103
  def <=> (value)
106
104
  value = Versionub.parse(value)
107
105
 
108
- if release_candidate? && value.release_candidate? && (tmp = (rc <=> value.rc))
109
- return tmp
106
+ if bugfix?
107
+ if value.bugfix?
108
+ return bugfix.to_i <=> value.bugfix.to_i
109
+ else
110
+ return 1
111
+ end
112
+ elsif value.bugfix?
113
+ return -1
114
+ end
115
+
116
+ if tiny?
117
+ if value.tiny? && (tmp = tiny.to_i <=> value.tiny.to_i) != 0
118
+ return tmp
119
+ end
120
+ elsif value.tiny?
121
+ return -1
110
122
  end
111
123
 
112
- if development? && value.development? && (tmp = (development <=> value.development))
113
- return tmp
124
+ if minor?
125
+ if value.minor? && (tmp = minor.to_i <=> value.minor.to_i) != 0
126
+ return tmp
127
+ end
128
+ elsif value.minor?
129
+ return -1
114
130
  end
115
131
 
116
- if alpha? && value.alpha? && (tmp = (alpha <=> value.alpha))
117
- return tmp
132
+ if major?
133
+ if value.major? && (tmp = major.to_i <=> value.major.to_i) != 0
134
+ return tmp
135
+ end
118
136
  end
119
137
 
120
- if beta? && value.beta? && (tmp = (beta <=> value.beta))
121
- return tmp
138
+ if patch?
139
+ if value.patch?
140
+ return patch.to_i <=> value.patch.to_i
141
+ else
142
+ return 1
143
+ end
122
144
  end
123
145
 
124
- if (tmp = (bugfix <=> value.bugfix)) != 0
125
- return tmp
146
+ if release_candidate?
147
+ if value.release_candidate?
148
+ return release_candidate.to_i <=> value.release_candidate.to_i
149
+ else
150
+ return -1
151
+ end
126
152
  end
127
153
 
128
- if (tmp = (minor <=> value.minor)) != 0
129
- return tmp
154
+ if beta?
155
+ if value.beta?
156
+ return beta.to_i <=> value.beta.to_i
157
+ else
158
+ return -1
159
+ end
130
160
  end
131
161
 
132
- if (tmp = (major <=> value.major)) != 0
133
- return tmp
162
+ if alpha?
163
+ if value.alpha?
164
+ return alpha.to_i <=> value.alpha.to_i
165
+ else
166
+ return -1
167
+ end
134
168
  end
135
169
 
136
170
  0
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: versionub
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2.2
5
+ version: 0.0.2.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - meh.