Sha256: 2ed9d5c4d9b48fa9798f89677045fdbc5da121bc1d2d25f422fb5a88670d6409

Contents?: true

Size: 1.32 KB

Versions: 7

Compression:

Stored size: 1.32 KB

Contents

module RailsPerformance
  module Models
    class CustomRecord < BaseRecord
      attr_accessor :tag_name, :namespace_name, :duration, :datetime, :datetimei, :status, :json

      def self.from_db(key, value)
        items = key.split("|")

        CustomRecord.new(
          tag_name: items[2],
          namespace_name: items[4],
          datetime: items[6],
          datetimei: items[8],
          status: items[10],
          json: value
        )
      end

      def initialize(tag_name:, datetime:, datetimei:, status:, namespace_name: nil, duration: nil, json: "{}")
        @tag_name = tag_name
        @namespace_name = namespace_name
        @duration = duration
        @datetime = datetime
        @datetimei = datetimei.to_i
        @status = status
        @json = json
      end

      def record_hash
        {
          tag_name: tag_name,
          namespace_name: namespace_name,
          status: status,
          datetimei: datetimei,
          datetime: Time.at(datetimei.to_i),
          duration: value["duration"]
        }
      end

      def save
        key = "custom|tag_name|#{tag_name}|namespace_name|#{namespace_name}|datetime|#{datetime}|datetimei|#{datetimei}|status|#{status}|END|#{RailsPerformance::SCHEMA}"
        value = {duration: duration}
        Utils.save_to_redis(key, value)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rails_performance-1.4.0.alpha3 lib/rails_performance/models/custom_record.rb
rails_performance-1.4.0.alpha2 lib/rails_performance/models/custom_record.rb
rails_performance-1.4.0.alpha1 lib/rails_performance/models/custom_record.rb
rails_performance-1.3.3 lib/rails_performance/models/custom_record.rb
rails_performance-1.3.2 lib/rails_performance/models/custom_record.rb
rails_performance-1.3.1 lib/rails_performance/models/custom_record.rb
rails_performance-1.3.0 lib/rails_performance/models/custom_record.rb