peto 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +35 -1
- data/VERSION +1 -1
- data/lib/peto/generator.rb +2 -2
- data/test/contracts/generating.yml +3 -3
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -1,6 +1,40 @@
|
|
1
1
|
= peto
|
2
2
|
|
3
|
-
|
3
|
+
== Usage
|
4
|
+
|
5
|
+
installing
|
6
|
+
gem install peto
|
7
|
+
|
8
|
+
contract file (foo.yml)
|
9
|
+
|
10
|
+
name: foo
|
11
|
+
|
12
|
+
types:
|
13
|
+
animal: [name:string]
|
14
|
+
user: [name:string, age:integer, animals:array:animal]
|
15
|
+
|
16
|
+
procedures:
|
17
|
+
set_user:
|
18
|
+
args: [user:user]
|
19
|
+
|
20
|
+
invoke command
|
21
|
+
peto foo.yml > generated.rb
|
22
|
+
|
23
|
+
use generated.rb
|
24
|
+
|
25
|
+
require "generated"
|
26
|
+
|
27
|
+
cat = Peto::Animal.new(:name => "cat")
|
28
|
+
dog = Peto::Animal.new(:name => "dog")
|
29
|
+
user = Peto::User.new(:name => "alice", :age => 23, :animals=>[cat, dog])
|
30
|
+
|
31
|
+
p Peto::Foo.set_user(user) # => { :procedure=>"set_user",
|
32
|
+
:args=>{ :user=>{ :name=>"alice",
|
33
|
+
:age=>23,
|
34
|
+
:animals=>[
|
35
|
+
Peto::Animal({:name=>"cat"}),
|
36
|
+
Peto::Animal({:name=>"dog"})
|
37
|
+
]}}}
|
4
38
|
|
5
39
|
== Note on Patches/Pull Requests
|
6
40
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/peto/generator.rb
CHANGED
@@ -10,7 +10,7 @@ class String
|
|
10
10
|
end
|
11
11
|
def to_class_type
|
12
12
|
case self
|
13
|
-
when "
|
13
|
+
when "integer"
|
14
14
|
"Fixnum"
|
15
15
|
else
|
16
16
|
classify
|
@@ -59,7 +59,7 @@ module Peto
|
|
59
59
|
def each_procedures
|
60
60
|
@contract["procedures"].each do |name, procedure|
|
61
61
|
yield name.to_method_name, args(procedure["args"])
|
62
|
-
procedure["errors"].each do |error|
|
62
|
+
(procedure["errors"]||[]).each do |error|
|
63
63
|
yield "#{name} error #{error}".to_method_name, [arg("message", "string")]
|
64
64
|
end
|
65
65
|
end
|
@@ -2,14 +2,14 @@
|
|
2
2
|
name: generating
|
3
3
|
|
4
4
|
types:
|
5
|
-
type_a: [foo:
|
5
|
+
type_a: [foo:integer, bar:string, baz:array:integer]
|
6
6
|
type_b: [foo:string]
|
7
7
|
type_c: [foo:array:string]
|
8
8
|
|
9
9
|
procedures:
|
10
10
|
do_a:
|
11
|
-
args: [a:
|
12
|
-
returns: [d:
|
11
|
+
args: [a:integer, b:string, c:type_b]
|
12
|
+
returns: [d:integer, e:type_a]
|
13
13
|
errors: [not found, invalid id]
|
14
14
|
|
15
15
|
do_b:
|
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
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Toshiyuki Hirooka
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-11-01 00:00:00 +09:00
|
18
18
|
default_executable: peto
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|