Class: Lapidarist::Gems

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/lapidarist/gems.rb

Instance Method Summary collapse

Constructor Details

#initialize(gems) ⇒ Gems



5
6
7
# File 'lib/lapidarist/gems.rb', line 5

def initialize(gems)
  @gems = gems
end

Instance Method Details

#attemptsObject



39
40
41
# File 'lib/lapidarist/gems.rb', line 39

def attempts
  entries.map(&:latest_attempt_number).compact.max
end

#each(&block) ⇒ Object



9
10
11
# File 'lib/lapidarist/gems.rb', line 9

def each(&block)
  gems.sort_by(&:position).each(&block)
end

#failedObject



29
30
31
# File 'lib/lapidarist/gems.rb', line 29

def failed
  entries.select(&:failed?)
end

#merge(other_gems) ⇒ Object



33
34
35
36
37
# File 'lib/lapidarist/gems.rb', line 33

def merge(other_gems)
  Gems.new(
    Array(other_gems) + entries.select { |gem| !Array(other_gems).map(&:name).include?(gem.name) }
  )
end

#outdatedObject



13
14
15
16
17
18
19
# File 'lib/lapidarist/gems.rb', line 13

def outdated
  entries.select do |gem|
    if (Lapidarist.config.all || gem.dependency?) && gem.outdated?(recursive: Lapidarist.config.recursive)
      gem
    end
  end
end

#skippedObject



25
26
27
# File 'lib/lapidarist/gems.rb', line 25

def skipped
  entries.select(&:skip?)
end

#updatedObject



21
22
23
# File 'lib/lapidarist/gems.rb', line 21

def updated
  entries.select(&:updated?)
end