Class: Rwc::Core::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/rwc/core/context.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializevoid

Initializes a new Context instance.



13
14
15
16
17
# File 'lib/rwc/core/context.rb', line 13

def initialize
  @success = true
  @errors = []
  @messages = []
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



8
9
10
# File 'lib/rwc/core/context.rb', line 8

def errors
  @errors
end

#messagesObject (readonly)

Returns the value of attribute messages.



8
9
10
# File 'lib/rwc/core/context.rb', line 8

def messages
  @messages
end

#payloadObject (readonly)

Returns the value of attribute payload.



8
9
10
# File 'lib/rwc/core/context.rb', line 8

def payload
  @payload
end

#successObject (readonly)

Returns the value of attribute success.



8
9
10
# File 'lib/rwc/core/context.rb', line 8

def success
  @success
end

Instance Method Details

#fail!(error:) ⇒ Context

Marks the context as failed, recording the provided error.

Parameters:

  • error (StandardError)

    The error that caused the failure.

Returns:

  • (Context)

    The current context instance.



23
24
25
26
27
28
# File 'lib/rwc/core/context.rb', line 23

def fail!(error:)
  @success = false
  @errors = [error]

  self
end

#messageString

Returns a message string, combining messages or errors based on success state.

Returns:

  • (String)

    The combined success messages or error messages.



61
62
63
# File 'lib/rwc/core/context.rb', line 61

def message
  success ? messages.join(", ") : errors.map(&:message).join(", ")
end

#payload!(payload:) ⇒ Context

Sets the payload and clears any errors.

Parameters:

  • payload (Object)

    The payload to set.

Returns:

  • (Context)

    The current context instance.



46
47
48
49
# File 'lib/rwc/core/context.rb', line 46

def payload!(payload:)
  @errors = []
  @payload = payload
end

#succeed(payload = nil) ⇒ Context

Marks the context as successful, optionally providing a payload.

Parameters:

  • payload (Object) (defaults to: nil)

    The payload to be returned on success (default is nil).

Returns:

  • (Context)

    The current context instance.



34
35
36
37
38
39
40
# File 'lib/rwc/core/context.rb', line 34

def succeed(payload = nil)
  clear_errors
  @success = true
  @payload = payload

  self
end

#success?Boolean

Checks if the operation was successful.

Returns:

  • (Boolean)

    True if the operation was successful; otherwise, false.



54
55
56
# File 'lib/rwc/core/context.rb', line 54

def success?
  @success
end