Sha256: 2226beb22d5bccabff5e81506292bb6e3a964b9535689df7f8003c80bab3ec33
Contents?: true
Size: 771 Bytes
Versions: 1
Compression:
Stored size: 771 Bytes
Contents
require 'json' module SwitchGear module CircuitBreaker class Failure def self.from_json(json) failure = JSON.parse(json) error = Object.const_get(failure["error"]) error = error.new(failure["message"]) new(error, Time.at(failure["timestamp"]).utc) end def initialize(error, recorded = Time.now.utc) @error = error @recorded = recorded end def timestamp recorded end def to_s "[#{error.class}] - #{error.message}" end def to_json JSON.generate({ error: error.class, message: error.message, timestamp: timestamp.to_i }) end private attr_reader :error, :recorded end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
switch_gear-0.3.0 | lib/switch_gear/circuit_breaker/failure.rb |