# encoding: utf-8 require 'rubygems' require 'bundler' begin Bundler.setup(:default, :development) rescue Bundler::BundlerError => e $stderr.puts e.message $stderr.puts "Run `bundle install` to install missing gems" exit e.status_code end require 'rake' require 'jeweler' Jeweler::Tasks.new do |gem| # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options gem.name = "itrigga-file_cache" gem.homepage = "http://github.com/itrigga/itrigga-file_cache" gem.license = "MIT" gem.summary = %Q{A simple file-system-based cache wrapper.} gem.description = %Q{A simple file-system-based cache wrapper. The main method is 'with_cache( :cache_key=>'something_unique', :timeout_seconds=>(an integer) ){ (...) }' If the given cache key exists and has not timed out, it will return the cached value If not, it will * yield to the given block * store the result of the given block in the cache with the given key * return the result of the given block Required params: * :cache_key=>'some unique string that is valid in a filename' Optional params: * :timeout_seconds => (an integer - default 3600) * :cache_dir => (an absolute path - defaults to RAILS_ROOT/tmp/cache if RAILS_ROOT is defined, otherwise /tmp/cache ) Example usage: @stats_json = Trigga::Cache::FileCache.with_cache(:cache_key=>'admin_stats.json', :timeout_seconds=>600){ /* some expensive remote API / slow IO call here /* }} gem.email = "aldavidson@trigga.com" gem.authors = ["Al Davidson"] # dependencies defined in Gemfile gem.require_paths << "lib/itrigga" end Jeweler::RubygemsDotOrgTasks.new require 'rake/testtask' Rake::TestTask.new(:test) do |test| test.libs << 'lib' << 'test' test.pattern = 'test/**/test_*.rb' test.verbose = true end require 'rcov/rcovtask' Rcov::RcovTask.new do |test| test.libs << 'test' test.pattern = 'test/**/test_*.rb' test.verbose = true test.rcov_opts << '--exclude "gems/*"' end task :default => :test require 'rake/rdoctask' Rake::RDocTask.new do |rdoc| version = File.exist?('VERSION') ? File.read('VERSION') : "" rdoc.rdoc_dir = 'rdoc' rdoc.title = "itrigga-file_cache #{version}" rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('lib/**/*.rb') end