パルカワ2

最近はFlutterをやっています

前作ったdata printer gem作りなおした。

こういう記事上がっていて実際不便だったので、書きなおした。

スタジオさんも使ってくれてるみたいでありがたい。
こういうスクリプト書いたら

require "ddp"

class TestModule
  def piyo
    # ...
  end
end

dp %w[100 101 102]
dp test: 1000
dp TestModule.method(:instance_method)
dp TestModule.instance_method(:piyo)

こういう感じで出るよ

 $ ruby -Ilib test.rb
Array < Object < BasicObject {
  included_modules:
    Enumerable
    Kernel
  inspect:
    ["100", "101", "102"]
  source_location:
    There is no source_location.
}
Hash < Object < BasicObject {
  included_modules:
    Enumerable
    Kernel
  inspect:
    {:test=>1000}
  source_location:
    There is no source_location.
}
Method < Object < BasicObject {
  included_modules:
    Kernel
  inspect:
    #<Method: Class(Module)#instance_method>
  source_location:
    This is C method.
}
UnboundMethod < Object < BasicObject {
  included_modules:
    Kernel
  inspect:
    #<UnboundMethod: TestModule#piyo>
  source_location:
    ["test.rb", 4]
}

機能は多分ほぼ変わってないけど、コードはめっちゃ変わった。
機能で変わったの、複数のオブジェクトに対応くらいではないか。
inspectは、PPを使ってやろうとしたけど、インデントがめんどくさかったのでやめた。プルリクお待ちしております。

https://github.com/hisaichi5518/ruby-ddp
https://rubygems.org/gems/ddp