Class: Linterbot::PullRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/linterbot/pull_request.rb

Defined Under Namespace

Classes: AddedModifiedFiles

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repository, pull_request_number, github_client) ⇒ PullRequest

Returns a new instance of PullRequest.



32
33
34
35
36
# File 'lib/linterbot/pull_request.rb', line 32

def initialize(repository, pull_request_number, github_client)
  @github_client = github_client
  @repository = repository
  @pull_request_number = pull_request_number
end

Instance Attribute Details

#github_clientObject

Returns the value of attribute github_client.



28
29
30
# File 'lib/linterbot/pull_request.rb', line 28

def github_client
  @github_client
end

#pull_request_numberObject

Returns the value of attribute pull_request_number.



30
31
32
# File 'lib/linterbot/pull_request.rb', line 30

def pull_request_number
  @pull_request_number
end

#repositoryObject

Returns the value of attribute repository.



29
30
31
# File 'lib/linterbot/pull_request.rb', line 29

def repository
  @repository
end

Instance Method Details

#added_and_modified_filesObject



38
39
40
# File 'lib/linterbot/pull_request.rb', line 38

def added_and_modified_files
  @added_and_modified_files ||= AddedModifiedFiles.new(files)
end

#commitsObject



46
47
48
# File 'lib/linterbot/pull_request.rb', line 46

def commits
  @commits ||= fetch_pull_request_commits
end

#commits_for_file(filename) ⇒ Object



50
51
52
# File 'lib/linterbot/pull_request.rb', line 50

def commits_for_file(filename)
  commits.select { |commit| commit.files.map(&:filename).include?(filename) }
end

#file_for_filename(filename) ⇒ Object



54
55
56
57
# File 'lib/linterbot/pull_request.rb', line 54

def file_for_filename(filename)
  files.select { |file| file.filename == filename }
    .first
end

#filesObject



42
43
44
# File 'lib/linterbot/pull_request.rb', line 42

def files
  @files ||= fetch_pull_request_files
end

#newest_commitObject



64
65
66
# File 'lib/linterbot/pull_request.rb', line 64

def newest_commit
  commits.first
end

#patch_for_file(filename) ⇒ Object



59
60
61
62
# File 'lib/linterbot/pull_request.rb', line 59

def patch_for_file(filename)
  file = file_for_filename(filename)
  return file.patch if file
end