# frozen_string_literal: true module Wayfarer # @!attribute [r] url # @return [String] the URL to process # @!attribute [r] batch # @return [String] the batch the task belongs to class Task extend Forwardable include Stringify attr_reader :url, :batch stringify :url, :batch delegate %i([] []=) => :@ephemeral # @!visibility private def initialize(url, batch) @url = url @batch = batch @ephemeral = {} end # @!visibility private def ==(other) [url, batch] == [other.url, other.batch] end end end