Sha256: ce2d610e56099a32f063c130e031ff8ea1ca7f9f79902b9817609b04d8c5ec29

Contents?: true

Size: 505 Bytes

Versions: 5

Compression:

Stored size: 505 Bytes

Contents

require "peto/mixin/peto_class"

module Peto
  class User
    include PetoClass
    def initialize(args={})
      @name = nil
      @age = nil
      @animals = [] # for Animal

      set_by_hash(args)
      raise_errors unless valid?
    end

    attr_reader :name
    attr_reader :age
    attr_reader :animals

    def members
      [:name,:age,:animals]
    end

    def types
      {:name => String,:age => Fixnum,:animals => Array}
    end

    def arrays
      {:animals => Animal}
    end
  end
end

Version data entries

5 entries across 3 versions & 1 rubygems

Version Path
peto-0.2.4 examples/rails_app/contracts/generated/user.rb
peto-0.2.3 examples/rails_app/contracts/user.rb
peto-0.2.3 examples/rails_app/contracts/generated/user.rb
peto-0.2.2 examples/rails_app/contracts/user.rb
peto-0.2.2 examples/rails_app/contracts/generated/user.rb