Sha256: 96518dc75104ed18fc9552f0888425d9b517b3260a93052ffc08606c8966ba8f

Contents?: true

Size: 674 Bytes

Versions: 5

Compression:

Stored size: 674 Bytes

Contents

# frozen_string_literal: true

module DuodealerApp
  module SessionStorage
    module UserStorageStrategy
      def store(auth_session, user)
        user = find_or_initialize_by(duodealer_user_id: user[:id])
        user.duodealer_token = auth_session.token
        user.duodealer_domain = auth_session.domain
        user.save!
        user.id
      end

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
duodealer_app-1.0.4 lib/duodealer_app/session/storage_strategies/user_storage_strategy.rb
duodealer_app-1.0.3 lib/duodealer_app/session/storage_strategies/user_storage_strategy.rb
duodealer_app-1.0.2 lib/duodealer_app/session/storage_strategies/user_storage_strategy.rb
duodealer_app-1.0.1 lib/duodealer_app/session/storage_strategies/user_storage_strategy.rb
duodealer_app-1.0.0 lib/duodealer_app/session/storage_strategies/user_storage_strategy.rb