{"blog_title":"walf443's blog","provider_name":"Hatena Blog","url":"https://walf443.hatenablog.com/entry/20080824/1219581110","width":"100%","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwalf443.hatenablog.com%2Fentry%2F20080824%2F1219581110\" title=\"ClassX::Role::Logger - walf443&#39;s blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"title":"ClassX::Role::Logger","categories":["ruby","classx"],"description":"ClassX\u306a\u30af\u30e9\u30b9\u306b\u3053\u3044\u3064\u3092include\u3057\u3066\u3084\u308b\u3068\u3001\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306elogger\u304cattribute\u3068\u3057\u3066\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002 require 'classx/role/logger' class YourApp include ClassX extends ClassX::Commandable include ClassX::Role::Logger def run self.logger.debug(\"debug!!\") # do something end end \u5225\u306eModule\u3067attribute\u3092\u5b9a\u7fa9\u3057\u3066\u305d\u3044\u3064\u3092ClassX\u306a\u30af\u30e9\u30b9\u306bMixin\u3057\u3066\u3084\u308b\u3068\u3044\u3046\u306e\u306f\u305d\u306e\u30af\u30e9\u30b9\u306e\u2026","blog_url":"https://walf443.hatenablog.com/","published":"2008-08-24 21:31:50","version":"1.0","author_name":"walf443","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/walf443/","type":"rich"}