Rails: helpers de métodos de classe da Lib

Desculpe o título pode não ser muito claro. Basicamente eu tenho um wrapper para a gem Split chamado ABFeature em lib/ab_feature/ab_feature.rb

A meu ver, quero chamar meus ajudantes assim:

ABFeature.current_settings

Mas isso não está funcionando, aqui está o erro que tenho:

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

session é um método do ActionController e parece que não consigo acessá-lo ...

Aqui está o meu 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

Qualquer ideia?, Greg

0

1 Respostas

Não tenho certeza qual deve ser o resultado, mas se você quiser que o método current_settings esteja disponível no controlador, eu acho que você pode fazer

module ABFeature
  include Split::Helper

  def current_settings
  end
end

e depois

class ApplicationController < ActionController::Base
  include ABFeature
end

Eu acho que você costuma chamar helpers como métodos de instância. Então eles devem compartilhar o contexto com o controlador.

0
adicionado