class Change < ActiveRecord::Base

# Associations
belongs_to :<%= @user_class %>, :class_name => '<%= @user_class.capitalize %>', :foreign_key => 'created_by_id'

# Validations
validates :model_class_name, :model_id, :property_name, :created_at, :presence => true

def self.get_model_changes(model_class_name, model_id)
        return Change.where("(model_id = ? and model_class_name = ?) or (parent_model_id = ? and parent_model_class_name = ?)", model_id, model_class_name, model_id, model_class_name).order("created_at desc")
end

def full_model_class_name
        return self.model_class_name if self.parent_model_class_name.blank?
        return "#{self.parent_model_class_name}.#{self.model_class_name}"
end

def full_property_name
        return self.property_name if self.parent_model_class_name.blank?
        return "#{self.model_class_name}.#{self.property_name}"
end

end