lib/panda/modules/builders.rb in panda-1.0.0 vs lib/panda/modules/builders.rb in panda-1.1.0
- old
+ new
@@ -6,22 +6,25 @@
base.extend(DeleteBuilder)
end
module CreateBuilder
- def create(attributes)
- if attr_id=(attributes[:id] || attributes['id'])
- raise "Can't create attribute. Already have an id=#{attr_id}"
- end
+ def create(attributes)
+ resource = build_resource(attributes)
+ resource.create
+ resource
+ end
- response = connection.post(full_object_url(many_path), attributes)
- Panda::const_get("#{end_class_name}").new(response)
- end
+ def create!(attributes)
+ resource = build_resource(attributes)
+ resource.create!
+ resource
+ end
- def create!(attributes)
- create(attributes) || raise(self.error.first.to_s)
- end
-
+ private
+ def build_resource(attributes)
+ Panda::const_get("#{end_class_name}").new(attributes.merge(:cloud_id => cloud.id))
+ end
end
module DeleteBuilder
def delete(id)
response = connection.delete(full_object_url(object_url(one_path,{:id =>id})))
\ No newline at end of file