Class: Himari::Decisions::Authorization
- Defined in:
- lib/himari/decisions/authorization.rb
Defined Under Namespace
Classes: Context
Constant Summary collapse
- DEFAULT_ALLOWED_CLAIMS =
%i( sub name nickname preferred_username profile picture website email email_verified )
Instance Attribute Summary collapse
-
#allowed_claims ⇒ Object
readonly
Returns the value of attribute allowed_claims.
-
#claims ⇒ Object
readonly
Returns the value of attribute claims.
-
#lifetime ⇒ Object
readonly
Returns the value of attribute lifetime.
Attributes inherited from Base
#effect, #effect_comment, #rule_name
Instance Method Summary collapse
- #as_log ⇒ Object
-
#initialize(claims: {}, allowed_claims: DEFAULT_ALLOWED_CLAIMS, lifetime: 3600 * 12) ⇒ Authorization
constructor
A new instance of Authorization.
- #output ⇒ Object
- #to_evolve_args ⇒ Object
Methods inherited from Base
#allow!, allow_effects, #continue!, #decide!, #deny!, #evolve, #set_rule_name, #skip!, #to_h, valid_effects
Constructor Details
#initialize(claims: {}, allowed_claims: DEFAULT_ALLOWED_CLAIMS, lifetime: 3600 * 12) ⇒ Authorization
Returns a new instance of Authorization.
22 23 24 25 26 27 |
# File 'lib/himari/decisions/authorization.rb', line 22 def initialize(claims: {}, allowed_claims: DEFAULT_ALLOWED_CLAIMS, lifetime: 3600 * 12) super() @claims = claims @allowed_claims = allowed_claims @lifetime = lifetime end |
Instance Attribute Details
#allowed_claims ⇒ Object (readonly)
Returns the value of attribute allowed_claims.
29 30 31 |
# File 'lib/himari/decisions/authorization.rb', line 29 def allowed_claims @allowed_claims end |
#claims ⇒ Object (readonly)
Returns the value of attribute claims.
29 30 31 |
# File 'lib/himari/decisions/authorization.rb', line 29 def claims @claims end |
#lifetime ⇒ Object (readonly)
Returns the value of attribute lifetime.
29 30 31 |
# File 'lib/himari/decisions/authorization.rb', line 29 def lifetime @lifetime end |
Instance Method Details
#as_log ⇒ Object
39 40 41 |
# File 'lib/himari/decisions/authorization.rb', line 39 def as_log to_h.merge(claims: output, lifetime: @lifetime&.to_i) end |
#output ⇒ Object
43 44 45 |
# File 'lib/himari/decisions/authorization.rb', line 43 def output claims.select { |k,_v| allowed_claims.include?(k) } end |
#to_evolve_args ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/himari/decisions/authorization.rb', line 31 def to_evolve_args { claims: @claims.dup, allowed_claims: @allowed_claims.dup, lifetime: @lifetime&.to_i, } end |