irb/pry から MongoMapper を使うと NameError: uninitialized constant ActiveModel::Serializers::Xml が出るときの対処法
require 'mongo_mapper'
するとあわせてrequire 'active_model'
もされるが、 Rails 5 がインストール済みだと activemodel 5.x を読み込んでしまう- Rails 5 から https://github.com/rails/activemodel-serializers-xml が core から外れた
- という組み合わせで発生する問題なので、
gem 'activemodel', '4.2.9'
で activemodel のバージョンを指定すればよい - ref https://github.com/rails/rails/issues/24558
gem 'activemodel', '4.2.9' require 'active_model' require 'mongo_mapper' MongoMapper.database = 'testing' class Foo include MongoMapper::Document end Foo.destroy_all Foo.create p [Foo.count, 'good']
NameError: uninitialized constant ActiveModel::Serializers::Xml in MongoMapper · GitHub
Ruby で pp の出力の横幅を広げる
PP.pp
の第三引数で横幅を指定できる。
http://rurema.clear-code.com/2.4.0/method/PP/s/pp.html
PP.pp(obj, $>, 200)
Kernel.#pp
は引数をすべて pp してしまうので、この用途には使えない。