Sha256: 153ac2b46cb0e66d20f015a455287b92603ddae80d202c5824791dbf79892b2d
Contents?: true
Size: 887 Bytes
Versions: 22
Compression:
Stored size: 887 Bytes
Contents
module DAV4Rack class Lock def initialize(args={}) @args = args @store = nil @args[:created_at] = Time.now @args[:updated_at] = Time.now end def store @store end def store=(s) raise TypeError.new 'Expecting LockStore' unless s.respond_to? :remove @store = s end def destroy if(@store) @store.remove(self) end end def remaining_timeout @args[:timeout].to_i - (Time.now.to_i - @args[:created_at].to_i) end def method_missing(*args) if(@args.has_key?(args.first.to_sym)) @args[args.first.to_sym] elsif(args.first.to_s[-1,1] == '=') @args[args.first.to_s[0, args.first.to_s.length - 1].to_sym] = args[1] else raise NoMethodError.new "Undefined method #{args.first} for #{self}" end end end end
Version data entries
22 entries across 22 versions & 1 rubygems