Sha256: b67a5c48814f67c39beeae7ce5c189436b9af009c8a39aeb99efd47b2f65688e

Contents?: true

Size: 817 Bytes

Versions: 6

Compression:

Stored size: 817 Bytes

Contents

module Services
  class ReverseMatchService
    include Rails.application.routes.url_helpers

    def initialize(host, port)
      raise ArgumentError if host.empty?
      raise ArgumentError unless port.is_a?(Integer)
      @host = host
      @port = port
    end

    def build_job(type, origin, subject, match_class)
      raise ArgumentError if type.empty? || origin.empty? || subject.empty? || match_class.empty?
      referer = root_url(host: @host, port: @port)
      object = rdf_url(origin, host: @host, port: @port)
      match_classes = Iqvoc::Concept.reverse_match_class_names
      match_class = match_classes[match_class]
      ReverseMatchJob.new(type, match_class, subject, object, referer, origin)
    end

    def add(job)
      Delayed::Job.enqueue(job, queue: 'reverse_matches')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
iqvoc-4.8.2 app/models/services/reverse_match_service.rb
iqvoc-4.8.1 app/models/services/reverse_match_service.rb
iqvoc-4.8.0 app/models/services/reverse_match_service.rb
iqvoc-4.7.0 app/models/services/reverse_match_service.rb
iqvoc-4.6.1 app/models/services/reverse_match_service.rb
iqvoc-4.6.0 app/models/services/reverse_match_service.rb