<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>morning_reading</author_name>
  <author_url>https://blog.hatena.ne.jp/morning_reading/</author_url>
  <blog_title>毎朝30分読書会</blog_title>
  <blog_url>https://morning-reading.hatenadiary.org/</blog_url>
  <categories>
  </categories>
  <description>第5章、eval を使った実践編。 まずはクラスマクロ attr_checked ではなくカーネルメソッドとして add_checked_attr(klass, meth) のようなメソッドを定義(手順1) eval でべったりとクラスを開いてメソッド定義。これはかなりの力技 すぐに eval を使わずに class_eval と define_method を使った方法に書き替え。(手順2)これ eval を使った方法意味あったのかな。どちらも既に紹介された手法だし。 instance_variable_get/set を使う 属性の検証方法をブロックで受け取るように改造(手順3) カーネル…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmorning-reading.hatenadiary.org%2Fentry%2F20101111%2Fp1&quot; title=&quot;メタプログラミングRuby 第5章 金曜日：コードを記述するコード その3 - 毎朝30分読書会&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url></image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2010-11-11 00:00:00</published>
  <title>メタプログラミングRuby 第5章 金曜日：コードを記述するコード その3</title>
  <type>rich</type>
  <url>https://morning-reading.hatenadiary.org/entry/20101111/p1</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
