Sha256: 143dc031699e8f7ea1cc59ec48d81dbd8de747e5aef7286b7e3fab6b5ce00341

Contents?: true

Size: 712 Bytes

Versions: 6

Compression:

Stored size: 712 Bytes

Contents

module {{namespace_module}}
  module Sessions
    class Presenter
      include Shogun::Presenter
      include Sessions

      ALGORITHM = "HS512"

      def token
        JWT.encode(payload, secret, ALGORITHM)
      end

      def accounts
        {
          "id" => source.account_id
        }
      end

      def created_at
        source.created_at.to_datetime.rfc3339
      end

      def destroyed_at
        source.destroyed_at.to_datetime.rfc3339 if source.destroyed_at
      end

      private def secret
        ENV["APPLICATION_SESSION_SECRET"]
      end

      private def payload
        {
          "sessions" => {
            "id" => source.id
          }
        }
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
shogun-6.4.2 scaffold/new/project/lib/namespace/sessions/presenter.rb
shogun-6.4.1 scaffold/new/project/lib/namespace/sessions/presenter.rb
shogun-6.4.0 scaffold/new/project/lib/namespace/sessions/presenter.rb
shogun-6.3.0 scaffold/new/project/lib/namespace/sessions/presenter.rb
shogun-6.2.3 scaffold/new/project/lib/namespace/sessions/presenter.rb
shogun-6.2.2 scaffold/new/project/lib/namespace/sessions/presenter.rb