Module: Minidoc::Counters::ClassMethods

Defined in:
lib/minidoc/counters.rb

Instance Method Summary collapse

Instance Method Details

#counter(field, options = {}) ⇒ Object



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

def counter(field, options = {})
  start = options.fetch(:start, 0)
  step_size = options.fetch(:step_size, 1)

  attribute field, Integer, default: start

  class_eval(<<-EOM)
    def increment_#{field}
      Minidoc::Counters::Incrementor.
        new(self, :#{field}).increment(#{step_size})
    end
  EOM
end