Sha256: 3b4d6c51c86d3fb114dfc24c5e9fa6e8fe2141eb3ca35baa2406640f361307a6

Contents?: true

Size: 849 Bytes

Versions: 1

Compression:

Stored size: 849 Bytes

Contents

module Copy
  module Storage
    class Relational
      class Document
        include DataMapper::Resource
        
        storage_names[:default] = 'copy_documents'
    
        property :id,         Serial
        property :name,       String, :unique_index => true
        property :content,    Text
      end
      
      def initialize(connection_url)
        DataMapper.setup(:default, connection_url)
        DataMapper.finalize
        DataMapper.auto_upgrade!
      end
      
      def get(name)
        doc = Document.first(:name => name)
        doc.content unless doc.nil?
      end
      
      def set(name, content)
        doc = Document.first(:name => name)
        if doc
          doc.update(:content => content)
        else
          Document.create(:name => name, :content => content)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
copy-0.1.0 lib/copy/storage/relational.rb