Class: Dandelion::Deployment::Deployment
- Inherits:
-
Object
- Object
- Dandelion::Deployment::Deployment
show all
- Defined in:
- lib/dandelion/deployment.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(repo, backend, options = {}) ⇒ Deployment
Returns a new instance of Deployment.
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/dandelion/deployment.rb', line 19
def initialize(repo, backend, options = {})
@repo = repo
@backend = backend
@options = { :exclude => [], :revision => 'HEAD' }.merge(options)
@tree = Git::Tree.new(@repo, @options[:revision])
if @options[:dry]
def @backend.write(file, data); end
def @backend.delete(file); end
end
end
|
Class Method Details
.create(repo, backend, options) ⇒ Object
Instance Method Details
#local_revision ⇒ Object
32
33
34
|
# File 'lib/dandelion/deployment.rb', line 32
def local_revision
@tree.revision
end
|
#log ⇒ Object
53
54
55
|
# File 'lib/dandelion/deployment.rb', line 53
def log
Dandelion.logger
end
|
#remote_revision ⇒ Object
36
37
38
|
# File 'lib/dandelion/deployment.rb', line 36
def remote_revision
nil
end
|
#validate ⇒ Object
44
45
46
47
48
49
50
51
|
# File 'lib/dandelion/deployment.rb', line 44
def validate
begin
@repo.remote_list.each do |remote|
raise FastForwardError if fast_forwardable(remote)
end
rescue Grit::Git::CommandFailed
end
end
|
#write_revision ⇒ Object
40
41
42
|
# File 'lib/dandelion/deployment.rb', line 40
def write_revision
@backend.write('.revision', local_revision)
end
|