Class: AutoTagger::Git::Ref

Inherits:
Object
  • Object
show all
Defined in:
lib/auto_tagger/git/ref.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repo, sha, name) ⇒ Ref

name is refs/autotags/2009292827



7
8
9
# File 'lib/auto_tagger/git/ref.rb', line 7

def initialize(repo, sha, name)
  @repo, @sha, @name = repo, sha, name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/auto_tagger/git/ref.rb', line 4

def name
  @name
end

#shaObject (readonly)

Returns the value of attribute sha.



4
5
6
# File 'lib/auto_tagger/git/ref.rb', line 4

def sha
  @sha
end

Instance Method Details

#==(other) ⇒ Object



11
12
13
# File 'lib/auto_tagger/git/ref.rb', line 11

def ==(other)
  other.is_a?(self.class) && other.sha == sha && other.name == name
end

#delete_locallyObject



19
20
21
# File 'lib/auto_tagger/git/ref.rb', line 19

def delete_locally
  @repo.exec "update-ref -d #{name}"
end

#delete_on_remote(remote = "origin") ⇒ Object



23
24
25
# File 'lib/auto_tagger/git/ref.rb', line 23

def delete_on_remote(remote = "origin")
  @repo.exec "push #{remote} :#{name}"
end

#saveObject



27
28
29
30
# File 'lib/auto_tagger/git/ref.rb', line 27

def save
  @repo.exec "update-ref #{name} #{sha}"
  self
end

#to_sObject



15
16
17
# File 'lib/auto_tagger/git/ref.rb', line 15

def to_s
  "%s %s" % [sha, name]
end