Module: EventMeter::Keys

Defined in:
lib/event_meter/keys.rb

Class Method Summary collapse

Class Method Details

.definition(namespace:, name:, version:) ⇒ Object



41
42
43
# File 'lib/event_meter/keys.rb', line 41

def definition(namespace:, name:, version:)
  [namespace, "definition", event_name(name), version_key(version)].join(":")
end

.event_name(name) ⇒ Object



55
56
57
# File 'lib/event_meter/keys.rb', line 55

def event_name(name)
  IndexKey.escape(name)
end

.interval_state(namespace:, name:, version:, definition:, value:) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/event_meter/keys.rb', line 29

def interval_state(namespace:, name:, version:, definition:, value:)
  [
    namespace,
    "state",
    event_name(name),
    version_key(version),
    "interval",
    IndexKey.escape(definition.param),
    IndexKey.escape(value)
  ].join(":")
end

.processed(namespace:, name:, version:, id:) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/event_meter/keys.rb', line 45

def processed(namespace:, name:, version:, id:)
  [
    namespace,
    "processed",
    event_name(name),
    version_key(version),
    IndexKey.escape(id)
  ].join(":")
end

.rollup(namespace:, name:, version:, every:, bucket:, index:) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/event_meter/keys.rb', line 5

def rollup(namespace:, name:, version:, every:, bucket:, index:)
  [
    namespace,
    "rollup",
    event_name(name),
    version_key(version),
    every,
    TimeBuckets.id(bucket, every),
    index.key
  ].join(":")
end

.rollup_pattern(namespace:, name:, version:, every:, index:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/event_meter/keys.rb', line 17

def rollup_pattern(namespace:, name:, version:, every:, index:)
  [
    namespace,
    "rollup",
    event_name(name),
    version_key(version),
    every,
    "*",
    index.key
  ].join(":")
end

.version_key(version) ⇒ Object



59
60
61
# File 'lib/event_meter/keys.rb', line 59

def version_key(version)
  PathName.version(version)
end