Extending activerecord base with after_initialize


i am having problems getting after_initialize for activerecord
subclasses. basically, i am trying to use the guid plugin by andy
singleton. i am having problems extending the class to the plugins i
installed, so i figured i will just apply this to all the models in my
project. i trled to add the following to my lib/ folder. my goal is
to extended the activerecord class so that it uses guid everywhere.
but the after_initialize doesn’t seem to be kicking in. i think i m
missing a step in the self.included function, but not sure exactly
what. i tried to use the AR:validation and other classes as
reference, but i couldn’t get it to work. any insight into what i am
doing wrong is greatly appreciated.


=== usesguid.rb ===

require ‘uuidtools’

module ActiveRecord
module Usesguid
def self.included(base) # :nodoc:
base.extend ClassMethods

module ClassMethods
  def after_initialize
    self.id ||= UUID.timestamp_create().to_s.gsub('-','')


ActiveRecord::Base.class_eval do
include ActiveRecord::Usesguid

actually, instead of extending active record, i just wrote an helper
instead by following the instructions here:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs