Sha256: 1448faaeff5841ce6a0fd3c8a5ec0997c0690444b4c1d0345c7b9e844622f2d5
Contents?: true
Size: 817 Bytes
Versions: 8
Compression:
Stored size: 817 Bytes
Contents
# frozen_string_literal: true module Pathway module Plugins module SimpleAuth module ClassMethods def authorization(&block) define_method(:authorized?) do |*args| instance_exec(*args, &block) end end end module InstanceMethods def authorize(state, using: nil) auth_state = if using.is_a?(Array) authorize_with(*state.values_at(*using)) else authorize_with(state[using || result_key]) end auth_state.then { state } end def authorize_with(*objs) authorized?(*objs) ? wrap(objs) : error(:forbidden) end def authorized?(*) true end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems