versionub 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/versionub/type.rb +18 -3
- data/lib/versionub/types/standard.rb +2 -4
- metadata +2 -2
data/lib/versionub/type.rb
CHANGED
@@ -23,21 +23,36 @@ module Versionub
|
|
23
23
|
|
24
24
|
class Type
|
25
25
|
class Instance
|
26
|
+
include Comparable
|
27
|
+
|
26
28
|
attr_reader :type
|
27
29
|
|
28
30
|
def initialize (type, text, data)
|
29
|
-
@type = type
|
30
31
|
@text = text
|
32
|
+
|
33
|
+
@type = type
|
31
34
|
@data = data
|
32
35
|
end
|
33
36
|
|
37
|
+
String.instance_methods.each {|meth|
|
38
|
+
next if respond_to? meth
|
39
|
+
|
40
|
+
define_method meth do |*args|
|
41
|
+
String.instance_method(meth).bind(@text).call(*args)
|
42
|
+
end
|
43
|
+
}
|
44
|
+
|
45
|
+
def <=> (value)
|
46
|
+
to_s <=> value
|
47
|
+
end
|
48
|
+
|
34
49
|
def to_hash
|
35
|
-
@data.
|
50
|
+
@data.dup
|
36
51
|
end
|
37
52
|
|
38
53
|
def to_s
|
39
54
|
@text
|
40
|
-
end
|
55
|
+
end; alias to_str to_s
|
41
56
|
|
42
57
|
class << self
|
43
58
|
attr_accessor :parser, :transformer
|
@@ -61,7 +61,7 @@ Versionub.register :standard do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
transform do
|
64
|
-
rule(version
|
64
|
+
rule(:version => subtree(:version)) {
|
65
65
|
version.delete(:bugfix) if version[:bugfix].is_a?(Array)
|
66
66
|
|
67
67
|
version.dup.each {|name, value|
|
@@ -126,8 +126,6 @@ Versionub.register :standard do
|
|
126
126
|
return :final
|
127
127
|
end
|
128
128
|
|
129
|
-
include Comparable
|
130
|
-
|
131
129
|
def <=> (value)
|
132
130
|
value = Versionub.parse(value, type)
|
133
131
|
|
@@ -167,7 +165,7 @@ Versionub.register :standard do
|
|
167
165
|
end
|
168
166
|
|
169
167
|
def to_s
|
170
|
-
return super
|
168
|
+
return super unless empty?
|
171
169
|
|
172
170
|
"#{major}.#{minor}.#{tiny}"
|
173
171
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: versionub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- meh.
|
@@ -60,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
60
60
|
requirements: []
|
61
61
|
|
62
62
|
rubyforge_project:
|
63
|
-
rubygems_version: 1.8.
|
63
|
+
rubygems_version: 1.8.5
|
64
64
|
signing_key:
|
65
65
|
specification_version: 3
|
66
66
|
summary: A library to manage version strings.
|