Module: LockDiff

Defined in:
lib/lock_diff.rb,
lib/lock_diff/gem.rb,
lib/lock_diff/github.rb,
lib/lock_diff/version.rb,
lib/lock_diff/gem/spec.rb,
lib/lock_diff/diff_info.rb,
lib/lock_diff/gem/package.rb,
lib/lock_diff/gem/ruby_gem.rb,
lib/lock_diff/pull_request.rb,
lib/lock_diff/github/client.rb,
lib/lock_diff/option_parser.rb,
lib/lock_diff/github/content.rb,
lib/lock_diff/github/tag_finder.rb,
lib/lock_diff/github/pr_lockfile.rb,
lib/lock_diff/github/access_token.rb,
lib/lock_diff/github/pull_request.rb,
lib/lock_diff/gem/lockfile_comparator.rb,
lib/lock_diff/gem/ruby_gem_repository.rb,
lib/lock_diff/formatter/github_markdown.rb,
lib/lock_diff/github/github_url_detector.rb,
lib/lock_diff/github/changelog_url_finder.rb,
lib/lock_diff/github/repository_name_detector.rb

Defined Under Namespace

Modules: Formatter, Gem, Github Classes: Config, DiffInfo, OptionParser, PullRequest

Constant Summary collapse

VERSION =
"0.3.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject

Returns the value of attribute config.



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

def config
  @config
end

Class Method Details

.clientObject



19
20
21
# File 'lib/lock_diff.rb', line 19

def client
  config.client_class.client
end

.init!Object



15
16
17
# File 'lib/lock_diff.rb', line 15

def init!
  self.config = Config.new
end

.loggerObject



23
24
25
# File 'lib/lock_diff.rb', line 23

def logger
  config.logger
end

.run(repository:, number:, post_comment: false) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/lock_diff.rb', line 27

def run(repository:, number:, post_comment: false)
  pr = PullRequest.new(repository: repository, number: number)
  lockfile_diff_infos = config.strategy.lock_file_diffs(pr)
  result = config.formatter.format(lockfile_diff_infos)

  if post_comment
    client.add_comment(repository, number, result)
  else
    $stdout.puts result
  end
end

.run_by_latest_tachikoma(repository:, post_comment: false) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/lock_diff.rb', line 39

def run_by_latest_tachikoma(repository:, post_comment: false)
  pr = Github.client.latest_pull_request(repository).
    find { |pull_request| pull_request.head_ref.include?("tachikoma") }
  if pr
    run(repository: repository, number: pr.number, post_comment: post_comment)
  else
    LockDiff.logger.warn("Not found pull request by tachikoma. (Hint: search pull request by whether branch name includes 'tachikoma'")
  end
end