Sha256: 13e5ed81095e4f7752c63bebcbd5d2f4e03e6849ca87411d300ddde2fe56cfe6

Contents?: true

Size: 769 Bytes

Versions: 1

Compression:

Stored size: 769 Bytes

Contents

module DataMapper
  module Migrations
    module CouchAdapter      
      def create_model_storage(repository, model)
        uri = "/#{self.escaped_db_name}/_design/#{model.base_model.to_s}"
        view = Net::HTTP::Put.new(uri)
        view['content-type'] = "application/json"
        views = model.views.reject {|key, value| value.nil?}
        view.body = { :views => views }.to_json
        request do |http|
          http.request(view)
        end
      end

      def destroy_model_storage(repository, model)
        uri = "/#{self.escaped_db_name}/_design/#{model.base_model.to_s}"
        response = http_get(uri)
        unless response['error']
          uri += "?rev=#{response["_rev"]}"
          http_delete(uri)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dm-couchdb-adapter-0.10.2 lib/couchdb_adapter/migrations.rb