Sha256: be546c9b6d00cf950b7a1f017c93a29fca74179bf5c45aa4f8d97fe009639e29

Contents?: true

Size: 412 Bytes

Versions: 6

Compression:

Stored size: 412 Bytes

Contents

module GoodJob
  class Performer
    attr_reader :name

    def initialize(target, method_name, name: nil, filter: nil)
      @target = target
      @method_name = method_name
      @name = name
      @filter = filter
    end

    def next
      @target.public_send(@method_name)
    end

    def next?(state = {})
      return true unless @filter.respond_to?(:call)

      @filter.call(state)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
good_job-1.2.4 lib/good_job/performer.rb
good_job-1.2.3 lib/good_job/performer.rb
good_job-1.2.2 lib/good_job/performer.rb
good_job-1.2.1 lib/good_job/performer.rb
good_job-1.2.0 lib/good_job/performer.rb
good_job-1.1.4 lib/good_job/performer.rb