Module: ActiveRecordAbstractClass

Defined in:
lib/active_record_abstract_class.rb,
lib/active_record_abstract_class/version.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
'0.0.1'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/active_record_abstract_class.rb', line 10

def self.included (base)
  base.module_eval do
    before_save :do_not_persist_abstract_class
  end

  base.extend(ClassMethods)

  base.instance_eval do
    @abstract = true
  end
end

Instance Method Details

#do_not_persist_abstract_classObject



22
23
24
# File 'lib/active_record_abstract_class.rb', line 22

def do_not_persist_abstract_class
  raise "#{self.class.name} is an abstract class and can't be persisted" if self.class.abstract?
end