= peto == Usage installing: % gem install peto contract file (foo.yml): name: foo types: animal: [name:string] user: [name:string, age:integer, animals:array:animal] procedures: set_user: args: [user:user] invoke command: % peto foo.yml use foo.rb: require "foo" require "animal" require "user" cat = Peto::Animal.new(:name => "cat") dog = Peto::Animal.new(:name => "dog") user = Peto::User.new(:name => "alice", :age => 23, :animals=>[cat, dog]) p Peto::Foo.set_user(user) # => { :procedure=>"set_user", :args=>{ :user=>{ :name=>"alice", :age=>23, :animals=>[ Peto::Animal({:name=>"cat"}), Peto::Animal({:name=>"dog"}) ]}}} == Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Copyright Copyright (c) 2010 Toshiyuki Hirooka. See LICENSE for details.