Class: R509::Validity::Redis::Writer
- Inherits:
-
Writer
- Object
- Writer
- R509::Validity::Redis::Writer
- Defined in:
- lib/r509/validity/redis/writer.rb
Instance Method Summary (collapse)
-
- (Writer) initialize(redis)
constructor
A new instance of Writer.
- - (Boolean) is_available?
- - (Object) issue(issuer, serial)
- - (Object) revoke(issuer, serial, revocation_time = Time.now.to_i, reason = 0)
- - (Object) unrevoke(issuer, serial)
Constructor Details
- (Writer) initialize(redis)
A new instance of Writer
5 6 7 8 |
# File 'lib/r509/validity/redis/writer.rb', line 5 def initialize(redis) raise ArgumentError.new("Redis must be provided") if redis.nil? @redis = redis end |
Instance Method Details
- (Boolean) is_available?
39 40 41 |
# File 'lib/r509/validity/redis/writer.rb', line 39 def is_available? (@redis.ping == "PONG")? true : false end |
- (Object) issue(issuer, serial)
10 11 12 13 14 15 16 17 18 |
# File 'lib/r509/validity/redis/writer.rb', line 10 def issue(issuer, serial) raise ArgumentError.new("Serial and issuer must be provided") if serial.to_s.empty? or issuer.to_s.empty? cert = @redis.hgetall("cert:#{issuer}:#{serial}") if cert.nil? or not cert.has_key?("status") @redis.hmset("cert:#{issuer}:#{serial}", "status", 0) else raise R509::R509Error.new("Serial #{serial} for issuer #{issuer} is already present") end end |
- (Object) revoke(issuer, serial, revocation_time = Time.now.to_i, reason = 0)
20 21 22 23 24 25 26 27 |
# File 'lib/r509/validity/redis/writer.rb', line 20 def revoke(issuer, serial, revocation_time=Time.now.to_i, reason=0) raise ArgumentError.new("Serial and issuer must be provided") if serial.to_s.empty? or issuer.to_s.empty? @redis.hmset("cert:#{issuer}:#{serial}", "status", 1, "revocation_time", revocation_time || Time.now.to_i, "revocation_reason", reason || 0 ) end |
- (Object) unrevoke(issuer, serial)
29 30 31 32 33 34 35 36 37 |
# File 'lib/r509/validity/redis/writer.rb', line 29 def unrevoke(issuer, serial) raise ArgumentError.new("Serial and issuer must be provided") if serial.to_s.empty? or issuer.to_s.empty? cert = @redis.hgetall("cert:#{issuer}:#{serial}") if cert.nil? or not cert.has_key?("status") raise R509::R509Error.new("Serial #{serial} for issuer #{issuer} is not present") else @redis.hmset("cert:#{issuer}:#{serial}", "status", 0) end end |