Sha256: 6bb6e64e947b1037e2552dec6ef38524011b23b9dceace846ba4d30ae08cc492
Contents?: true
Size: 709 Bytes
Versions: 12
Compression:
Stored size: 709 Bytes
Contents
module PolicyManager class Rule attr_accessor :validates_on, :if, :blocking, :name, :on_reject, :on_accept def initialize(opts={}) self.name = opts[:name] self.blocking = opts[:blocking] self.validates_on = opts[:validates_on] self.if = opts[:if] self.on_reject = opts[:on_reject] self.on_accept = opts[:on_accept] self end def validates_on @validates_on #|| [:create] end def terms Term.where("rule =?", self.name) end def on_reject_callback @on_reject.call if @on_reject.is_a?(Proc) end def on_accept_callback @on_accept.call if @on_accept.is_a?(Proc) end end end
Version data entries
12 entries across 12 versions & 1 rubygems