Sha256: 4d5d8c38a1f3f2141de2bc23b1d288022b8a9f3e7099fe270e0cef35186cdc0a

Contents?: true

Size: 772 Bytes

Versions: 23

Compression:

Stored size: 772 Bytes

Contents

class Article < CouchRest::ExtendedDocument
  use_database DB
  unique_id :slug
  
  view_by :date, :descending => true
  view_by :user_id, :date
    
  view_by :tags,
    :map => 
      "function(doc) {
        if (doc['couchrest-type'] == 'Article' && doc.tags) {
          doc.tags.forEach(function(tag){
            emit(tag, 1);
          });
        }
      }",
    :reduce => 
      "function(keys, values, rereduce) {
        return sum(values);
      }"  

  property :date
  property :slug, :read_only => true
  property :title
  property :tags

  timestamps!
  
  save_callback :before, :generate_slug_from_title
  
  def generate_slug_from_title
    self['slug'] = title.downcase.gsub(/[^a-z0-9]/,'-').squeeze('-').gsub(/^\-|\-$/,'') if new_document?
  end
end

Version data entries

23 entries across 23 versions & 6 rubygems

Version Path
mattetti-couchrest-0.28 spec/fixtures/more/article.rb
mattetti-couchrest-0.29 spec/fixtures/more/article.rb
mattetti-couchrest-0.30 spec/fixtures/more/article.rb
mattetti-couchrest-0.31 spec/fixtures/more/article.rb
mattetti-couchrest-0.32 spec/fixtures/more/article.rb
mattetti-couchrest-0.33 spec/fixtures/more/article.rb
norr-couchrest-0.30.1 spec/fixtures/more/article.rb
norr-couchrest-0.30.2 spec/fixtures/more/article.rb
norr-couchrest-0.30.3 spec/fixtures/more/article.rb
norr-couchrest-0.30.4 spec/fixtures/more/article.rb
norr-couchrest-0.30 spec/fixtures/more/article.rb
norr-couchrest-0.33.01 spec/fixtures/more/article.rb
norr-couchrest-0.33.02 spec/fixtures/more/article.rb
oz-couchrest-0.29 spec/fixtures/more/article.rb
peterpunk-couchrest-0.33 spec/fixtures/more/article.rb
will-couchrest-0.32.1 spec/fixtures/more/article.rb
will-couchrest-0.33.1 spec/fixtures/more/article.rb
will-couchrest-0.33 spec/fixtures/more/article.rb
couchrest-0.30 spec/fixtures/more/article.rb
couchrest-0.31 spec/fixtures/more/article.rb