Module: Capistrano::DSL::Paths

Included in:
Capistrano::DSL
Defined in:
lib/capistrano/dsl/paths.rb

Instance Method Summary collapse

Instance Method Details

#asset_timestampObject



71
72
73
# File 'lib/capistrano/dsl/paths.rb', line 71

def asset_timestamp
  env.timestamp.strftime("%Y%m%d%H%M.%S")
end

#current_pathObject



13
14
15
# File 'lib/capistrano/dsl/paths.rb', line 13

def current_path
  deploy_path.join(fetch(:current_directory, "current"))
end

#deploy_config_pathObject



34
35
36
# File 'lib/capistrano/dsl/paths.rb', line 34

def deploy_config_path
  Pathname.new fetch(:deploy_config_path, "config/deploy.rb")
end

#deploy_pathObject



9
10
11
# File 'lib/capistrano/dsl/paths.rb', line 9

def deploy_path
  Pathname.new(deploy_to)
end

#deploy_toObject



5
6
7
# File 'lib/capistrano/dsl/paths.rb', line 5

def deploy_to
  fetch(:deploy_to)
end

#join_paths(parent, paths) ⇒ Object



93
94
95
# File 'lib/capistrano/dsl/paths.rb', line 93

def join_paths(parent, paths)
  paths.map { |path| parent.join(path) }
end

#linked_dir_parents(parent) ⇒ Object



89
90
91
# File 'lib/capistrano/dsl/paths.rb', line 89

def linked_dir_parents(parent)
  map_dirnames(linked_dirs(parent))
end

#linked_dirs(parent) ⇒ Object



75
76
77
78
# File 'lib/capistrano/dsl/paths.rb', line 75

def linked_dirs(parent)
  paths = fetch(:linked_dirs)
  join_paths(parent, paths)
end

#linked_file_dirs(parent) ⇒ Object



85
86
87
# File 'lib/capistrano/dsl/paths.rb', line 85

def linked_file_dirs(parent)
  map_dirnames(linked_files(parent))
end

#linked_files(parent) ⇒ Object



80
81
82
83
# File 'lib/capistrano/dsl/paths.rb', line 80

def linked_files(parent)
  paths = fetch(:linked_files)
  join_paths(parent, paths)
end

#map_dirnames(paths) ⇒ Object



97
98
99
# File 'lib/capistrano/dsl/paths.rb', line 97

def map_dirnames(paths)
  paths.map(&:dirname).uniq
end

#nowObject



67
68
69
# File 'lib/capistrano/dsl/paths.rb', line 67

def now
  env.timestamp.strftime("%Y%m%d%H%M%S")
end

#release_pathObject



21
22
23
# File 'lib/capistrano/dsl/paths.rb', line 21

def release_path
  fetch(:release_path, current_path)
end

#releases_pathObject



17
18
19
# File 'lib/capistrano/dsl/paths.rb', line 17

def releases_path
  deploy_path.join("releases")
end

#repo_pathObject



55
56
57
# File 'lib/capistrano/dsl/paths.rb', line 55

def repo_path
  Pathname.new(fetch(:repo_path, ->() { deploy_path.join("repo") }))
end

#repo_urlObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/capistrano/dsl/paths.rb', line 38

def repo_url
  require "cgi"
  require "uri"
  if fetch(:git_http_username) && fetch(:git_http_password)
    URI.parse(fetch(:repo_url)).tap do |repo_uri|
      repo_uri.user     = fetch(:git_http_username)
      repo_uri.password = CGI.escape(fetch(:git_http_password))
    end.to_s
  elsif fetch(:git_http_username)
    URI.parse(fetch(:repo_url)).tap do |repo_uri|
      repo_uri.user = fetch(:git_http_username)
    end.to_s
  else
    fetch(:repo_url)
  end
end

#revision_logObject



63
64
65
# File 'lib/capistrano/dsl/paths.rb', line 63

def revision_log
  deploy_path.join("revisions.log")
end

#set_release_path(timestamp = now) ⇒ Object



25
26
27
28
# File 'lib/capistrano/dsl/paths.rb', line 25

def set_release_path(timestamp=now)
  set(:release_timestamp, timestamp)
  set(:release_path, releases_path.join(timestamp))
end

#shared_pathObject



59
60
61
# File 'lib/capistrano/dsl/paths.rb', line 59

def shared_path
  deploy_path.join("shared")
end

#stage_config_pathObject



30
31
32
# File 'lib/capistrano/dsl/paths.rb', line 30

def stage_config_path
  Pathname.new fetch(:stage_config_path, "config/deploy")
end