Sha256: 091217928a7b0266fd1ecb8d1d09e12c9f6d14dbeb4291b4e28b4d27d0553808

Contents?: true

Size: 797 Bytes

Versions: 2

Compression:

Stored size: 797 Bytes

Contents

module Auditor
  module ActsAsWidget

    ## Define ModelMethods
    module Base
      def self.included(klass)
        klass.class_eval do
          extend Config
        end
      end
      
      module Config
        def acts_as_widget
        
          # This is where arbitrary code goes that you want to 
          # add to the class that declared "acts_as_widget"
          
          has_many :widgets,  :class_name => 'Auditor::Widget'

          include Auditor::ActsAsWidget::Base::InstanceMethods
        end
      end
      
      module InstanceMethods
        
        def factory_name
          "this is an example instance method"
        end
                
      end # InstanceMethods      
    end

  end
end

::ActiveRecord::Base.send :include, Auditor::ActsAsWidget::Base

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
request-auditor-0.0.3 lib/acts_as_widget/base.rb
request-auditor-0.0.1 lib/acts_as_widget/base.rb