class CrawlStation::ScheduleAdapters::DbAdapter

Public Instance Methods

done(item) click to toggle source
# File lib/crawl_station/schedule_adapters/db_adapter.rb, line 31
def done(item)
  return if item.nil?
  schedule.transaction do
    model = schedule.find_by(id: item.id)
    model.done! if item.present?
  end
end
empty?() click to toggle source
# File lib/crawl_station/schedule_adapters/db_adapter.rb, line 19
def empty?
  schedule.waitings.size.zero?
end
failed(item) click to toggle source
# File lib/crawl_station/schedule_adapters/db_adapter.rb, line 23
def failed(item)
  return if item.nil?
  schedule.transaction do
    model = schedule.find_by(id: item.id)
    model.failed! if item.present?
  end
end
pop() click to toggle source
# File lib/crawl_station/schedule_adapters/db_adapter.rb, line 12
def pop
  schedule.transaction do
    model = schedule.waitings.first
    model.progressing!
    model
  end
end
push(item) click to toggle source
# File lib/crawl_station/schedule_adapters/db_adapter.rb, line 4
def push(item)
  item = ParseStruct.new(item) if item.is_a?(Hash)
  schedule.new(
    parser: item.parser,
    namespace: item.namespace,
    link: item.link
  ).save
end

Private Instance Methods

schedule() click to toggle source
# File lib/crawl_station/schedule_adapters/db_adapter.rb, line 41
def schedule
  @_schedule ||= CS::Model::Schedule
end