-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
env.rb
74 lines (59 loc) · 1.32 KB
/
env.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
module Capistrano
module DSL
module Env
def configure_backend
env.configure_backend
end
def fetch(key, default=nil, &block)
env.fetch(key, default, &block)
end
def any?(key)
value = fetch(key)
if value && value.respond_to?(:any?)
value.any?
else
!fetch(key).nil?
end
end
def set(key, value)
env.set(key, value)
end
def delete(key)
env.delete(key)
end
def ask(key, value)
env.ask(key, value)
end
def role(name, servers, options={})
env.role(name, servers, options)
end
def server(name, properties={})
env.server(name, properties)
end
def roles(*names)
env.roles_for(names.flatten)
end
def release_roles(*names)
options = { exclude: :no_release }
if names.last.is_a? Hash
names.last.merge(options)
else
names << options
end
roles(*names)
end
def primary(role)
env.primary(role)
end
def env
Configuration.env
end
def release_timestamp
env.timestamp.strftime("%Y%m%d%H%M%S")
end
def asset_timestamp
env.timestamp.strftime("%Y%m%d%H%M.%S")
end
end
end
end