module Cordon::Sanitaire
Public Class Methods
wrap_assertions_with(custom_method_name)
click to toggle source
# File lib/cordon/sanitaire.rb, line 9 def self.wrap_assertions_with(custom_method_name) alias_method custom_method_name, :__cordon__assertion_wrapper__ end
Public Instance Methods
__cordon__assertion_wrapper__(predicate)
click to toggle source
# File lib/cordon/sanitaire.rb, line 4 def __cordon__assertion_wrapper__(predicate) ::Cordon::Whitelist.admit_one(predicate) return predicate end
Protected Instance Methods
__cordon__call_method__(subject, method, *args, &b)
click to toggle source
# File lib/cordon/sanitaire.rb, line 16 def __cordon__call_method__(subject, method, *args, &b) case when Watchlist.includes?(subject, method) ::Cordon::Watchlist.invoke_method(self, subject, method, *args, &b) when Whitelist.admits?(self) ::Cordon::Blacklist.invoke_method(self, subject, method, *args, &b) else raise ::Cordon::Violation.from_invocation(subject, method, args) end end