Pergunta

Estou tentando incluir um módulo em meu resque worker, mas continuo recebendo este erro -

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

O trabalhador - /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

O 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

Alguma ideia?

Foi útil?

Solução

Você tentou adicionar a extensão ActiveSupport :: Concern ao módulo principal Locomotive desta forma:

module Locomotive
  extend ActiveSupport::Concern
  module Render

    module InstanceMethods

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

Apenas supondo, ... usei a extensão com módulos únicos, mas isso parece lógico para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top