versionub 0.0.2.2 → 0.0.2.3

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.
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.