Module: Chaindrive Abstract

Defined in:
lib/chaindrive.rb,
lib/chaindrive/gear.rb,
lib/chaindrive/user.rb,
lib/chaindrive/index.rb,
lib/chaindrive/config.rb,
lib/chaindrive/command.rb,
lib/chaindrive/gearbox.rb,
lib/chaindrive/version.rb,
lib/chaindrive/environment.rb,
lib/chaindrive/command/config.rb,
lib/chaindrive/command/install.rb,
lib/chaindrive/command/upgrade.rb,
lib/chaindrive/gear/provisioner.rb,
lib/chaindrive/gearbox/isolation.rb,
lib/chaindrive/gear/specification.rb,
lib/chaindrive/gearbox/specification.rb

Overview

This module is abstract.

Defined Under Namespace

Modules: Command, Gear, Gearbox Classes: Config, Environment, Index, User

Constant Summary collapse

VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.cacheObject



29
30
31
# File 'lib/chaindrive.rb', line 29

def cache
  File.join(user_path, 'cache')
end

.chaindrive_pathObject



21
22
23
# File 'lib/chaindrive.rb', line 21

def chaindrive_path
  File.join(Dir.home, '.chaindrive')
end

.load(filename = nil) ⇒ Object

Read and evaluate a file from disk to configure.

Parameters:

  • path (String)

    on disk where file is located

Raises:

  • (IOError)


64
65
66
67
68
69
70
71
72
# File 'lib/chaindrive.rb', line 64

def load(filename = nil)
  filename ||= File.join(Chaindrive.path, 'Gearfile')
  raise IOError, "'Gearfile' does not exist!" unless File.exists?(filename)
  begin
    Kernel.load(filename)
  rescue LoadError => e
    logger.error "Failed loading '#{filename}': #{e.message}"
  end
end

.loggerObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/chaindrive.rb', line 41

def logger
  $stdout.sync = true
  @logger ||= Logger.new($stdout).tap do |logger|
    logger.level = Logger::INFO
    logger.formatter = proc do |severity, datetime, progname, msg|
      case severity
      when Logger::ERROR
        return msg.colorize(:magenta)
      when Logger::FATAL
        return msg.colorize(:red)
      when Logger::WARN
        return msg.colorize(:yellow)
      when Logger::INFO
        return msg.colorize(:white)
      end

      msg
    end
  end
end

.rootObject



33
34
35
# File 'lib/chaindrive.rb', line 33

def root
  Dir.pwd
end

.root_configObject



37
38
39
# File 'lib/chaindrive.rb', line 37

def root_config
  File.join(root, '.chaindrive/config.json')
end

.user_configObject



25
26
27
# File 'lib/chaindrive.rb', line 25

def user_config
  File.join(chaindrive_path, 'config.json')
end