<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: aggregate code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Thu, 21 Aug 2008 02:26:36 GMT</pubDate>
    <description>DZone Snippets: aggregate code</description>
    <item>
      <title>[ruby] plugin structure</title>
      <link>http://snippets.dzone.com/posts/show/5159</link>
      <description>plugin structure sorta thing. Use inherited to concatenate all plugins to a library in a Plugins constant in said library.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;class Library&lt;br /&gt;  Plugins = []&lt;br /&gt;  &lt;br /&gt;  def initialize#(...)&lt;br /&gt;    Plugins.each do |plugin|&lt;br /&gt;      # Here you can run a certain class method or grab some data from each class&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  # ...&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;class LibraryPlugin&lt;br /&gt;  # ...&lt;br /&gt;  &lt;br /&gt;  def self.inherited(sub); Library::Plugins &lt;&lt; sub; end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;class LibraryFooer &lt; LibraryPlugin&lt;br /&gt;  &lt;br /&gt;end&lt;br /&gt;class LibraryBarer &lt; LibraryPlugin&lt;br /&gt;  &lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Library::Plugins.inspect #=&gt; [LibraryFooer, LibraryBarer]&lt;/code&gt;</description>
      <pubDate>Thu, 21 Feb 2008 06:42:15 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5159</guid>
      <author>elliottcable (elliott cable)</author>
    </item>
  </channel>
</rss>
