versionub 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.clone
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: subtree(: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 if @text
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
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.4
63
+ rubygems_version: 1.8.5
64
64
  signing_key:
65
65
  specification_version: 3
66
66
  summary: A library to manage version strings.