versionub 0.0.5 → 0.0.6

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