peto 0.1.0 → 0.1.1
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/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
|