Sha256: 843dae554e82062b38c268fd1ddae55110d24ba31ad1214c570bb717daa32c8d

Contents?: true

Size: 775 Bytes

Versions: 6

Compression:

Stored size: 775 Bytes

Contents

# frozen_string_literal: true

module Trifle
  module Stats
    module Operations
      module Timeseries
        class Set
          attr_reader :key, :values

          def initialize(**keywords)
            @key = keywords.fetch(:key)
            @at = keywords.fetch(:at)
            @values = keywords.fetch(:values)
            @config = keywords[:config]
          end

          def config
            @config || Trifle::Stats.default
          end

          def perform
            config.ranges.map do |range|
              at = Nocturnal.new(@at, config: config).send(range)
              config.driver.set(
                key: [key, range, at.to_i],
                **values
              )
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
trifle-stats-1.0.0 lib/trifle/stats/operations/timeseries/set.rb
trifle-stats-0.4.1 lib/trifle/stats/operations/timeseries/set.rb
trifle-stats-0.4.0 lib/trifle/stats/operations/timeseries/set.rb
trifle-stats-0.3.2 lib/trifle/stats/operations/timeseries/set.rb
trifle-stats-0.3.1 lib/trifle/stats/operations/timeseries/set.rb
trifle-stats-0.3.0 lib/trifle/stats/operations/timeseries/set.rb