Class: Organizations::InvitationAcceptanceResult
- Inherits:
-
Object
- Object
- Organizations::InvitationAcceptanceResult
- Defined in:
- lib/organizations/invitation_acceptance_result.rb
Overview
Value object returned by accept_pending_organization_invitation! Encapsulates the result of an invitation acceptance attempt.
Constant Summary collapse
- STATUSES =
%i[accepted already_member].freeze
Instance Attribute Summary collapse
-
#invitation ⇒ Object
readonly
Returns the value of attribute invitation.
-
#membership ⇒ Object
readonly
Returns the value of attribute membership.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
-
#accepted? ⇒ Boolean
True if invitation was freshly accepted.
-
#already_member? ⇒ Boolean
True if user was already a member.
- #failure? ⇒ Boolean
- #failure_reason ⇒ Object
-
#initialize(status:, invitation:, membership:, switched: false) ⇒ InvitationAcceptanceResult
constructor
A new instance of InvitationAcceptanceResult.
- #success? ⇒ Boolean
-
#switched? ⇒ Boolean
True if organization context was switched.
Constructor Details
#initialize(status:, invitation:, membership:, switched: false) ⇒ InvitationAcceptanceResult
Returns a new instance of InvitationAcceptanceResult.
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 22 def initialize(status:, invitation:, membership:, switched: false) unless STATUSES.include?(status) raise ArgumentError, "Invalid status: #{status.inspect}. Must be one of: #{STATUSES.join(', ')}" end @status = status @invitation = invitation @membership = membership @switched = switched end |
Instance Attribute Details
#invitation ⇒ Object (readonly)
Returns the value of attribute invitation.
16 17 18 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 16 def invitation @invitation end |
#membership ⇒ Object (readonly)
Returns the value of attribute membership.
16 17 18 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 16 def membership @membership end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
16 17 18 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 16 def status @status end |
Instance Method Details
#accepted? ⇒ Boolean
Returns true if invitation was freshly accepted.
34 35 36 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 34 def accepted? status == :accepted end |
#already_member? ⇒ Boolean
Returns true if user was already a member.
51 52 53 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 51 def already_member? status == :already_member end |
#failure? ⇒ Boolean
42 43 44 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 42 def failure? false end |
#failure_reason ⇒ Object
46 47 48 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 46 def failure_reason nil end |
#success? ⇒ Boolean
38 39 40 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 38 def success? true end |
#switched? ⇒ Boolean
Returns true if organization context was switched.
56 57 58 |
# File 'lib/organizations/invitation_acceptance_result.rb', line 56 def switched? !!@switched end |