class Adrian::Filters::FileLock
Constants
- ONE_HOUR
Public Class Methods
new(options = {})
click to toggle source
# File lib/adrian/filters.rb, line 32 def initialize(options = {}) @options = options @reserved_path = @options.fetch(:reserved_path) end
Public Instance Methods
allow?(item)
click to toggle source
# File lib/adrian/filters.rb, line 37 def allow?(item) !locked?(item) || lock_expired?(item) end
duration()
click to toggle source
# File lib/adrian/filters.rb, line 49 def duration @options[:duration] ||= ONE_HOUR end
lock_expired?(item)
click to toggle source
# File lib/adrian/filters.rb, line 41 def lock_expired?(item) item.updated_at <= (Time.now - duration) end
locked?(item)
click to toggle source
# File lib/adrian/filters.rb, line 45 def locked?(item) @reserved_path == File.dirname(item.path) end