Sha256: 7a7ced547d19c6cec24b1c1fd993fe6999c40e4624433ec3abb7bc8472a7e6d8

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

module Cardio
  # Utilities that may need to be run even when mods are not loaded.
  module Utils
    def t key, args={}
      ::I18n.t key, args
    end

    def seed_test_db
      system "env RAILS_ENV=test bundle exec rake db:fixtures:load"
    end

    def database_name
      @database_name ||= config.database_configuration.dig Rails.env, "database"
    end

    # deletes tmp directory within files directory
    # It's here because it gets called as part of cache clearing, which sometimes gets
    # called in a context where card mods are not loaded.
    # Why does cache clearing need to do this??
    def delete_tmp_files! id=nil
      raise "no files directory" unless files_dir

      delete_tmp_files id
    rescue StandardError
      Rails.logger.info "failed to remove tmp files"
    end

    private

    def delete_tmp_files id=nil
      dir = [files_dir, "tmp", id.to_s].compact.join "/"
      FileUtils.rm_rf dir, secure: true
    end

    def files_dir
      @files_dir ||= Cardio.paths["files"].existent.first
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
card-1.101.7 lib/cardio/utils.rb
card-1.101.6 lib/cardio/utils.rb
card-1.101.5 lib/cardio/utils.rb