Sha256: 351c535615c76d1448954021c27d281035fe005ad85c39820414a766daff77cf

Contents?: true

Size: 1014 Bytes

Versions: 12

Compression:

Stored size: 1014 Bytes

Contents

# frozen_string_literal: true

module Trusona
  module Resources
    #
    ## a relying party specific user identifier
    class UserIdentifier < BaseResource
      include Trusona::Resources::Validators
      attr_reader :identifier, :trusona_id

      def initialize(params = {})
        @params     = params
        @identifier = params[:identifier]
        @trusona_id = params[:trusona_id]
        @id         = @identifier
      end

      def to_h
        @params
      end

      def to_json
        JSON(to_h)
      end

      def valid?
        validate
      end

      def validate
        attributes_present && attributes_filled
      end

      private

      def attributes_present
        return false unless @params.key?(:identifier)
        return false unless @params.key?(:trusona_id)
        true
      end

      def attributes_filled
        return false if @params.fetch(:identifier).empty?
        return false if @params.fetch(:trusona_id).empty?
        true
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
trusona-2.4.0 lib/trusona/resources/user_identifier.rb
trusona-2.3.0 lib/trusona/resources/user_identifier.rb
trusona-2.2.0 lib/trusona/resources/user_identifier.rb
trusona-2.1.0 lib/trusona/resources/user_identifier.rb
trusona-2.0.0 lib/trusona/resources/user_identifier.rb
trusona-1.0.1 lib/trusona/resources/user_identifier.rb
trusona-1.0.0 lib/trusona/resources/user_identifier.rb
trusona-0.20.0 lib/trusona/resources/user_identifier.rb
trusona-0.19.0 lib/trusona/resources/user_identifier.rb
trusona-0.18.2 lib/trusona/resources/user_identifier.rb
trusona-0.18.1 lib/trusona/resources/user_identifier.rb
trusona-0.16.0 lib/trusona/resources/user_identifier.rb