lib/gush/configuration.rb in gush-2.0.2 vs lib/gush/configuration.rb in gush-2.1.0

- old
+ new

@@ -1,19 +1,21 @@ module Gush class Configuration - attr_accessor :concurrency, :namespace, :redis_url, :ttl + attr_accessor :concurrency, :namespace, :redis_url, :ttl, :locking_duration, :polling_interval def self.from_json(json) new(Gush::JSON.decode(json, symbolize_keys: true)) end def initialize(hash = {}) - self.concurrency = hash.fetch(:concurrency, 5) - self.namespace = hash.fetch(:namespace, 'gush') - self.redis_url = hash.fetch(:redis_url, 'redis://localhost:6379') - self.gushfile = hash.fetch(:gushfile, 'Gushfile') - self.ttl = hash.fetch(:ttl, -1) + self.concurrency = hash.fetch(:concurrency, 5) + self.namespace = hash.fetch(:namespace, 'gush') + self.redis_url = hash.fetch(:redis_url, 'redis://localhost:6379') + self.gushfile = hash.fetch(:gushfile, 'Gushfile') + self.ttl = hash.fetch(:ttl, -1) + self.locking_duration = hash.fetch(:locking_duration, 2) # how long you want to wait for the lock to be released, in seconds + self.polling_interval = hash.fetch(:polling_internal, 0.3) # how long the polling interval should be, in seconds end def gushfile=(path) @gushfile = Pathname(path) end @@ -22,13 +24,15 @@ @gushfile.realpath if @gushfile.exist? end def to_hash { - concurrency: concurrency, - namespace: namespace, - redis_url: redis_url, - ttl: ttl + concurrency: concurrency, + namespace: namespace, + redis_url: redis_url, + ttl: ttl, + locking_duration: locking_duration, + polling_interval: polling_interval } end def to_json Gush::JSON.encode(to_hash)