Class: Authoraise::Check
- Inherits:
-
Object
- Object
- Authoraise::Check
- Defined in:
- lib/authoraise.rb
Instance Attribute Summary collapse
-
#required_keys ⇒ Object
readonly
Returns the value of attribute required_keys.
Instance Method Summary collapse
- #call(options) ⇒ Object
-
#initialize(required_keys, procedure) ⇒ Check
constructor
A new instance of Check.
- #missing_keys(given_keys) ⇒ Object
Constructor Details
#initialize(required_keys, procedure) ⇒ Check
Returns a new instance of Check.
16 17 18 19 |
# File 'lib/authoraise.rb', line 16 def initialize(required_keys, procedure) @required_keys = required_keys.to_set.freeze @procedure = procedure end |
Instance Attribute Details
#required_keys ⇒ Object (readonly)
Returns the value of attribute required_keys.
14 15 16 |
# File 'lib/authoraise.rb', line 14 def required_keys @required_keys end |
Instance Method Details
#call(options) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/authoraise.rb', line 21 def call() given_keys = .keys.to_set if required_keys.subset?(given_keys) @procedure.call(*required_keys.map{|k| [k]}) else raise Error, "Check failed, missing keys: #{missing_keys(given_keys)}" end end |
#missing_keys(given_keys) ⇒ Object
31 32 33 |
# File 'lib/authoraise.rb', line 31 def missing_keys(given_keys) (required_keys - given_keys.to_set).to_a end |