Class: Piston::Revision

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/piston/revision.rb

Direct Known Subclasses

Git::Commit, Svn::Revision

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repository, revision, recalled_values = {}) ⇒ Revision

Returns a new instance of Revision.



13
14
15
# File 'lib/piston/revision.rb', line 13

def initialize(repository, revision, recalled_values={})
  @repository, @revision, @recalled_values = repository, revision, recalled_values
end

Instance Attribute Details

#dirObject (readonly)

Returns the value of attribute dir.



11
12
13
# File 'lib/piston/revision.rb', line 11

def dir
  @dir
end

#recalled_valuesObject (readonly)

Returns the value of attribute recalled_values.



11
12
13
# File 'lib/piston/revision.rb', line 11

def recalled_values
  @recalled_values
end

#repositoryObject (readonly)

Returns the value of attribute repository.



11
12
13
# File 'lib/piston/revision.rb', line 11

def repository
  @repository
end

#revisionObject (readonly)

Returns the value of attribute revision.



11
12
13
# File 'lib/piston/revision.rb', line 11

def revision
  @revision
end

Class Method Details

.loggerObject



6
7
8
# File 'lib/piston/revision.rb', line 6

def logger
  @@logger ||= Log4r::Logger["handler"]
end

Instance Method Details

#checkout_to(dir) ⇒ Object

Retrieve a copy of this repository into dir.



34
35
36
37
# File 'lib/piston/revision.rb', line 34

def checkout_to(dir)
  logger.debug {"Checking out #{@repository}@#{@revision} into #{dir}"}
  @dir = dir.kind_of?(Pathname) ? dir : Pathname.new(dir)
end

#copy_to(relpath, abspath) ⇒ Object

Copies relpath (relative to ourselves) to abspath (an absolute path).



50
51
# File 'lib/piston/revision.rb', line 50

def copy_to(relpath, abspath)
end

#eachObject

Yields each file of this revision in turn to our caller.



46
47
# File 'lib/piston/revision.rb', line 46

def each
end

#loggerObject



25
26
27
# File 'lib/piston/revision.rb', line 25

def logger
  self.class.logger
end

#nameObject



21
22
23
# File 'lib/piston/revision.rb', line 21

def name
  @revision
end

#remember_valuesObject

What values does this revision want to remember for the future ?



40
41
42
43
# File 'lib/piston/revision.rb', line 40

def remember_values
  logger.debug {"Generating remember values"}
  {}
end

#to_sObject



29
30
31
# File 'lib/piston/revision.rb', line 29

def to_s
  "Piston::Revision(#{@repository.url}@#{@revision})"
end

#urlObject



17
18
19
# File 'lib/piston/revision.rb', line 17

def url
  repository.url
end