– # Copyright © 2017 Translation Exchange Inc. translationexchange.com # # _ _ _ _ __ _ # |__ __| | | | | (_) | __| | | # | |_ __ __ _ _ __ _| | __ _| |_ _ _ _ __ | |__ __ _| |__ __ _ _ __ __ _ _ # | | '__/ _` | '_ / __| |/ _` | __| |/ _ | '_ | __| \ / / __| '_ \ / _` | '_ \ / _` |/ _ \ # | | | | (_| | | | __ \ | (_| | |_| | (_) | | | | |__ > < (__| | | | (_| | | | | (_| | __/ # |_|_| __,_|_| |_|__/|__,_|__|_|__/|| |_|_//___|| |_|__,_|_| |_|__, |___| # __/ | # |_/ # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # “Software”), to deal in the Software without restriction, including # without limitation the rights to use, copy, modify, merge, publish, # distribute, sublicense, and/or sell copies of the Software, and to # permit persons to whom the Software is furnished to do so, subject to # the following conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++

require 'tml'

namespace :tml do

desc 'initializes tml'
task :init => :environment do
  unless File.exists?("#{Rails.root}/config/initializers/tml.rb")
    root = File.expand_path('../templates', __FILE__)
    system "cp #{root}/tml.rb #{Rails.root}/config/initializers"
    puts 'Please update config/initializers/tml.rb with your application token'
  else
    puts 'Tml initializer file already exists'
  end
end

namespace :cache do

  namespace :shared do
    ##########################################
    ## Shared Cache Management
    ##########################################

    desc 'Upgrades shared translation cache'
    task :upgrade => :environment do
      Tml.cache.upgrade_version
    end

    desc 'Warms up dynamic cache'
    task :warmup => :environment do
      Tml.cache.warmup(ENV['version'], ENV['path'])
    end
  end

  namespace :local do
    ##########################################
    ## Local Cache Management
    ##########################################

    desc 'Downloads local file cache'
    task :download => :environment do
      cache_path = ENV['path'] || Tml.cache.default_cache_path
      version = ENV['version']
      Tml.cache.download(cache_path, version)
    end

    desc 'Rolls back to the previous version'
    task :rollback => :environment do
      raise 'Not yet supported'
      # Tml.cache.rollback
    end

    desc 'Rolls up to the next version'
    task :rollup => :environment do
      raise 'Not yet supported'
      # Tml.cache.rollup
    end
  end

end

end