Class: Convertator::Middlewares::FileCacheMiddleware
- Inherits:
-
Convertator::Middleware
- Object
- Convertator::Middleware
- Convertator::Middlewares::FileCacheMiddleware
- Defined in:
- lib/convertator/middlewares/file_cache_middleware.rb
Constant Summary collapse
- DEFAULT_TTL =
3600
Instance Attribute Summary
Attributes inherited from Convertator::Middleware
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(file, ttl = DEFAULT_TTL) ⇒ FileCacheMiddleware
constructor
A new instance of FileCacheMiddleware.
Constructor Details
#initialize(file, ttl = DEFAULT_TTL) ⇒ FileCacheMiddleware
Returns a new instance of FileCacheMiddleware.
9 10 11 12 |
# File 'lib/convertator/middlewares/file_cache_middleware.rb', line 9 def initialize(file, ttl = DEFAULT_TTL) @file = file_open(file) @ttl = ttl end |
Instance Method Details
#call ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/convertator/middlewares/file_cache_middleware.rb', line 14 def call @file.flock(::File::LOCK_EX) if file_zero? || file_old? data = @prev.call file_write(data.to_json) else data = JSON.parse(file_read) end @file.flock(::File::LOCK_UN) data end |