Sha256: d13c9da90cf4b29d42bc630008205686be03c2091757c30da841193cd6293007
Contents?: true
Size: 643 Bytes
Versions: 1
Compression:
Stored size: 643 Bytes
Contents
# frozen_string_literal: true module Teton # Describe what data should be returned when requested. class Entry attr_reader :key, :data, :created_at, :updated_at def initialize(key, data: {}, created_at: Time.now.utc, updated_at: Time.now.utc) @key = key.to_s @data = (data || {}).transform_keys(&:to_s) @created_at = created_at || Time.now.utc @updated_at = updated_at || Time.now.utc freeze end def [](data_key) data[data_key.to_s] end def to_s "[#{key} |> #{created_at} | #{updated_at}] #{data.map { |k, v| "#{k}: #{v}" }.join(', ')}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
teton-0.0.3 | lib/teton/entry.rb |