Sha256: f09c2c51fee78e4e5e5ec12604b31093ce83664a1e3a8973d8546da7c8fc055f
Contents?: true
Size: 1.4 KB
Versions: 3
Compression:
Stored size: 1.4 KB
Contents
module Pbw class Process < Rule has_many :triggers, :class_name => 'Pbw::Trigger' has_many :attached_processes, :class_name => 'Pbw::AttachedProcess' def self.viewable_by?(user, subject) user.admin? end def self.creatable_by?(user, subject) true end def self.editable_by?(user, subject) user.admin? end def self.deletable_by?(user, subject) user.admin? end def before_run(token_or_area) # stub method true end def after_triggers(token_or_area) # stub method end def changeset(token_or_area) # stub method Pbw::Changeset.new end def execute_changeset!(&changeset) changeset.models_changed.each do |model| changes = changeset.changes_for_model(model) changes.keys.each do |field| model.send("#{field}=".to_sym,changes[field]) end return false unless model.save end true end def run!(token_or_area) return false unless before_run(token_or_area) changes = changeset(token_or_area) return false unless changes raise "Invalid object returned from changeset method in #{self.class.name}" unless changes.is_a?(Changeset) return false unless token_or_area.check_constraints_and_capabilities(changes) execute_changeset!(changes) token_or_area.check_triggers! after_triggers(token_or_area) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pbw-0.1.1 | app/models/pbw/process.rb |
pbw-0.1.0 | app/models/pbw/process.rb |
pbw-0.0.10 | app/models/pbw/process.rb |