22 lines
452 B
Ruby
22 lines
452 B
Ruby
|
class CommonDataSingleton
|
||
|
include Singleton
|
||
|
|
||
|
def initialize
|
||
|
@common_data = nil
|
||
|
@last_usage = Time.now
|
||
|
end
|
||
|
|
||
|
def datasets(visualizations_api_url)
|
||
|
now = Time.now
|
||
|
if @common_data.nil? || (now - @last_usage > (cache_ttl * 60))
|
||
|
@common_data = CommonData.new(visualizations_api_url)
|
||
|
@last_usage = now
|
||
|
end
|
||
|
@common_data.datasets
|
||
|
end
|
||
|
|
||
|
def cache_ttl
|
||
|
Cartodb.get_config(:common_data, 'cache_ttl') || 0
|
||
|
end
|
||
|
end
|