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.
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.
14 15 16 |
# File 'lib/rubino/api/operations/sessions/create_operation.rb', line 14 def initialize(repository: nil) @repository = repository || ::Rubino::Session::Repository.new end |
Instance Method Details
#call(request) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/rubino/api/operations/sessions/create_operation.rb', line 18 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 |