summaryrefslogtreecommitdiff
path: root/app/models/concerns/token_authenticatable_strategies
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-11-15 16:08:28 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-11-15 16:08:28 +0100
commit3ee8e01923c9452afe9ae21c2135aa8a7eb82f89 (patch)
tree450fed992dbc62d38c2d4c607f40443faacaed89 /app/models/concerns/token_authenticatable_strategies
parentf1a74a656bcede06d082e351d6261e43a88a0df7 (diff)
downloadgitlab-ce-3ee8e01923c9452afe9ae21c2135aa8a7eb82f89.tar.gz
Extract token authenticatable strategy fabrication
Diffstat (limited to 'app/models/concerns/token_authenticatable_strategies')
-rw-r--r--app/models/concerns/token_authenticatable_strategies/base.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/concerns/token_authenticatable_strategies/base.rb b/app/models/concerns/token_authenticatable_strategies/base.rb
index 53b09ffd4d9..a722616756a 100644
--- a/app/models/concerns/token_authenticatable_strategies/base.rb
+++ b/app/models/concerns/token_authenticatable_strategies/base.rb
@@ -43,6 +43,16 @@ module TokenAuthenticatableStrategies
options[:fallback] == true
end
+ def self.fabricate(instance, field, options)
+ if options[:digest]
+ TokenAuthenticatableStrategies::Digest.new(instance, field, options)
+ elsif options[:encrypted]
+ TokenAuthenticatableStrategies::Encrypted.new(instance, field, options)
+ else
+ TokenAuthenticatableStrategies::Insecure.new(instance, field, options)
+ end
+ end
+
protected
def write_new_token(instance)