Sha256: dfbf954e4d47bd5e83dba88bd9c41fb521ace8486d8ccd9e94c8a19be93ea15d

Contents?: true

Size: 732 Bytes

Versions: 4

Compression:

Stored size: 732 Bytes

Contents

# frozen_string_literal: true
module Logidze
  class History
    # Represents one log item
    class Version
      # Timestamp key
      TS = 'ts'
      # Changes key
      CHANGES = 'c'
      # Responsible ID
      RESPONSIBLE = 'r'
      # Meta Responsible ID
      META_RESPONSIBLE = '_r'
      # Meta key
      META = 'm'

      attr_reader :data

      def initialize(data)
        @data = data
      end

      def version
        data.fetch(VERSION)
      end

      def changes
        data.fetch(CHANGES)
      end

      def time
        data.fetch(TS)
      end

      def responsible_id
        meta && meta[META_RESPONSIBLE] || data[RESPONSIBLE]
      end

      def meta
        data[META]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
logidze-0.9.0 lib/logidze/history/version.rb
logidze-0.8.1 lib/logidze/history/version.rb
logidze-0.8.0 lib/logidze/history/version.rb
logidze-0.7.0 lib/logidze/history/version.rb