title: Ruby: Adding things to initialize method through modules
body: <p>In Ruby I want to have a class include a series of modules and have these individual modules execute a block or method (or just find some way to edit an instance variable) when initializing that class.</p>
  <p>I know I can do this by creating a method in the module and then calling it in the class' initialize method, but I want some way to do this by simply including the module and calling one method to execute any code the modules add to initialize, that way I can have a large amount of things included in a class without worrying about adding a line of code in the initialize method for every single module included.</p>
  <p>I've checked out aliasing, super, and related things but haven't gotten anything...</p>
  <p>If it helps to understand what I'm hoping to accomplish here's some pseudocode:</p>
  <pre><code>module Mod1  
      call_this_block_on_initialize { @a.push 4 }  
  end  
    
  module Mod2  
      call_this_block_on_initialize { @a.push 5 }  
  end  
    
  class Test  
      attr_accessor :a  
      include Mod1  
      include Mod2  
    
      def initialize  
        @a = [1, 2, 3]  
        call_those_blocks_set_by_mods  
      end  
  end  
  
  t = Test.new
  t.a # returns [1, 2, 3, 4, 5]
  </code></pre>
  <p>This may be a bit wordy but I think the title sums up what I'm trying to do. Thanks for any help!</p>