versionub 0.0.1 → 0.0.2

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,6 +23,24 @@ module Versionub
23
23
 
24
24
  class Type
25
25
  class Instance
26
+ def self.parser (&block)
27
+ if block
28
+ @parser = Class.new(Parslet::Parser)
29
+ @parser.class_eval(&block)
30
+ end
31
+
32
+ @parser
33
+ end
34
+
35
+ def self.transformer (&block)
36
+ if block
37
+ @transformer = Class.new(Parslet::Transform)
38
+ @transformer.class_eval(&block)
39
+ end
40
+
41
+ @transformer
42
+ end
43
+
26
44
  attr_reader :type
27
45
 
28
46
  def initialize (type, text, data)
@@ -46,41 +64,19 @@ class Type
46
64
  @name = name
47
65
  @instance = Class.new(Instance)
48
66
 
49
- instance_eval &block
67
+ @instance.instance_eval &block
50
68
  end
51
69
 
52
70
  def parse (text)
53
- data = parser.new.parse(text)
71
+ data = @instance.parser.new.parse(text)
54
72
 
55
- if transformer
56
- data = transformer.apply(data)
73
+ if @instance.transformer
74
+ data = @instance.transformer.apply(data)
57
75
  end
58
76
 
59
77
  @instance.new(name, text, data)
60
78
  end
61
79
 
62
- def parser (&block)
63
- if block
64
- @parser = Class.new(Parslet::Parser)
65
- @parser.class_eval(&block)
66
- end
67
-
68
- @parser
69
- end
70
-
71
- def transformer (&block)
72
- if block
73
- @transformer = Class.new(Parslet::Transform)
74
- @transformer.class_eval(&block)
75
- end
76
-
77
- @transformer
78
- end
79
-
80
- def callbacks (&block)
81
- @instance.class_eval &block
82
- @instance.instance_methods
83
- end
84
80
  end
85
81
 
86
82
  end
@@ -44,85 +44,83 @@ Versionub.register :standard do
44
44
  root :version
45
45
  end
46
46
 
47
- callbacks do
48
- def major
49
- @data[:major].to_s if @data[:major]
50
- end
51
-
52
- def minor
53
- @data[:minor].to_s if @data[:minor]
54
- end
47
+ def major
48
+ @data[:major].to_s if @data[:major]
49
+ end
55
50
 
56
- def bugfix
57
- @data[:bugfix].to_s if @data[:bugfix]
58
- end
51
+ def minor
52
+ @data[:minor].to_s if @data[:minor]
53
+ end
59
54
 
60
- def release_candidate
61
- @data[:rc].is_a?(Array) ? '0' : @data[:rc].to_s
62
- end; alias rc release_candidate
55
+ def bugfix
56
+ @data[:bugfix].to_s if @data[:bugfix]
57
+ end
63
58
 
64
- def development
65
- @data[:development].is_a?(Array) ? '0' : @data[:development].to_s
66
- end; alias d development; alias dev development;
59
+ def release_candidate
60
+ @data[:rc].is_a?(Array) ? '0' : @data[:rc].to_s
61
+ end; alias rc release_candidate
67
62
 
68
- def alpha
69
- @data[:alpha].is_a?(Array) ? '0' : @data[:alpha].to_s
70
- end; alias a alpha; alias alfa alpha
63
+ def development
64
+ @data[:development].is_a?(Array) ? '0' : @data[:development].to_s
65
+ end; alias d development; alias dev development;
71
66
 
72
- def beta
73
- @data[:beta].is_a?(Array) ? '0' : @data[:beta].to_s
74
- end; alias b beta
67
+ def alpha
68
+ @data[:alpha].is_a?(Array) ? '0' : @data[:alpha].to_s
69
+ end; alias a alpha; alias alfa alpha
75
70
 
76
- def release_candidate?
77
- !!@data[:rc]
78
- end
71
+ def beta
72
+ @data[:beta].is_a?(Array) ? '0' : @data[:beta].to_s
73
+ end; alias b beta
79
74
 
80
- def development?
81
- !!@data[:development]
82
- end
75
+ def release_candidate?
76
+ !!@data[:rc]
77
+ end
83
78
 
84
- def alpha?
85
- !!@data[:alpha]
86
- end
79
+ def development?
80
+ !!@data[:development]
81
+ end
87
82
 
88
- def beta?
89
- !!@data[:beta]
90
- end
83
+ def alpha?
84
+ !!@data[:alpha]
85
+ end
91
86
 
92
- include Comparable
87
+ def beta?
88
+ !!@data[:beta]
89
+ end
93
90
 
94
- def <=> (value)
95
- value = Versionub.parse(value)
91
+ include Comparable
96
92
 
97
- if release_candidate? && value.release_candidate? && (tmp = (rc <=> value.rc))
98
- return tmp
99
- end
93
+ def <=> (value)
94
+ value = Versionub.parse(value)
100
95
 
101
- if development? && value.development? && (tmp = (development <=> value.development))
102
- return tmp
103
- end
96
+ if release_candidate? && value.release_candidate? && (tmp = (rc <=> value.rc))
97
+ return tmp
98
+ end
104
99
 
105
- if alpha? && value.alpha? && (tmp = (alpha <=> value.alpha))
106
- return tmp
107
- end
100
+ if development? && value.development? && (tmp = (development <=> value.development))
101
+ return tmp
102
+ end
108
103
 
109
- if beta? && value.beta? && (tmp = (beta <=> value.beta))
110
- return tmp
111
- end
104
+ if alpha? && value.alpha? && (tmp = (alpha <=> value.alpha))
105
+ return tmp
106
+ end
112
107
 
113
- if (tmp = (bugfix <=> value.bugfix)) != 0
114
- return tmp
115
- end
108
+ if beta? && value.beta? && (tmp = (beta <=> value.beta))
109
+ return tmp
110
+ end
116
111
 
117
- if (tmp = (minor <=> value.minor)) != 0
118
- return tmp
119
- end
112
+ if (tmp = (bugfix <=> value.bugfix)) != 0
113
+ return tmp
114
+ end
120
115
 
121
- if (tmp = (major <=> value.major)) != 0
122
- return tmp
123
- end
116
+ if (tmp = (minor <=> value.minor)) != 0
117
+ return tmp
118
+ end
124
119
 
125
- 0
120
+ if (tmp = (major <=> value.major)) != 0
121
+ return tmp
126
122
  end
123
+
124
+ 0
127
125
  end
128
126
  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.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - meh.