Skip to content

Instantly share code, notes, and snippets.

@mechanicles
Forked from dhh/gist:1014971
Created December 7, 2011 17:37
Show Gist options
  • Save mechanicles/1443731 to your computer and use it in GitHub Desktop.
Save mechanicles/1443731 to your computer and use it in GitHub Desktop.

Revisions

  1. David Heinemeier Hansson created this gist Jun 8, 2011.
    28 changes: 28 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    # autoload concerns
    module YourApp
    class Application < Rails::Application
    config.autoload_paths += %W(
    #{config.root}/app/controllers/concerns
    #{config.root}/app/models/concerns
    )
    end
    end

    # app/models/concerns/trashable.rb
    module Trashable
    extend ActiveSupport::Concern

    included do
    default_scope where(trashed: false)
    scope :trashed, where(trashed: true)
    end

    def trash
    update_attribute :trashed, true
    end
    end

    # app/models/message.rb
    class Message < ActiveRecord::Base
    include Trashable, Subscribable, Commentable, Eventable
    end