Class: Rubino::API::Operations::Sessions::CreateOperation
- Inherits:
-
Object
- Object
- Rubino::API::Operations::Sessions::CreateOperation
- Defined in:
- lib/rubino/api/operations/sessions/create_operation.rb
Overview
POST /v1/sessions Creates a session row (source=“api”) and returns its serialized form.
Class Method Summary collapse
Instance Method Summary collapse
- #call(request) ⇒ Object
-
#initialize(repository: nil) ⇒ CreateOperation
constructor
Accepts an alternate repository for tests.
Constructor Details
#initialize(repository: nil) ⇒ CreateOperation
Accepts an alternate repository for tests.
18 19 20 |
# File 'lib/rubino/api/operations/sessions/create_operation.rb', line 18 def initialize(repository: nil) @repository = repository || ::Rubino::Session::Repository.new end |
Class Method Details
.call(request) ⇒ Object
13 14 15 |
# File 'lib/rubino/api/operations/sessions/create_operation.rb', line 13 def self.call(request) new.call(request) end |
Instance Method Details
#call(request) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/rubino/api/operations/sessions/create_operation.rb', line 22 def call(request) attrs = request.validate!(Schemas::CreateSession) session = @repository.create( source: "api", title: attrs[:title], parent_session_id: attrs[:parent_id] ) [201, serialize(session)] end |