Sha256: 08939a2bc5e67c7783551f2b4cd60f011a6e35edef90ef738601a3f61645c721

Contents?: true

Size: 644 Bytes

Versions: 3

Compression:

Stored size: 644 Bytes

Contents

# frozen_string_literal: true

module DuodealerApp
  module SessionStorage
    module AccountStorageStrategy
      def store(auth_session, *args)
        account = find_or_initialize_by(duodealer_domain: auth_session.domain)
        account.duodealer_token = auth_session.token
        account.save!
        account.id
      end

      def retrieve(id)
        return unless id
        if account = self.find_by(id: id)
          DuodealerAPI::Session.new(
            domain: account.duodealer_domain,
            token: account.duodealer_token,
            api_version: account.api_version
          )
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
duodealer_app-1.0.4 lib/duodealer_app/session/storage_strategies/account_storage_strategy.rb
duodealer_app-1.0.3 lib/duodealer_app/session/storage_strategies/account_storage_strategy.rb
duodealer_app-1.0.2 lib/duodealer_app/session/storage_strategies/account_storage_strategy.rb