require 'digest' require 'forwardable' require 'hashie' require 'json' require 'pathname' require 'solve' require 'thor' require 'tmpdir' require 'uri' require 'zlib' require 'celluloid' require 'active_support/core_ext' require 'chozo/core_ext' require 'rexml/document' require 'rest-client' require 'uri' require 'net/http' require 'time' require 'vendor/okjson' require 'transcriptic/version' require 'transcriptic/core_ext' require 'transcriptic/errors' require 'thor/monkies' module Transcriptic class << self attr_accessor :ui def root @root ||= Pathname.new(File.expand_path('../', File.dirname(__FILE__))) end def find_labfile(path = Dir.pwd) path = Pathname.new(path) path.ascend do |potential_root| if potential_root.entries.collect(&:to_s).include?('Labfile') return potential_root.join('Labfile') end end end def home_directory running_on_windows? ? ENV['USERPROFILE'].gsub("\\","/") : ENV['HOME'] end def running_on_windows? RUBY_PLATFORM =~ /mswin32|mingw32/ end def running_on_a_mac? RUBY_PLATFORM =~ /-darwin\d/ end def transcriptic_path ENV['TRANSCRIPTIC_PATH'] || File.expand_path('~/.transcriptic') end def ui @ui ||= Thor::Base.shell.new end def logger Celluloid.logger end def tmp_dir File.join(transcriptic_path, 'tmp') end def mktmpdir FileUtils.mkdir_p(tmp_dir) Dir.mktmpdir(nil, tmp_dir) end end end require 'transcriptic/auth' require 'transcriptic/labfile' require 'transcriptic/project_generator' require 'transcriptic/dependencies_generator' require 'transcriptic/client' require 'transcriptic/sbt' require 'transcriptic/cli'