1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RubyでPHPのvar_dumpライクな機能を提供するGem『ruby_var_dump』をリリースしました

Last updated at Posted at 2024-05-18

Gem「ruby_var_dump」を作成&リリースしました

RubyでPHPのvar_dumpライクな機能を提供するGem『ruby_var_dump』をリリースしました

RubyGems.org
https://rubygems.org/gems/ruby_var_dump

Github
https://github.com/hirokiyam/ruby_var_dump

特徴

変数をグラフィカルに出力する機能をRubyで実現します。
入れ子構造になっているような変数オブジェクトの内容を詳細に表示するためのGemです。

使い方

Gemfileに以下を追記します。

gem 'ruby_var_dump'

gemをインストールします。

bundle install

使いたいクラスで呼び出す場合

ruby_var_dumpを使いたいクラスに以下を追加して、RubyVarDumpモジュールのメソッドを組み込みます。

require 'ruby_var_dump' #ファイルの先頭に追加

include RubyVarDump # classの先頭に追加

設定の例

以下は ruby_var_dump を使うサンプルのクラスの例です。

require 'ruby_var_dump'

class ExampleClass
  include RubyVarDump

  def demonstrate_dump
    # 変数に値を代入
    my_hash = {key1: "value1", key2: 123}
    my_array = [1, 2, 3, {nested_key: "nested_value"}]

    # vdump というメソッドで実行
    vdump my_hash
    vdump my_array

    # または、エイリアスの vpp というメソッドで実行
    vpp my_hash
    vpp my_array
  end
end

先頭で require 'ruby_var_dump' をして
クラス内部に include RubyVarDump を記述してください。

メソッド名は「vdump」ですがエイリアスの「vpp」でも実行できます。
エイリアスなので挙動は全く同じです。

出力

上記の出力は以下のようになります。

{
  :key1 => "value1",
  :key2 => 123
}
=> nil

[
  1,
  2,
  3,
  {
    :nested_key => "nested_value"
  }
]
=> nil

Railsでの使い方

Railsに組み込む場合は以下のように設定します。

1. イニシャライズ用のファイルを作成

touch config/initializers/setup_ruby_var_dump.rb

config/initializers フォルダに、上記のように任意の名前でファイルを作成します。
上記は touch コマンドで setup_ruby_var_dump.rb という名前のファイルを作成しています。

2. ruby_var_dump をオブジェクトクラスに組み込む

# config/initializers/setup_ruby_var_dump.rb
require 'ruby_var_dump'
Object.include RubyVarDump

上記を記述して ruby_var_dump のモジュールをRubyのオブジェクトクラスに組み込みます。これにより dump メソッドがRailsアプリケーション内でグローバルに使えるようになります。

1 と 2 をワンライナーで行う場合

以下をコマンドラインで実行してください。

echo -e "# config/initializers/setup_ruby_var_dump.rb\nrequire 'ruby_var_dump'\nObject.include RubyVarDump" > config/initializers/setup_ruby_var_dump.rb

メソッドの使い方

出力は「vdump」または「vpp」というメソッドで行います。

実行

vdump "abc"
vpp "abc"

出力

"abc"
=> nil

実行

item = {key1: "value1", key2: 1024, key3: {key4: {key5: "value5", key6: [11,22]}}}
vdump item
vpp item

出力

{
  :key1 => "value1",
  :key2 => 1024,
  :key3 => {
    :key4 => {
      :key5 => "value5",
      :key6 => [
        11,
        22
      ]
    }
  }
}
=> nil

このように配列はハッシュなどのオブジェクトがグラフィカルに出力されます。

バージョン0.1.4でActive Recordの出力に対応しました。
バージョン0.1.5で dump というメソッド名から vdump というメソッド名に変更しました。
バージョン0.1.6で エイリアス vpp を作成しました。「visual pretty print」の略です。

バグ報告などがございましたらお気軽にご連絡いただけますと幸いです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?