Sha256: 32fc939a046891a6561346bca9a2c92c63e3a7c602025ae22aafc1a9f1bc89ca

Contents?: true

Size: 779 Bytes

Versions: 1

Compression:

Stored size: 779 Bytes

Contents

module Panda
  module Builders

    def self.included(base)
      base.extend(CreateBuilder)
      base.extend(DeleteBuilder)
    end

    module CreateBuilder

      def create(attributes)       
       resource = build_resource(attributes)
       resource.create
       resource
      end

      def create!(attributes)
        resource = build_resource(attributes)
        resource.create!
        resource
      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})))
        response['deleted'] == 'ok'
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
panda-1.1.0 lib/panda/modules/builders.rb