Sha256: 5c96000ae923bc4c205adbcb573e133f8107fc2450c8b21039ea6f26dd7e877e

Contents?: true

Size: 650 Bytes

Versions: 4

Compression:

Stored size: 650 Bytes

Contents

module Daddy
  module Models
    
    module CrudExtension
      def self.included(base)
        base.extend(ClassMethods)
        base.__send__(:include, InstanceMethods)
      end

      module InstanceMethods

        def readable_by?(user)
          true
        end

        def creatable_by?(user)
          readable_by?(user)
        end

        def updatable_by?(user)
          readable_by?(user)
        end

        def deletable_by?(user)
          readable_by?(user)
        end

        def destroy_logically!
          self.deleted = true
          save!
        end
      end

      module ClassMethods
      end

    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
daddy-0.3.4 lib/daddy/models/crud_extension.rb
daddy-0.3.3 lib/daddy/models/crud_extension.rb
daddy-0.3.2 lib/daddy/models/crud_extension.rb
daddy-0.3.1 lib/daddy/models/crud_extension.rb