Module: IsSequenced

Defined in:
lib/is_sequenced.rb

Defined Under Namespace

Modules: ChildInstanceMethods

Instance Method Summary collapse

Instance Method Details

#is_sequenced(parent_class_name) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/is_sequenced.rb', line 3

def is_sequenced parent_class_name
  @is_sequenced_parent_name = parent_class_name
  include ChildInstanceMethods

  parent_class = parent_class_name.to_s.classify.constantize
  class_name   = name.underscore

  parent_class.class_eval do
    define_method "increment_#{ class_name }_sequence!" do
      value = send "#{ class_name }_sequence"
      send "#{ class_name }_sequence=", value + 1
      save
    end
  end

end