class Authoraise::Check
Attributes
required_keys[R]
Public Class Methods
new(required_keys, procedure)
click to toggle source
# File lib/authoraise.rb, line 16 def initialize(required_keys, procedure) @required_keys = required_keys.to_set.freeze @procedure = procedure end
Public Instance Methods
call(options)
click to toggle source
# File lib/authoraise.rb, line 21 def call(options) given_keys = options.keys.to_set if required_keys.subset?(given_keys) @procedure.call(*required_keys.map{|k| options[k]}) else raise Error, "Check failed, missing keys: #{missing_keys(given_keys)}" end end
missing_keys(given_keys)
click to toggle source
# File lib/authoraise.rb, line 31 def missing_keys(given_keys) (required_keys - given_keys.to_set).to_a end