Class: FastCqrs::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/fast_cqrs/request.rb

Overview

A base Request class uses deserializer to parse the Rack::Request body into an easy to use hash. Useful when more data are required than passed in the input Usage: Inherit and override the #model method

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.inherited(klass) ⇒ Object



14
15
16
17
18
19
# File 'lib/fast_cqrs/request.rb', line 14

def self.inherited(klass)
  super
  klass.class_eval do
    include Dry::Monads[:result, :try]
  end
end

Instance Method Details

#call(input) ⇒ Object



21
22
23
24
25
# File 'lib/fast_cqrs/request.rb', line 21

def call(input)
  return fail! unless (deserialized = model(input))

  Success(deserialized)
end