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