versionub 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.