Rails: ayudantes de métodos de clase de Lib

Lo siento, el título puede no ser muy claro. Básicamente tengo un envoltorio para la gema Split llamado ABFeature en lib/ab_feature/ab_feature.rb

En mi opinión, quiero poder llamar a mis ayudantes de esta manera:

ABFeature.current_settings

Pero esto no está funcionando, aquí está el error que tengo:

undefined local variable or method `session' for ABFeature:Module

la sesión es un método de ActionController y parece que no puedo acceder a ella ...

Aquí está mi código:

require 'split'

module ABFeature
  class << self
    include Split::Helper

    def current_settings
      ...
    end
  end
end


class ActionController::Base
  ActionController::Base.send :extend, ABFeature
end

¿Alguna idea?, Greg

0

1 Respuestas

No estoy seguro de cuál debería ser el resultado, pero si desea que el método current_settings esté disponible en el controlador, creo que puede hacerlo

module ABFeature
  include Split::Helper

  def current_settings
  end
end

y entonces

class ApplicationController < ActionController::Base
  include ABFeature
end

Creo que usualmente llaman ayudantes como métodos de instancia. Entonces deberían compartir el contexto con el controlador.

0
agregado