2014-04-23 4 views
0

base.rbКак я могу получить доступ к частному методу

module Search 
    class Base 

    attr_accessor :query_model 
    attr_accessor :result 

    def initialize(query_obj) 
     self.query_model = query_obj 
    end 

    def execute   
    end 

    end 
end 

social_mention.rb

module Search 
    class SocialMention < Base 

    def execute 
     self.result = RestClient.get api_client, :params => query_params 
     parse_result 
    end 

    private 

    def api_client 
     'http://socialmention.com/search' 
    end 
end 

Как я могу получить доступ к api_client метода?

Я следую за этим, но не имел к нему доступа.

Search::SocialMention.new(query).api_client 

Каков правильный способ доступа к частному методу?

Благодаря

ответ

5

Вы могли бы сделать внешний доступ к частным методам с помощью метода Object#send:

Search::SocialMention.new(query).send(:api_client) 

Но так как вы хотите, чтобы получить доступ к нему снаружи, почему вы положили его в качестве частного на первом?

+0

Ох, это здорово, спасибо –

Смежные вопросы