class GCI::Job::Collection

Public Class Methods

new() click to toggle source
# File lib/gci/job.rb, line 6
def initialize
  @data = []
end

Public Instance Methods

<<(job) click to toggle source
# File lib/gci/job.rb, line 16
def <<(job)
  @data << job

  self
end
[](name) click to toggle source
# File lib/gci/job.rb, line 29
def [](name)
  @data.detect { |job| job.name == name }
end
build(**attrs, &block) click to toggle source
# File lib/gci/job.rb, line 10
def build(**attrs, &block)
  job = Job.new(**attrs, &block)
  @data << job
  job
end
to_h() click to toggle source
# File lib/gci/job.rb, line 22
def to_h
  @data.each_with_object({}) do |job, acc|
    acc.merge!(job.name => job.attributes)
    acc
  end
end