Module: Prick

Defined in:
lib/mikras.rb

Constant Summary collapse

PRICK_FILE =
"prick.yml"
PRICK_STATE_FILE =
".prick.state.yml"
PRICK_ENVIRONMENT_FILE =
"prick.environment.yml"
DIR =
ENV['DIR'] || Find.upfind(scriptdir, PRICK_FILE)
DATABASE =
ENV['PRICK_DATABASE'] || prick_state["database"]
USERNAME =
ENV['PRICK_USERNAME'] || prick_state["username"]
ENVIRONMENT =
ENV['PRICK_ENVIRONMENT'] || prick_state["environment"]
NAME =
ENV['PRICK_NAME'] || prick['name']
SCHEMADIR =

Prick subdirectories - this includes the PRICK_LIBDIR, PRICK_SHAREDIR, and PRICK_FDWDIR directories that are not implemented in Prick. TODO: Separate Prick and Mikras constants

ENV['PRICK_SCHEMADIR'] || "#{DIR}/schema"
MIGRATIONDIR =
ENV['PRICK_MIGRATIONDIR'] || "#{DIR}/migration"
BINDIR =
ENV['PRICK_BINDIR'] || "#{DIR}/bin"
LIBEXECDIR =
ENV['PRICK_LIBEXECDIR'] || "#{DIR}/libexec"
LIBDIR =
ENV['PRICK_LIBDIR'] || "#{DIR}/lib"
VARDIR =
ENV['PRICK_VARDIR'] || "#{DIR}/var"
CACHEDIR =
ENV['PRICK_CACHEDIR'] || "#{VARDIR}/cache"
SPOOLDIR =
ENV['PRICK_SPOOLDIR'] || "#{VARDIR}/spool"
LOGDIR =
ENV['PRICK_LOGDIR'] || "#{VARDIR}/log"
TMPDIR =
ENV['PRICK_TMPDIR'] || "#{DIR}/tmp"
CLONEDIR =
ENV['PRICK_CLONEDIR'] || "#{TMPDIR}/clones"
SPECDIR =
ENV['PRICK_SPECDIR'] || "#{DIR}/spec"
FDWDIR =
ENV['PRICK_FDWDIR'] || "#{DIR}/fdw"

Class Method Summary collapse

Class Method Details

.dumpObject



87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/mikras.rb', line 87

def self.dump
  dumpc %w(name)
  puts
  dumpc %w(prick_file prick_state_file prick_environment_file)
  puts
  dumpc %w(database username environment)
  puts
  dumpc %w(dir)
  puts
  dumpc %w(schemadir migrationdir bindir libexecdir libdir vardir cachedir spooldir logdir tmpdir clonedir specdir)
  puts
end

.dumpc(*consts) ⇒ Object

“Print” a constant



102
103
104
105
106
107
108
109
# File 'lib/mikras.rb', line 102

def self.dumpc(*consts)
  consts = consts.flatten
  for const in consts
    ident = const.upcase
    value = eval(ident)
    puts "#{ident}: #{value.inspect}"
  end
end

.prickObject



46
47
48
49
50
51
# File 'lib/mikras.rb', line 46

def self.prick
  @prick ||= begin
    prick_file_path = File.join(DIR, PRICK_FILE)
    File.exist?(prick_file_path) ? YAML.load(IO.read prick_file_path) : {}
  end
end

.prick_stateObject



39
40
41
42
43
44
# File 'lib/mikras.rb', line 39

def self.prick_state
  @prick_state ||= begin
    state_file_path = File.join(DIR, PRICK_STATE_FILE)
    File.exist?(state_file_path) ? YAML.load(IO.read state_file_path) : {}
  end
end