Module: TimeBucketStream::LogName

Defined in:
lib/time_bucket_stream/log_name.rb

Constant Summary collapse

PATTERN =
/\A(?<bucket>\d{12})-[A-Za-z0-9_.-]+-\d+-[0-9a-f]{8}\.jsonl\z/

Class Method Summary collapse

Class Method Details

.bucket(name) ⇒ Object



16
17
18
19
20
21
# File 'lib/time_bucket_stream/log_name.rb', line 16

def bucket(name)
  match = PATTERN.match(name.to_s)
  match && match[:bucket]
rescue ArgumentError, EncodingError
  nil
end

.valid?(name) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
# File 'lib/time_bucket_stream/log_name.rb', line 9

def valid?(name)
  name = name.to_s
  name == File.basename(name) && PATTERN.match?(name)
rescue ArgumentError, EncodingError
  false
end