Sha256: d11952ceafa822884f344d4d5f05b15a59efe64e973615be697b3091312f077a

Contents?: true

Size: 765 Bytes

Versions: 3

Compression:

Stored size: 765 Bytes

Contents

module Pbw
  class Trigger < Rule
    has_and_belongs_to_many :tokens
    has_and_belongs_to_many :areas
    belongs_to :process

    def self.viewable_by?(user, subject)
        return true if user.admin?
        subject.tokens.each do |token|
            return true token.user && token.user == user
        end
        false
    end

    def self.creatable_by?(user, subject)
        user.admin?
    end

    def self.editable_by?(user, subject)
        user.admin?
    end

    def self.deletable_by?(user, subject)
        user.admin?
    end

    def trigger?(token_or_area)
    	# stub method
    end

    def check!(token_or_area)
    	return false unless self.process && trigger?(token_or_area)
    	self.process.schedule!(token_or_area)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pbw-0.0.9 app/models/pbw/trigger.rb
pbw-0.0.8 app/models/pbw/trigger.rb
pbw-0.0.7 app/models/pbw/trigger.rb