Pregunta

Estoy tratando de incluir un módulo en mi trabajador de resque, pero sigo recibiendo este error -

failed: #<NoMethodError: undefined method `build_page' for RefreshEventCache:Class>

El trabajador - /app/worker/refresh_event_cache.rb

require File.dirname(__FILE__) + '/../../lib/locomotive/render.rb'
class RefreshEventCache
  include Resque::Plugins::UniqueJob
  include Locomotive::Render

  @queue = :events_queue  

  def self.perform(url)  
    build_page(url)
  end  
end

El módulo - /lib/locomotive/render.rb

module Locomotive
  module Render

    extend ActiveSupport::Concern

    module InstanceMethods

      def build_page(full_path)
        Rails.logger.debug "BUILDING PAGE"
      end
    end
  end
 end

Algunas ideas ?

¿Fue útil?

Solución

¿Ha intentado agregar la extensión de activos?

module Locomotive
  extend ActiveSupport::Concern
  module Render

    module InstanceMethods

      def build_page(full_path)
        Rails.logger.debug "BUILDING PAGE"
      end
    end
  end
 end

Solo adivinando, ... he usado la extensión con módulos únicos, pero esto parece ser lógico para mí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top