Class: CodeInclusion::FullListing::GitTag

Inherits:
Object
  • Object
show all
Defined in:
lib/polytexnic/code_inclusion.rb

Overview

Return lines contained in a file that’s tagged in git.

Defined Under Namespace

Classes: GitCmd

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args, git_cmd = self.class.git_cmd) ⇒ GitTag

Returns a new instance of GitTag.



300
301
302
303
304
305
306
307
308
309
310
# File 'lib/polytexnic/code_inclusion.rb', line 300

def initialize(args, git_cmd=self.class.git_cmd)
  @filename   = args[:filename]
  @tag        = args[:git][:tag]
  @repository = args[:git][:repo]

  @git_cmd  = git_cmd

  git_cmd.repository = repository
  git_cmd.tagname    = tag
  git_cmd.filename   = filename
end

Instance Attribute Details

#filenameObject (readonly)

Returns the value of attribute filename.



298
299
300
# File 'lib/polytexnic/code_inclusion.rb', line 298

def filename
  @filename
end

#git_cmdObject (readonly)

Returns the value of attribute git_cmd.



298
299
300
# File 'lib/polytexnic/code_inclusion.rb', line 298

def git_cmd
  @git_cmd
end

#repositoryObject (readonly)

Returns the value of attribute repository.



298
299
300
# File 'lib/polytexnic/code_inclusion.rb', line 298

def repository
  @repository
end

#tagObject (readonly)

Returns the value of attribute tag.



298
299
300
# File 'lib/polytexnic/code_inclusion.rb', line 298

def tag
  @tag
end

Class Method Details

.git_cmdObject



294
295
296
# File 'lib/polytexnic/code_inclusion.rb', line 294

def self.git_cmd
  GitCmd.new
end

Instance Method Details

#linesObject



312
313
314
315
316
317
318
319
320
321
# File 'lib/polytexnic/code_inclusion.rb', line 312

def lines
  ensure_exists!
  result = git_cmd.show

  if git_cmd.succeeded?
    result.split("\n")
  else
    raise(RetrievalException, result)
  end
end