投稿

メソッドの取得の仕方

メソッドの取得の仕方

メソッドの取得の仕方

クラスやモジュールが持つメソッドの一覧を、公開(public)か非公開(private)かで分けて確認したいときに使う。instance_methods(false) は継承元を含まずそのクラス自身が定義した public メソッド、private_instance_methods(false) は同様に private メソッドの一覧を返す。

class publicメソッド

正解

UsersController.instance_methods(false)
=> [:index, :exchange, :logs_external]

class privateメソッド

正解

UsersController.private_instance_methods(false)
=> [:_layout, :not_found_message, :require_signup_form_parameters]

module publicメソッド

正解

UsersController.instance_methods(false)
=> [:select_yet_tweets_by_sorted_maps, :select_favorite_yet_tweets]

module privateメソッド

正解

UsersController.private_instance_methods(false)
=> [:get_histories_map, :get_action_ids_by_sorted_maps, :select_yet_tweets_by_possible_sorted_maps, :get_action_ids_by_grants_map, :get_action_ids_by_errors_map, :select_yet_tweets_by_grants_map, :select_yet_tweets_by_errors_map]

ruby - How to find private singleton methods - Stack Overflow