Adding support for setting types with hash

This commit is contained in:
Sam Lown 2010-05-13 00:17:30 +02:00
parent b0d2258bd3
commit 89c45ebb87
4 changed files with 34 additions and 5 deletions

View file

@ -82,10 +82,18 @@ module CouchRest
module ClassMethods
def property(name, options={})
def property(name, *options)
opts = { }
type = options.shift
if type.class != Hash
opts[:type] = type
opts.merge!(options.shift || {})
else
opts.update(type)
end
existing_property = self.properties.find{|p| p.name == name.to_s}
if existing_property.nil? || (existing_property.default != options[:default])
define_property(name, options)
if existing_property.nil? || (existing_property.default != opts[:default])
define_property(name, opts)
end
end