peto 0.1.1 → 0.1.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.
- data/VERSION +1 -1
- data/bin/peto +2 -0
- data/lib/peto/generator.rb +1 -1
- metadata +2 -4
- data/examples/generated.rb +0 -151
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/bin/peto
CHANGED
data/lib/peto/generator.rb
CHANGED
@@ -57,7 +57,7 @@ module Peto
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def each_procedures
|
60
|
-
@contract["procedures"].each do |name, procedure|
|
60
|
+
(@contract["procedures"]||[]).each do |name, procedure|
|
61
61
|
yield name.to_method_name, args(procedure["args"])
|
62
62
|
(procedure["errors"]||[]).each do |error|
|
63
63
|
yield "#{name} error #{error}".to_method_name, [arg("message", "string")]
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Toshiyuki Hirooka
|
@@ -58,7 +58,6 @@ files:
|
|
58
58
|
- test/contracts/loading.yml
|
59
59
|
- test/helper.rb
|
60
60
|
- test/test_peto.rb
|
61
|
-
- examples/generated.rb
|
62
61
|
has_rdoc: true
|
63
62
|
homepage: http://github.com/tosik/peto
|
64
63
|
licenses: []
|
@@ -94,4 +93,3 @@ summary: contract code generator
|
|
94
93
|
test_files:
|
95
94
|
- test/helper.rb
|
96
95
|
- test/test_peto.rb
|
97
|
-
- examples/generated.rb
|
data/examples/generated.rb
DELETED
@@ -1,151 +0,0 @@
|
|
1
|
-
require "peto/mixin/peto_class"
|
2
|
-
require "peto/mixin/peto_errorable"
|
3
|
-
|
4
|
-
module Peto
|
5
|
-
class TypeA
|
6
|
-
include PetoClass
|
7
|
-
def initialize(args={})
|
8
|
-
@foo = nil
|
9
|
-
@bar = nil
|
10
|
-
@baz = [] # for Fixnum
|
11
|
-
|
12
|
-
set_by_hash(args)
|
13
|
-
raise_errors unless valid?
|
14
|
-
end
|
15
|
-
|
16
|
-
attr_reader :foo
|
17
|
-
attr_reader :bar
|
18
|
-
attr_reader :baz
|
19
|
-
|
20
|
-
def members
|
21
|
-
[:foo,:bar,:baz]
|
22
|
-
end
|
23
|
-
|
24
|
-
def types
|
25
|
-
{:foo => Fixnum,:bar => String,:baz => Array}
|
26
|
-
end
|
27
|
-
|
28
|
-
def arrays
|
29
|
-
{:baz => Fixnum}
|
30
|
-
end
|
31
|
-
end
|
32
|
-
class TypeB
|
33
|
-
include PetoClass
|
34
|
-
def initialize(args={})
|
35
|
-
@foo = nil
|
36
|
-
|
37
|
-
set_by_hash(args)
|
38
|
-
raise_errors unless valid?
|
39
|
-
end
|
40
|
-
|
41
|
-
attr_reader :foo
|
42
|
-
|
43
|
-
def members
|
44
|
-
[:foo]
|
45
|
-
end
|
46
|
-
|
47
|
-
def types
|
48
|
-
{:foo => String}
|
49
|
-
end
|
50
|
-
|
51
|
-
def arrays
|
52
|
-
{}
|
53
|
-
end
|
54
|
-
end
|
55
|
-
class TypeC
|
56
|
-
include PetoClass
|
57
|
-
def initialize(args={})
|
58
|
-
@foo = [] # for String
|
59
|
-
|
60
|
-
set_by_hash(args)
|
61
|
-
raise_errors unless valid?
|
62
|
-
end
|
63
|
-
|
64
|
-
attr_reader :foo
|
65
|
-
|
66
|
-
def members
|
67
|
-
[:foo]
|
68
|
-
end
|
69
|
-
|
70
|
-
def types
|
71
|
-
{:foo => Array}
|
72
|
-
end
|
73
|
-
|
74
|
-
def arrays
|
75
|
-
{:foo => String}
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
module Peto
|
81
|
-
class Generating
|
82
|
-
extend PetoErrorable
|
83
|
-
def self.do_a(a,b,c)
|
84
|
-
invalid_type("a", Fixnum, a) unless a.class == Fixnum
|
85
|
-
invalid_type("b", String, b) unless b.class == String
|
86
|
-
invalid_type("c", TypeB, c) unless c.class == TypeB
|
87
|
-
raise_errors unless errors.empty?
|
88
|
-
|
89
|
-
return {
|
90
|
-
:procedure => "do_a",
|
91
|
-
:args => {
|
92
|
-
:a => hashize(a),
|
93
|
-
:b => hashize(b),
|
94
|
-
:c => hashize(c),
|
95
|
-
}
|
96
|
-
}
|
97
|
-
end
|
98
|
-
|
99
|
-
def self.do_a_error_not_found(message)
|
100
|
-
invalid_type("message", String, message) unless message.class == String
|
101
|
-
raise_errors unless errors.empty?
|
102
|
-
|
103
|
-
return {
|
104
|
-
:procedure => "do_a_error_not_found",
|
105
|
-
:args => {
|
106
|
-
:message => hashize(message),
|
107
|
-
}
|
108
|
-
}
|
109
|
-
end
|
110
|
-
|
111
|
-
def self.do_a_error_invalid_id(message)
|
112
|
-
invalid_type("message", String, message) unless message.class == String
|
113
|
-
raise_errors unless errors.empty?
|
114
|
-
|
115
|
-
return {
|
116
|
-
:procedure => "do_a_error_invalid_id",
|
117
|
-
:args => {
|
118
|
-
:message => hashize(message),
|
119
|
-
}
|
120
|
-
}
|
121
|
-
end
|
122
|
-
|
123
|
-
def self.do_b(a)
|
124
|
-
invalid_type("a", TypeA, a) unless a.class == TypeA
|
125
|
-
raise_errors unless errors.empty?
|
126
|
-
|
127
|
-
return {
|
128
|
-
:procedure => "do_b",
|
129
|
-
:args => {
|
130
|
-
:a => hashize(a),
|
131
|
-
}
|
132
|
-
}
|
133
|
-
end
|
134
|
-
|
135
|
-
def self.do_c()
|
136
|
-
raise_errors unless errors.empty?
|
137
|
-
|
138
|
-
return {
|
139
|
-
:procedure => "do_c",
|
140
|
-
:args => {
|
141
|
-
}
|
142
|
-
}
|
143
|
-
end
|
144
|
-
|
145
|
-
|
146
|
-
def self.hashize(var)
|
147
|
-
return var if [Fixnum, String].include?(var.class)
|
148
|
-
var.to_hash
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|