class EventStoreClient::GRPC::Commands::Projections::Update

Public Instance Methods

call(name, streams) click to toggle source
# File lib/event_store_client/adapters/grpc/commands/projections/update.rb, line 17
          def call(name, streams)
            data = <<~STRING
              fromStreams(#{streams})
              .when({
                $any: function(s,e) {
                  linkTo("#{name}", e)
                }
              })
            STRING

            options =
              {
                query: data,
                name: name,
                emit_enabled: true
              }

            service.update(request.new(options: options), metadata: metadata)

            Success()
          rescue ::GRPC::AlreadyExists
            Failure(:conflict)
          end