Class: Substation::Request

Inherits:
Object
  • Object
show all
Includes:
Adamantium::Flat
Defined in:
lib/substation/request.rb

Overview

Encapsulates the application environment and an input model instance

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#envObject (readonly)

The application environment

Examples:


class SomeUseCase
  def self.call(request)
    request.env
  end
end

Returns:

  • (Object)


22
23
24
# File 'lib/substation/request.rb', line 22

def env
  @env
end

#inputObject (readonly)

The input passed to an action

Examples:


class SomeUseCase
  def self.call(request)
    request.input
  end
end

Returns:

  • (Object)


37
38
39
# File 'lib/substation/request.rb', line 37

def input
  @input
end

Instance Method Details

#error(output) ⇒ Response::Failure

Create a new failure response

Examples:


class SomeUseCase
  def self.call(request)
    error = perform_use_case
    request.error(error)
  end
end

Parameters:

  • output (Object)

    the data associated with the response

Returns:



77
78
79
# File 'lib/substation/request.rb', line 77

def error(output)
  respond_with(Response::Failure, output)
end

#success(output) ⇒ Response::Success

Create a new successful response

Examples:


class SomeUseCase
  def self.call(request)
    data = perform_use_case
    request.success(data)
  end
end

Parameters:

  • output (Object)

    the data associated with the response

Returns:



56
57
58
# File 'lib/substation/request.rb', line 56

def success(output)
  respond_with(Response::Success, output)
end