我如何访问私有方法

时间:2014-04-23 06:45:28

标签: ruby-on-rails ruby ruby-on-rails-3.1

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

访问私有方法的正确方法是什么?

由于

1 个答案:

答案 0 :(得分:5)

您可以通过Object#send方法对私有方法进行外部访问:

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

但是既然你想在外面访问它,为什么一开始就把它作为私有?