本番環境では以下のようなエラーが出ました。
NoMethodError (undefined method `class_name' for #<Class:0x000000000c6fc208>)
Did you mean? class_eval
ローカルでは実行できたので、検証してみました。
1
2
3
4
5
6
7
8
9
|
[1] pry(main)> user = User.first
User Load (0.6ms) SELECT `users`.* FROM `users` ORDER BY `users`.`id` ASC LIMIT 1
=> #<User id: 1, email: "test@example.com", name: "名前">
[2] pry(main)> user.class
=> User(id: integer, email: string, name: string)
[3] pry(main)> user.class.class_name
=> "User"
[4] pry(main)> user.class.name
=> "User"
|
1
2
3
4
5
6
7
8
9
|
From: /Users/k-end/repository_name/vendor/bundle/ruby/2.7.0/gems/yard-0.9.26/lib/yard/core_ext/module.rb:3:
Owner: Module
Visibility: public
Signature: class_name()
Number of lines: 3
def class_name
name.split("::").last
end
|
class_name
というのは、gem "pry-doc"
に依存しているメソッドのようでした。
確かにデバッグ用メソッドと言われるとそうだなと思いました。
Module#inspect (Ruby 3.0.0 リファレンスマニュアル)
参考