Sha256: dcd57578f8a688e4126e2d32b1fdb37cd51a93c6e33bf63e39a2dfc37a3c69c2

Contents?: true

Size: 971 Bytes

Versions: 1

Compression:

Stored size: 971 Bytes

Contents

module Arpa
  module Entities
    class Profile

      attr_reader :id, :name, :description, :role_ids, :roles, :entity_id, :entity_class,
        :created_at, :updated_at, :removed

      def initialize(attrs = {})
        attrs = attrs.with_indifferent_access

        @id           = attrs[:id]
        @name         = attrs[:name]
        @description  = attrs[:description]
        @role_ids     = default_value_to_nil_or_empty(attrs[:role_ids], [])
        @roles        = default_value_to_nil_or_empty(attrs[:roles], [])
        @entity_id    = attrs[:entity_id]
        @entity_class = attrs[:entity_class]
        @created_at   = attrs[:created_at]
        @updated_at   = attrs[:updated_at]
        @removed      = default_value_to_nil_or_empty(attrs[:removed], false)
      end

      private
      def default_value_to_nil_or_empty(attr_value, default_value)
        return attr_value if attr_value.present?
        default_value
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
arpa-0.2.0 lib/arpa/entities/profile.rb