Module: Textus::Lanes::Ingest::KeyBuilder
- Defined in:
- lib/textus/lanes/ingest/key_builder.rb
Constant Summary collapse
- CONTENT_HASH_ALGO =
"sha256"
Class Method Summary collapse
Class Method Details
.compute_hash(kind:, url: nil, path: nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/textus/lanes/ingest/key_builder.rb', line 14 def compute_hash(kind:, url: nil, path: nil) digest = Digest::SHA256.new case kind when "url" raise ArgumentError.new("url required") unless url digest.update(url) when "file", "asset" raise ArgumentError.new("path required") unless path digest.file(path) else raise ArgumentError.new("unknown kind: #{kind}") end "#{CONTENT_HASH_ALGO}:#{digest.hexdigest}" end |
.derive_key(now, kind, slug) ⇒ Object
9 10 11 12 |
# File 'lib/textus/lanes/ingest/key_builder.rb', line 9 def derive_key(now, kind, slug) date = now.strftime("%Y.%m.%d") "raw.#{date}.#{kind}-#{slug}" end |