Class: Msf::Util::DocumentGenerator::PullRequestFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/msf/util/document_generator/pull_request_finder.rb

Defined Under Namespace

Classes: Exception

Constant Summary collapse

MANUAL_BASE_PATH =
File.expand_path(File.join(Msf::Config.module_directory, '..', 'documentation', 'modules' ))
USER_MANUAL_BASE_PATH =
File.expand_path(File.join(Msf::Config.user_module_directory, '..', 'documentation', 'modules' ))

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializevoid

Initializes Msf::Util::DocumenGenerator::PullRequestFinder

Raises:



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 35

def initialize
  unless ENV.has_key?('GITHUB_OAUTH_TOKEN')
    msg = ''
    raise PullRequestFinder::Exception, 'GITHUB_OAUTH_TOKEN environment variable not set.'
  end

  require 'octokit'

  self.owner            = 'rapid7'
  self.repository       = "#{owner}/metasploit-framework"
  self.branch           = 'master'
  self.git_access_token = ENV['GITHUB_OAUTH_TOKEN']
  self.git_client       = Octokit::Client.new(access_token: git_access_token)
end

Instance Attribute Details

#branchString

Returns Metasploit Framework’s branch.

Returns:

  • (String)

    Metasploit Framework’s branch



22
23
24
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 22

def branch
  @branch
end

#git_access_tokenString

Returns Git access token.

Returns:

  • (String)

    Git access token



28
29
30
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 28

def git_access_token
  @git_access_token
end

#git_clientOctokit::Client

Returns Git client.

Returns:

  • (Octokit::Client)

    Git client



16
17
18
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 16

def git_client
  @git_client
end

#ownerString

Returns Metasploit Framework’s repository owner.

Returns:

  • (String)

    Metasploit Framework’s repository owner



25
26
27
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 25

def owner
  @owner
end

#repositoryString

Returns Metasploit Framework’s repository.

Returns:

  • (String)

    Metasploit Framework’s repository



19
20
21
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 19

def repository
  @repository
end

Instance Method Details

#search(mod) ⇒ Hash

Returns pull requests associated with a particular Metasploit module.

Parameters:

Returns:

  • (Hash)


55
56
57
58
59
# File 'lib/msf/util/document_generator/pull_request_finder.rb', line 55

def search(mod)
  file_name = get_normalized_module_name(mod)
  commits = get_commits_from_file(file_name)
  get_pull_requests_from_commits(commits)
end