Class: CircleCI::CLI::Command::BuildRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/circleci/cli/command/watch_command/build_repository.rb

Instance Method Summary collapse

Constructor Details

#initialize(username, reponame, branch: nil, user: nil) ⇒ BuildRepository

Returns a new instance of BuildRepository.



7
8
9
10
11
12
13
14
# File 'lib/circleci/cli/command/watch_command/build_repository.rb', line 7

def initialize(username, reponame, branch: nil, user: nil)
  @username = username
  @user = user
  @reponame = reponame
  @branch = branch
  @builds = Response::Build.all(@username, @reponame)
  @build_numbers_shown = @builds.select(&:finished?).map(&:build_number)
end

Instance Method Details

#build_for(build_number) ⇒ Object



33
34
35
# File 'lib/circleci/cli/command/watch_command/build_repository.rb', line 33

def build_for(build_number)
  @builds.find { |build| build.build_number == build_number }
end

#builds_to_showObject



25
26
27
28
29
30
31
# File 'lib/circleci/cli/command/watch_command/build_repository.rb', line 25

def builds_to_show
  @builds
    .reject { |build| @build_numbers_shown.include?(build.build_number) }
    .select { |build| @branch.nil? || build.branch.to_s == @branch.to_s }
    .select { |build| @user.nil? || build.user.to_s == @user.to_s }
    .sort_by(&:build_number)
end

#mark_as_shown(build_number) ⇒ Object



21
22
23
# File 'lib/circleci/cli/command/watch_command/build_repository.rb', line 21

def mark_as_shown(build_number)
  @build_numbers_shown = (@build_numbers_shown + [build_number]).uniq
end

#updateObject



16
17
18
19
# File 'lib/circleci/cli/command/watch_command/build_repository.rb', line 16

def update
  @builds = (Response::Build.all(@username, @reponame) + @builds)
            .uniq(&:build_number)
end