Class: Textus::Action::Put

Inherits:
Base
  • Object
show all
Defined in:
lib/textus/action/put.rb

Class Method Summary collapse

Methods inherited from Base

inherited, proposal_from

Methods included from Contract::DSL

#arg, #cli, #cli_stdin, #contract, #contract?, #summary, #surfaces, #verb, #view

Class Method Details

.call(container:, call:, key:, meta: nil, body: nil, content: nil, if_etag: nil) ⇒ Object

rubocop:disable Metrics/ParameterLists



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/textus/action/put.rb', line 21

def self.call(container:, call:, key:, meta: nil, body: nil, content: nil, if_etag: nil) # rubocop:disable Metrics/ParameterLists
  Textus::Manifest::Data.validate_key!(key)
  mentry = container.manifest.resolver.resolve(key).entry
  Success(container.compositor.write(
            key,
            mentry: mentry,
            payload: Textus::Store::Envelope::Writer::Payload.new(
              meta: meta,
              body: body,
              content: content,
            ),
            if_etag: if_etag,
            call: call,
          ))
end